diff --git a/fluxer_app/src/features/devtools/utils/DesktopTroubleshootingUtils.ts b/fluxer_app/src/features/devtools/utils/DesktopTroubleshootingUtils.ts index f2ff8542d..fbbd998b4 100644 --- a/fluxer_app/src/features/devtools/utils/DesktopTroubleshootingUtils.ts +++ b/fluxer_app/src/features/devtools/utils/DesktopTroubleshootingUtils.ts @@ -55,3 +55,16 @@ export async function setDesktopDisableHardwareAcceleration( return null; } } + +export async function setDesktopDisableModuleUpdates(disable: boolean): Promise { + const electronApi = getElectronAPI(); + if (!electronApi?.setDesktopDisableModuleUpdates) return null; + try { + const next = await electronApi.setDesktopDisableModuleUpdates({disable}); + cachedSettings = next; + return next; + } catch (error) { + logger.error('Failed to update desktop automatic-updates setting', error); + return null; + } +} diff --git a/fluxer_app/src/features/i18n/locales/ar/messages.po b/fluxer_app/src/features/i18n/locales/ar/messages.po index 51aa78b42..9212c0035 100644 --- a/fluxer_app/src/features/i18n/locales/ar/messages.po +++ b/fluxer_app/src/features/i18n/locales/ar/messages.po @@ -1802,6 +1802,14 @@ msgstr "يحتاج {PRODUCT_NAME} إلى إعادة التشغيل لتطبيق msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "يحتاج {PRODUCT_NAME} إلى إعادة التشغيل لتعطيل تسريع الأجهزة في Chromium. لا تستخدم هذا الخيار إلا عند معالجة مشكلات في الرسوميات أو ارتفاع استخدام وحدة معالجة الرسوميات (GPU)." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "يحتاج {PRODUCT_NAME} إلى إعادة التشغيل لبدء تنزيل التحديثات مرة أخرى." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "يحتاج {PRODUCT_NAME} إلى إعادة التشغيل لإيقاف تنزيل التحديثات. قد يتأخر ويتوقف عن العمل مع الخدمة حتى تقوم بإعادة تشغيل التحديثات." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "رصد {productName} هجومًا محتملاً هنا. تم إيقاف msgid "{productName} Staff" msgstr "فريق عمل {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "يتوقف {productName} عن تنزيل التحديثات. قد يتأخر ويتوقف عن العمل مع الخدمة حتى يتم تشغيل التحديثات مرة أخرى. يسري هذا الإجراء في المرة التالية التي يبدأ فيها {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "تعطيل الرسوم المتحركة والانتقالات في ج msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "تعطيل الرسوم المتحركة والانتقالات. يتم التحكم بها حاليًا من خلال إعدادات نظامك." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "تعطيل التحديثات التلقائية" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "تعطيل التحديثات التلقائية؟" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "تعطيل مزايا Premium في الواجهة الخلفية" @@ -13891,6 +13914,11 @@ msgstr "تمكين انتهاء صلاحية المرفقات" msgid "Enable audio" msgstr "تفعيل الصوت" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "تمكين التحديثات التلقائية؟" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "تفعيل ميزة تجريبية" @@ -36678,6 +36706,11 @@ msgstr "سياسات محدّثة" msgid "Updated saved media" msgstr "تم تحديث الوسائط المحفوظة" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "التحديثات" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" 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 49b49a1f9..5ebf59a55 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 @@ -492,6 +492,7 @@ "Tokens", "Tooltips", "Tracking", + "Updates", "Version", "Video", "Videos", @@ -909,6 +910,8 @@ "Device not connected", "Device volume", "Direct connection. Media is encrypted between participants.", + "Disable automatic updates", + "Disable automatic updates?", "Disable direct messages and friend requests", "Disable or delete your account", "Disable translation DOM guard", @@ -945,6 +948,7 @@ "Emails to your current address are not being delivered. Enter a new email and we'll send a code there.", "Emoji and sticker cloning shortcuts", "Empty edit", + "Enable automatic updates?", "Enable camera access to preview cameras and capture devices before choosing one to stream.", "Enable emoji and sticker cloning shortcuts", "Enable previews", @@ -1626,6 +1630,7 @@ "Update {appName} now", "Update {appName} with your package manager, or download the new version.", "Update {productName} to use system-wide shortcuts on Wayland.", + "Updates", "Updates are on their way!", "Updates from this channel will stop arriving here. Messages already delivered stay. You can follow it again from the announcement channel.", "Updating…", @@ -1760,6 +1765,8 @@ "to create a post", "{PAYMENT_PROVIDER_NAME} handles payment securely.", "{PRODUCT_NAME} needs to restart for the title bar change to take effect.", + "{PRODUCT_NAME} needs to restart to start downloading updates again.", + "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on.", "{actor} changed the permission overrides of the announcement channel {channel}", "{actor} changed the permission overrides of the forum channel {channel}", "{actor} changed the permission overrides of the media channel {channel}", @@ -1837,6 +1844,7 @@ "{productName} needs screen recording access. Allow screen recording in your operating system privacy settings and restart the app.", "{productName} recovery kit", "{productName} registered its shortcuts with Hyprland. Bind them in your Hyprland config to use them while {productName} is not focused.", + "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts.", "{productName} wordmark", "{productName} {version} is available. Update it with your package manager, or download the new version.", "{remaining, plural, one {+# more} other {+# more}}", @@ -3287,6 +3295,7 @@ "Tokens", "Tooltips", "Tracking", + "Updates", "Video", "Visionary", "Visionary ({visionaryLifetimeBadgeLabel})", diff --git a/fluxer_app/src/features/i18n/locales/bg/messages.po b/fluxer_app/src/features/i18n/locales/bg/messages.po index 782c8aecb..f85b424e1 100644 --- a/fluxer_app/src/features/i18n/locales/bg/messages.po +++ b/fluxer_app/src/features/i18n/locales/bg/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} трябва да се рестартира, за да в msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} трябва да се рестартира, за да изключи хардуерното ускорение на Chromium. Използвай това само ако отстраняваш графични проблеми или високо натоварване на графичния процесор." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} трябва да се рестартира, за да започне отново изтеглянето на актуализации." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} трябва да се рестартира, за да спре изтеглянето на актуализации. Той може да изостане и да спре да работи с услугата, докато не включите отново актуализациите." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} засече възможна атака тук. Пока msgid "{productName} Staff" msgstr "Екип на {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} спира да изтегля актуализации. Може да изостане и да спре да работи със сървъра, докато актуализациите не бъдат включени отново. Влиза в сила при следващото стартиране на {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Деактивиране на анимациите и преходите msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Деактивиране на анимациите и преходите. В момента се контролира от системната ти настройка." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Деактивиране на автоматични актуализации" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Деактивиране на автоматичните актуализации?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Деактивиране на премиум предимствата от бекенда" @@ -13891,6 +13914,11 @@ msgstr "Активиране на изтичане на прикачени фа msgid "Enable audio" msgstr "Включване на звука" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Разрешаване на автоматични актуализации?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Включване на бета функция" @@ -36678,6 +36706,11 @@ msgstr "Актуализирани правила" msgid "Updated saved media" msgstr "Запазената медия е актуализирана" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Актуализации" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/cs/messages.po b/fluxer_app/src/features/i18n/locales/cs/messages.po index d8a9908d5..91d90942f 100644 --- a/fluxer_app/src/features/i18n/locales/cs/messages.po +++ b/fluxer_app/src/features/i18n/locales/cs/messages.po @@ -1802,6 +1802,14 @@ msgstr "Aby se změna záhlaví okna projevila, je potřeba restartovat aplikaci msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Aplikace {PRODUCT_NAME} se musí restartovat, aby se vypnula hardwarová akcelerace Chromia. Tuto možnost použijte pouze při řešení problémů s grafikou nebo vysokým využitím GPU." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} se musí restartovat, aby mohl znovu začít stahovat aktualizace." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} se musí restartovat, aby se zastavilo stahování aktualizací. Může zaostávat a přestat fungovat se službou, dokud aktualizace znovu nezapnete." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "Aplikace {productName} zde zjistila možný nájezd. Pozvánky jsou poza msgid "{productName} Staff" msgstr "Tým {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} přestane stahovat aktualizace. Může zaostávat a přestat fungovat se službou, dokud se aktualizace znovu nezapnou. Projeví se při příštím spuštění {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Vypnout animace a přechody v celé aplikaci." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Vypnout animace a přechody. Momentálně řízeno nastavením vašeho systému." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Zakázat automatické aktualizace" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Zakázat automatické aktualizace?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Vypnout prémiové výhody na backendu" @@ -13891,6 +13914,11 @@ msgstr "Povolit vypršení platnosti příloh" msgid "Enable audio" msgstr "Zapnout zvuk" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Povolit automatické aktualizace?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Zapnout beta funkci" @@ -36678,6 +36706,11 @@ msgstr "Aktualizované zásady" msgid "Updated saved media" msgstr "Uložená média aktualizována" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Aktualizace" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/da/messages.po b/fluxer_app/src/features/i18n/locales/da/messages.po index da26bbff7..150fe3a54 100644 --- a/fluxer_app/src/features/i18n/locales/da/messages.po +++ b/fluxer_app/src/features/i18n/locales/da/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} skal genstartes, for at ændringen af titellinjen kan tr msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} skal genstartes for at deaktivere Chromiums hardwareacceleration. Brug kun dette, hvis du fejlfinder grafiske fejl eller høj GPU-brug." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} skal genstarte for at kunne downloade opdateringer igen." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} skal genstarte for at stoppe med at downloade opdateringer. Det kan komme bagud og stoppe med at fungere med tjenesten, indtil du slår opdateringer til igen." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} har spottet et muligt raid her. Invitationer er sat på pa msgid "{productName} Staff" msgstr "{productName}-medarbejder" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} stopper med at downloade opdateringer. Det kan komme bagud og holde op med at fungere med tjenesten, indtil opdateringer slås til igen. Træder i kraft næste gang {productName} starter." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Deaktiver animationer og overgange i hele appen." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Deaktiver animationer og overgange. Styres i øjeblikket af dine systemindstillinger." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Deaktiver automatiske opdateringer" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Deaktiver automatisk opdatering?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Deaktiver backend-premiumfordele" @@ -13891,6 +13914,11 @@ msgstr "Aktivér udløb af vedhæftede filer" msgid "Enable audio" msgstr "Slå lyden til" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Aktivér automatiske opdateringer?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Slå betafunktion til" @@ -36678,6 +36706,11 @@ msgstr "Opdaterede politikker" msgid "Updated saved media" msgstr "Gemt medie opdateret" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Opdateringer" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/de/messages.po b/fluxer_app/src/features/i18n/locales/de/messages.po index 00ff8128c..47a1084de 100644 --- a/fluxer_app/src/features/i18n/locales/de/messages.po +++ b/fluxer_app/src/features/i18n/locales/de/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} muss neu gestartet werden, damit die Änderung der Titell msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} muss neu gestartet werden, um die Hardwarebeschleunigung von Chromium zu deaktivieren. Verwende dies nur, wenn du Grafikfehler oder eine hohe GPU-Auslastung beheben möchtest." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} muss neu gestartet werden, um den Download von Updates fortzusetzen." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} muss neu gestartet werden, um den Download von Updates zu stoppen. Es kann veralten und aufhören, mit dem Dienst zu funktionieren, bis du Updates wieder aktivierst." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} hat hier einen möglichen Raid entdeckt. Einladungen sind msgid "{productName} Staff" msgstr "{productName}-Mitarbeiter" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} stoppt das Herunterladen von Updates. Es kann veralten und aufhören, mit dem Dienst zu funktionieren, bis Updates wieder aktiviert werden. Tritt beim nächsten Start von {productName} in Kraft." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Animationen und Übergänge in der App deaktivieren." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Deaktiviert Animationen und Übergänge. Derzeit über deine Systemeinstellungen gesteuert." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Automatische Updates deaktivieren" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Automatische Updates deaktivieren?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Backend-Premiumvorteile deaktivieren" @@ -13891,6 +13914,11 @@ msgstr "Ablauf von Anhängen aktivieren" msgid "Enable audio" msgstr "Audio aktivieren" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Automatische Updates aktivieren?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Beta-Funktion aktivieren" @@ -36678,6 +36706,11 @@ msgstr "Aktualisierte Richtlinien" msgid "Updated saved media" msgstr "Gespeicherte Medien aktualisiert" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Updates" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/el/messages.po b/fluxer_app/src/features/i18n/locales/el/messages.po index 6cc835cca..4f62f38dd 100644 --- a/fluxer_app/src/features/i18n/locales/el/messages.po +++ b/fluxer_app/src/features/i18n/locales/el/messages.po @@ -1802,6 +1802,14 @@ msgstr "Το {PRODUCT_NAME} πρέπει να επανεκκινηθεί για msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Το {PRODUCT_NAME} πρέπει να επανεκκινηθεί για να απενεργοποιηθεί η επιτάχυνση υλικού του Chromium. Χρησιμοποιήστε το μόνο αν αντιμετωπίζετε προβλήματα γραφικών ή υψηλή χρήση GPU." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "Το {PRODUCT_NAME} χρειάζεται επανεκκίνηση για να συνεχίσει τη λήψη ενημερώσεων." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "Το {PRODUCT_NAME} πρέπει να επανεκκινηθεί για να σταματήσει η λήψη ενημερώσεων. Μπορεί να μείνει πίσω και να σταματήσει να λειτουργεί με την υπηρεσία μέχρι να ενεργοποιήσετε ξανά τις ενημερώσεις." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "Το {productName} εντόπισε πιθανή επιδρομή εδώ msgid "{productName} Staff" msgstr "Προσωπικό {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "Το {productName} σταματά τη λήψη ενημερώσεων. Μπορεί να μείνει πίσω και να σταματήσει να λειτουργεί με την υπηρεσία μέχρι να ενεργοποιηθούν ξανά οι ενημερώσεις. Ισχύει την επόμενη φορά που θα ξεκινήσει το {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Απενεργοποίηση κινήσεων και μεταβάσεω msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Απενεργοποίηση κινήσεων και μεταβάσεων. Ελέγχεται αυτήν τη στιγμή από τη ρύθμιση του συστήματός σας." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Απενεργοποίηση αυτόματων ενημερώσεων" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Απενεργοποίηση αυτόματων ενημερώσεων;" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Απενεργοποίηση premium παροχών του backend" @@ -13891,6 +13914,11 @@ msgstr "Ενεργοποίηση λήξης συνημμένων" msgid "Enable audio" msgstr "Ενεργοποίηση ήχου" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Ενεργοποίηση αυτόματων ενημερώσεων;" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Ενεργοποίηση λειτουργίας beta" @@ -36678,6 +36706,11 @@ msgstr "Ενημερωμένες πολιτικές" msgid "Updated saved media" msgstr "Ενημερώθηκαν τα αποθηκευμένα πολυμέσα" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Ενημερώσεις" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" 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 000f3770b..ee7b5bfa9 100644 --- a/fluxer_app/src/features/i18n/locales/en-GB/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-GB/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} needs to restart for the title bar change to take effect. msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} needs to restart to start downloading updates again." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} spotted a possible raid here. Invites are paused — try a msgid "{productName} Staff" msgstr "{productName} Staff" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Disable animations and transitions throughout the app." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Disable animations and transitions. Currently controlled by your system setting." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Disable automatic updates" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Disable automatic updates?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Disable backend premium perks" @@ -13891,6 +13914,11 @@ msgstr "Enable attachment expiration" msgid "Enable audio" msgstr "Enable audio" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Enable automatic updates?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Enable beta feature" @@ -36678,6 +36706,11 @@ msgstr "Updated policies" msgid "Updated saved media" msgstr "Updated saved media" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Updates" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" 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 c9c453c6b..80e4a0521 100644 --- a/fluxer_app/src/features/i18n/locales/en-US/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-US/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} needs to restart for the title bar change to take effect. msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} needs to restart to start downloading updates again." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} spotted a possible raid here. Invites are paused — try a msgid "{productName} Staff" msgstr "{productName} Staff" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Disable animations and transitions throughout the app." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Disable animations and transitions. Currently controlled by your system setting." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Disable automatic updates" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Disable automatic updates?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Disable backend premium perks" @@ -13891,6 +13914,11 @@ msgstr "Enable attachment expiration" msgid "Enable audio" msgstr "Enable audio" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Enable automatic updates?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Enable beta feature" @@ -36678,6 +36706,11 @@ msgstr "Updated policies" msgid "Updated saved media" msgstr "Updated saved media" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Updates" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" 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 4b6400c4d..27fc6db4f 100644 --- a/fluxer_app/src/features/i18n/locales/es-419/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-419/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} necesita reiniciarse para que el cambio en la barra de t msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} debe reiniciarse para deshabilitar la aceleración de hardware de Chromium. Usa esto solo si estás solucionando problemas gráficos o un alto uso de la GPU." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} necesita reiniciarse para volver a descargar actualizaciones." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} necesita reiniciarse para dejar de descargar actualizaciones. Puede quedarse obsoleto y dejar de funcionar con el servicio hasta que vuelvas a activar las actualizaciones." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} detectó un posible ataque aquí. Las invitaciones están msgid "{productName} Staff" msgstr "Personal de {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} deja de descargar actualizaciones. Puede quedarse desactualizado y dejar de funcionar con el servicio hasta que las actualizaciones se vuelvan a activar. Tiene efecto la próxima vez que se inicie {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Desactivar animaciones y transiciones en toda la app." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Desactivar animaciones y transiciones. Actualmente controlado por la configuración de tu sistema." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Desactivar actualizaciones automáticas" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "¿Desactivar actualizaciones automáticas?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Desactivar beneficios premium del backend" @@ -13891,6 +13914,11 @@ msgstr "Habilitar caducidad de archivos adjuntos" msgid "Enable audio" msgstr "Activar audio" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "¿Habilitar actualizaciones automáticas?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Activar función beta" @@ -36678,6 +36706,11 @@ msgstr "Políticas actualizadas" msgid "Updated saved media" msgstr "Contenido multimedia guardado actualizado" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Actualizaciones" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" 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 28b6958f3..4308a4f2c 100644 --- a/fluxer_app/src/features/i18n/locales/es-ES/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-ES/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} necesita reiniciarse para que el cambio en la barra de t msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} necesita reiniciarse para deshabilitar la aceleración de hardware de Chromium. Usa esto solo si estás solucionando problemas gráficos o un alto uso de la GPU." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} necesita reiniciarse para volver a descargar actualizaciones." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} necesita reiniciarse para dejar de descargar actualizaciones. Puede quedarse obsoleto y dejar de funcionar con el servicio hasta que vuelvas a activar las actualizaciones." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} ha detectado un posible ataque aquí. Las invitaciones est msgid "{productName} Staff" msgstr "Personal de {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} deja de descargar actualizaciones. Puede quedarse obsoleto y dejar de funcionar con el servicio hasta que se vuelvan a activar las actualizaciones. Surte efecto la próxima vez que se inicie {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Desactivar animaciones y transiciones en toda la aplicación." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Desactivar animaciones y transiciones. Esta opción está controlada por los ajustes de tu sistema." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Desactivar actualizaciones automáticas" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "¿Desactivar actualizaciones automáticas?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Desactivar ventajas prémium del backend" @@ -13891,6 +13914,11 @@ msgstr "Activar caducidad de archivos adjuntos" msgid "Enable audio" msgstr "Activar audio" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "¿Activar actualizaciones automáticas?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Activar función beta" @@ -36678,6 +36706,11 @@ msgstr "Políticas actualizadas" msgid "Updated saved media" msgstr "Contenido multimedia guardado actualizado" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Actualizaciones" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/fi/messages.po b/fluxer_app/src/features/i18n/locales/fi/messages.po index ffbcf4cb6..311d08ed8 100644 --- a/fluxer_app/src/features/i18n/locales/fi/messages.po +++ b/fluxer_app/src/features/i18n/locales/fi/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} täytyy käynnistää uudelleen, jotta otsikkopalkin muut msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} on käynnistettävä uudelleen, jotta Chromiumin laitteistokiihdytys voidaan poistaa käytöstä. Käytä tätä vain, jos selvität grafiikkaongelmia tai korkeaa GPU:n käyttöastetta." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} täytyy käynnistää uudelleen, jotta päivitysten lataaminen voi jatkua." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} täytyy käynnistyä uudelleen pysäyttääkseen päivitysten lataamisen. Se voi jäädä jälkeen ja lakata toimimasta palvelun kanssa, kunnes otat päivitykset uudelleen käyttöön." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} havaitsi mahdollisen hyökkäyksen täällä. Kutsut on ke msgid "{productName} Staff" msgstr "{productName}-henkilöstö" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} lopettaa päivitysten lataamisen. Se voi jäädä jälkeen ja lakata toimimasta palvelun kanssa, kunnes päivitykset otetaan uudelleen käyttöön. Tulee voimaan seuraavan kerran, kun {productName} käynnistyy." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Poista animaatiot ja siirtymät käytöstä koko sovelluksessa." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Poista animaatiot ja siirtymät käytöstä. Ohjataan tällä hetkellä järjestelmäasetuksistasi." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Poista automaattiset päivitykset käytöstä" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Poistetaanko automaattiset päivitykset?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Poista taustaohjelman premium-edut käytöstä" @@ -13891,6 +13914,11 @@ msgstr "Ota liitteiden vanheneminen käyttöön" msgid "Enable audio" msgstr "Ota ääni käyttöön" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Ota automaattiset päivitykset käyttöön?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Ota beetaominaisuus käyttöön" @@ -36678,6 +36706,11 @@ msgstr "Päivitetyt käytännöt" msgid "Updated saved media" msgstr "Tallennettu media päivitetty" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Päivitykset" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/fr/messages.po b/fluxer_app/src/features/i18n/locales/fr/messages.po index d2a3e2b57..b58bf018b 100644 --- a/fluxer_app/src/features/i18n/locales/fr/messages.po +++ b/fluxer_app/src/features/i18n/locales/fr/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} doit redémarrer pour que la modification de la barre de msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} doit redémarrer pour désactiver l'accélération matérielle de Chromium. N'utilisez cette option que si vous rencontrez des problèmes graphiques ou une utilisation élevée du GPU." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} doit redémarrer pour recommencer à télécharger les mises à jour." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} doit redémarrer pour arrêter le téléchargement des mises à jour. Il pourrait prendre du retard et cesser de fonctionner avec le service jusqu'à ce que vous réactiviez les mises à jour." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} a détecté une attaque potentielle ici. Les invitations s msgid "{productName} Staff" msgstr "Équipe {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} arrête le téléchargement des mises à jour. Il peut prendre du retard et cesser de fonctionner avec le service jusqu'à ce que les mises à jour soient réactivées. Prend effet au prochain démarrage de {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Désactiver les animations et les transitions dans toute l'application." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Désactiver les animations et les transitions. Actuellement contrôlé par les réglages de votre système." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Désactiver les mises à jour automatiques" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Désactiver les mises à jour automatiques ?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Désactiver les avantages premium du backend" @@ -13891,6 +13914,11 @@ msgstr "Activer l'expiration des pièces jointes" msgid "Enable audio" msgstr "Activer l'audio" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Activer les mises à jour automatiques ?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Activer la fonctionnalité bêta" @@ -36678,6 +36706,11 @@ msgstr "Règles mises à jour" msgid "Updated saved media" msgstr "Média enregistré mis à jour" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Mises à jour" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/he/messages.po b/fluxer_app/src/features/i18n/locales/he/messages.po index a3ccd8ff3..67b1b81ce 100644 --- a/fluxer_app/src/features/i18n/locales/he/messages.po +++ b/fluxer_app/src/features/i18n/locales/he/messages.po @@ -1802,6 +1802,14 @@ msgstr "כדי שהשינוי בשורת הכותרת ייכנס לתוקף, י msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "יש להפעיל מחדש את {PRODUCT_NAME} כדי להשבית את האצת החומרה של Chromium. השתמש באפשרות זו רק אם אתה מנסה לפתור תקלות גרפיקה או שימוש גבוה במעבד הגרפי." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} צריך להפעיל מחדש כדי להתחיל להוריד עדכונים שוב." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} צריך להפעיל מחדש כדי להפסיק להוריד עדכונים. הוא עלול לפגר ולהפסיק לעבוד עם השירות עד שתפעיל מחדש את העדכונים." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} זיהה פשיטה אפשרית כאן. ההזמנות מ msgid "{productName} Staff" msgstr "צוות {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} מפסיק להוריד עדכונים. הוא עלול לפגר ולהפסיק לעבוד עם השירות עד שהעדכונים יופעלו מחדש. ייכנס לתוקף בפעם הבאה ש-{productName} יופעל." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "השבתת אנימציות ומעברים בכל האפליקציה." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "השבתת אנימציות ומעברים. נשלט כרגע על ידי הגדרות המערכת שלך." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "בטל עדכונים אוטומטיים" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "בטל עדכונים אוטומטיים?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "השבתת הטבות פרימיום בשרת" @@ -13891,6 +13914,11 @@ msgstr "אפשר תפוגת קבצים מצורפים" msgid "Enable audio" msgstr "הפעלת שמע" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "אפשר עדכונים אוטומטיים?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "הפעלת תכונת בטא" @@ -36678,6 +36706,11 @@ msgstr "מדיניות מעודכנת" msgid "Updated saved media" msgstr "המדיה השמורה עודכנה" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "עדכונים" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/hi/messages.po b/fluxer_app/src/features/i18n/locales/hi/messages.po index 48578f480..704f51afb 100644 --- a/fluxer_app/src/features/i18n/locales/hi/messages.po +++ b/fluxer_app/src/features/i18n/locales/hi/messages.po @@ -1802,6 +1802,14 @@ msgstr "टाइटल बार का बदलाव लागू होन msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "क्रोमियम का हार्डवेयर एक्सीलरेशन बंद करने के लिए {PRODUCT_NAME} को रीस्टार्ट करना होगा। इसे तभी इस्तेमाल करें जब आप ग्राफ़िक्स की गड़बड़ियों या ज़्यादा GPU इस्तेमाल की समस्या सुलझा रहे हों।" +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} को अपडेट फिर से डाउनलोड करना शुरू करने के लिए पुनरारंभ करने की आवश्यकता है।" + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} को अपडेट डाउनलोड करना बंद करने के लिए पुनरारंभ करने की आवश्यकता है। यह पीछे रह सकता है और तब तक सेवा के साथ काम करना बंद कर सकता है जब तक आप अपडेट को वापस चालू नहीं कर देते।" + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} को यहाँ संभावित रेड का msgid "{productName} Staff" msgstr "{productName} स्टाफ़" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} अपडेट डाउनलोड करना बंद कर देगा। यह पीछे रह सकता है और अपडेट चालू होने तक सेवा के साथ काम करना बंद कर सकता है। यह अगली बार {productName} शुरू होने पर प्रभावी होगा।" + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "पूरे ऐप में एनिमेशन और ट्रा msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "एनिमेशन और ट्रांज़िशन बंद करें। यह अभी आपकी सिस्टम सेटिंग से कंट्रोल होता है।" +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "स्वचालित अपडेट बंद करें" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "क्या आप स्वचालित अपडेट बंद करना चाहते हैं?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "बैकएंड प्रीमियम पर्क बंद करें" @@ -13891,6 +13914,11 @@ msgstr "अटैचमेंट की समाप्ति चालू क msgid "Enable audio" msgstr "ऑडियो चालू करें" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "स्वचालित अपडेट सक्षम करें?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "बीटा सुविधा चालू करें" @@ -36678,6 +36706,11 @@ msgstr "अपडेट की गई नीतियाँ" msgid "Updated saved media" msgstr "सेव किया गया मीडिया अपडेट किया गया" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "अपडेट" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/hr/messages.po b/fluxer_app/src/features/i18n/locales/hr/messages.po index 2e410e461..a15126656 100644 --- a/fluxer_app/src/features/i18n/locales/hr/messages.po +++ b/fluxer_app/src/features/i18n/locales/hr/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} se mora ponovno pokrenuti kako bi promjena naslovne trake msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} se mora ponovno pokrenuti kako bi se onemogućilo hardversko ubrzanje Chromiuma. Koristite ovo samo ako rješavate probleme s grafičkim smetnjama ili visokom upotrebom GPU-a." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} se mora ponovno pokrenuti kako bi ponovno počeo preuzimati ažuriranja." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} se mora ponovno pokrenuti kako bi prestao preuzimati ažuriranja. Može zaostati i prestati raditi sa servisom dok ponovno ne uključite ažuriranja." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} je ovdje uočio mogući napad. Pozivnice su pauzirane. Pok msgid "{productName} Staff" msgstr "Osoblje {productName}a" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} prestaje preuzimati ažuriranja. Može zaostati i prestati raditi s uslugom dok se ažuriranja ponovno ne uključe. Stupa na snagu sljedeći put kada se {productName} pokrene." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Onemogućite animacije i prijelaze u cijeloj aplikaciji." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Onemogućite animacije i prijelaze. Trenutačno kontrolirano postavkama sustava." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Onemogući automatska ažuriranja" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Onemogući automatska ažuriranja?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Onemogući pozadinske premium pogodnosti" @@ -13891,6 +13914,11 @@ msgstr "Omogući istek privitaka" msgid "Enable audio" msgstr "Omogući zvuk" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Omogući automatska ažuriranja?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Omogući beta značajku" @@ -36678,6 +36706,11 @@ msgstr "Ažurirana pravila" msgid "Updated saved media" msgstr "Ažurirani spremljeni mediji" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Ažuriranja" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/hu/messages.po b/fluxer_app/src/features/i18n/locales/hu/messages.po index 63ad77469..a3ee27772 100644 --- a/fluxer_app/src/features/i18n/locales/hu/messages.po +++ b/fluxer_app/src/features/i18n/locales/hu/messages.po @@ -1802,6 +1802,14 @@ msgstr "A címsor módosításának érvénybe lépéséhez újra kell indítani msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "A(z) {PRODUCT_NAME} újraindítása szükséges a Chromium hardveres gyorsításának kikapcsolásához. Ezt csak akkor használd, ha grafikai hibákat vagy magas GPU-használatot észlelsz." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "A(z) {PRODUCT_NAME} újraindításra szorul, hogy újra elkezdhesse a frissítések letöltését." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "A(z) {PRODUCT_NAME} újraindításra szorul a frissítések letöltésének leállításához. Lehet, hogy lemarad, és leáll a szolgáltatással való együttműködés, amíg újra be nem kapcsolja a frissítéseket." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "A(z) {productName} lehetséges összehangolt támadást észlelt itt. A msgid "{productName} Staff" msgstr "{productName} munkatárs" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "A(z) {productName} leállítja a frissítések letöltését. Lehet, hogy elavul, és nem fog működni a szolgáltatással, amíg a frissítések újra engedélyezve nem lesznek. A következő indításkor lép életbe a(z) {productName} esetében." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Animációk és átmenetek kikapcsolása az alkalmazásban." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Animációk és átmenetek letiltása. Jelenleg a rendszerbeállítások vezérlik." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Automatikus frissítések letiltása" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Automatikus frissítések letiltása?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Prémiumelőnyök letiltása a szerveren" @@ -13891,6 +13914,11 @@ msgstr "Mellékletek lejáratának engedélyezése" msgid "Enable audio" msgstr "Hang engedélyezése" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Automatikus frissítések engedélyezése?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Bétafunkció engedélyezése" @@ -36678,6 +36706,11 @@ msgstr "Frissített szabályzatok" msgid "Updated saved media" msgstr "Mentett média frissítve" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Frissítések" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/id/messages.po b/fluxer_app/src/features/i18n/locales/id/messages.po index 3223d4b43..2cdd948a1 100644 --- a/fluxer_app/src/features/i18n/locales/id/messages.po +++ b/fluxer_app/src/features/i18n/locales/id/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} perlu dimulai ulang agar perubahan bilah judul berlaku." msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} perlu dimulai ulang untuk menonaktifkan akselerasi perangkat keras Chromium. Gunakan ini hanya jika kamu sedang mengatasi gangguan grafis atau penggunaan GPU yang tinggi." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} perlu memulai ulang untuk kembali mengunduh pembaruan." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} perlu memulai ulang untuk berhenti mengunduh pembaruan. Aplikasi bisa tertinggal dan berhenti berfungsi dengan layanan sampai Anda mengaktifkan kembali pembaruan." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} mendeteksi kemungkinan serangan di sini. Undangan dijeda. msgid "{productName} Staff" msgstr "Staf {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} berhenti mengunduh pembaruan. Ini bisa tertinggal dan berhenti berfungsi dengan layanan sampai pembaruan diaktifkan kembali. Berlaku saat {productName} berikutnya dimulai." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Nonaktifkan animasi dan transisi di seluruh aplikasi." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Nonaktifkan animasi dan transisi. Saat ini mengikuti pengaturan sistemmu." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Nonaktifkan pembaruan otomatis" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Nonaktifkan pembaruan otomatis?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Nonaktifkan keuntungan premium backend" @@ -13891,6 +13914,11 @@ msgstr "Aktifkan kedaluwarsa lampiran" msgid "Enable audio" msgstr "Aktifkan audio" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Aktifkan pembaruan otomatis?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Aktifkan fitur beta" @@ -36678,6 +36706,11 @@ msgstr "Kebijakan yang diperbarui" msgid "Updated saved media" msgstr "Media tersimpan diperbarui" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Pembaruan" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/it/messages.po b/fluxer_app/src/features/i18n/locales/it/messages.po index dc03fdc74..30ef0f60a 100644 --- a/fluxer_app/src/features/i18n/locales/it/messages.po +++ b/fluxer_app/src/features/i18n/locales/it/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} deve riavviarsi affinché la modifica della barra del tit msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} deve riavviarsi per disabilitare l'accelerazione hardware di Chromium. Usalo solo se stai risolvendo problemi grafici o un elevato utilizzo della GPU." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} deve riavviarsi per ricominciare a scaricare gli aggiornamenti." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} deve riavviarsi per interrompere il download degli aggiornamenti. Potrebbe rimanere indietro e smettere di funzionare con il servizio finché non riattiverai gli aggiornamenti." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} ha rilevato un possibile raid. Gli inviti sono in pausa, r msgid "{productName} Staff" msgstr "Staff di {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} interrompe il download degli aggiornamenti. Potrebbe rimanere indietro e smettere di funzionare con il servizio finché gli aggiornamenti non verranno riattivati. Ha effetto al prossimo avvio di {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Disattiva animazioni e transizioni in tutta l'app." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Disattiva animazioni e transizioni. Attualmente controllato dalle impostazioni di sistema." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Disabilita aggiornamenti automatici" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Disabilitare gli aggiornamenti automatici?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Disabilita i vantaggi premium del backend" @@ -13891,6 +13914,11 @@ msgstr "Abilita scadenza allegati" msgid "Enable audio" msgstr "Abilita audio" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Abilitare gli aggiornamenti automatici?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Abilita funzione beta" @@ -36678,6 +36706,11 @@ msgstr "Norme aggiornate" msgid "Updated saved media" msgstr "Media salvati aggiornati" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Aggiornamenti" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/ja/messages.po b/fluxer_app/src/features/i18n/locales/ja/messages.po index f49f8540e..9f6868a30 100644 --- a/fluxer_app/src/features/i18n/locales/ja/messages.po +++ b/fluxer_app/src/features/i18n/locales/ja/messages.po @@ -1802,6 +1802,14 @@ msgstr "タイトルバーの変更を反映するには、{PRODUCT_NAME}を再 msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Chromiumのハードウェアアクセラレーションを無効にするには、{PRODUCT_NAME}を再起動する必要があります。この設定は、グラフィックの不具合やGPU使用率の高さをトラブルシューティングする場合にのみ使用してください。" +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} で再度アップデートのダウンロードを開始するには、再起動が必要です。" + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} はアップデートのダウンロードを停止するために再起動が必要です。遅延すると、サービスで動作しなくなる可能性があります。アップデートを再度有効にするまで、そのままになります。" + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName}がここでレイドの可能性を検出しました。 msgid "{productName} Staff" msgstr "{productName}スタッフ" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} によるアップデートのダウンロードを停止します。これにより、バージョンが古くなり、アップデートが再度有効になるまでサービスで動作しなくなる可能性があります。次回 {productName} を起動したときに有効になります。" + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "アプリ全体のアニメーションと画面遷移を無効にしま msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "アニメーションと画面遷移を無効にします。現在はシステム設定によって制御されています。" +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "自動アップデートを無効にする" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "自動更新を無効にしますか?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "バックエンドのプレミアム特典を無効にする" @@ -13891,6 +13914,11 @@ msgstr "添付ファイルの有効期限を有効にする" msgid "Enable audio" msgstr "音声の再生を許可" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "自動アップデートを有効にしますか?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "ベータ機能を有効にする" @@ -36678,6 +36706,11 @@ msgstr "ポリシーを更新しました" msgid "Updated saved media" msgstr "保存済みメディアを更新しました" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "アップデート" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/ko/messages.po b/fluxer_app/src/features/i18n/locales/ko/messages.po index df3823558..7166c3893 100644 --- a/fluxer_app/src/features/i18n/locales/ko/messages.po +++ b/fluxer_app/src/features/i18n/locales/ko/messages.po @@ -1802,6 +1802,14 @@ msgstr "제목 표시줄 변경 사항을 적용하려면 {PRODUCT_NAME}을(를) msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Chromium의 하드웨어 가속을 비활성화하려면 {PRODUCT_NAME}을(를) 다시 시작해야 합니다. 그래픽 오류나 GPU 사용량이 높은 문제를 해결할 때만 사용하세요." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME}에서 업데이트 다운로드를 다시 시작하려면 다시 시작해야 합니다." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME}에서 업데이트 다운로드를 중지하려면 다시 시작해야 합니다. 업데이트가 뒤처지면 서비스 작동이 중지될 수 있습니다." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName}에서 잠재적인 레이드를 감지했습니다. 초대 msgid "{productName} Staff" msgstr "{productName} 직원" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName}에서 업데이트 다운로드를 중지합니다. 이렇게 하면 서비스와 호환되지 않을 수 있으며, 업데이트를 다시 켜기 전까지 작동이 중지될 수 있습니다. 이 설정은 다음에 {productName}을(를) 시작할 때 적용됩니다." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "앱 전체의 애니메이션과 화면 전환 효과를 끕니다." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "애니메이션 및 전환 효과를 사용 중지합니다. 현재 시스템 설정에 따라 제어됩니다." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "자동 업데이트 사용 안 함" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "자동 업데이트를 비활성화하시겠어요?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "백엔드 프리미엄 혜택 비활성화" @@ -13891,6 +13914,11 @@ msgstr "첨부 파일 만료 사용 설정" msgid "Enable audio" msgstr "오디오 활성화" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "자동 업데이트를 사용하시겠어요?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "베타 기능 활성화" @@ -36678,6 +36706,11 @@ msgstr "업데이트된 정책" msgid "Updated saved media" msgstr "저장된 미디어 업데이트됨" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "업데이트" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/lt/messages.po b/fluxer_app/src/features/i18n/locales/lt/messages.po index 083a4e9e9..22e8c3a4f 100644 --- a/fluxer_app/src/features/i18n/locales/lt/messages.po +++ b/fluxer_app/src/features/i18n/locales/lt/messages.po @@ -1802,6 +1802,14 @@ msgstr "Kad pavadinimo juostos pakeitimas įsigaliotų, {PRODUCT_NAME} reikia pa msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} reikia paleisti iš naujo, kad būtų išjungtas „Chromium“ aparatinės įrangos spartinimas. Naudokite tai tik tada, kai sprendžiate grafikos trikdžių arba didelio GPU naudojimo problemas." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} turi iš naujo paleisti, kad vėl pradėtųsi naujinių siuntimas." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} turi persikrauti, kad nustotų siųstis naujinius. Jis gali atsilikti ir nustoti veikti su tarnyba, kol vėl įjungsite naujinius." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} aptiko galimą ataką. Kvietimai pristabdyti, bandykite da msgid "{productName} Staff" msgstr "{productName} darbuotojas" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} nustos siųstis naujinius. Jis gali atsilikti ir nustoti veikti su tarnyba, kol naujiniai vėl bus įjungti. Įsigalios kitą kartą paleidus {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Išjungti animacijas ir perėjimus visoje programėlėje." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Išjungti animacijas ir perėjimus. Šiuo metu valdoma jūsų sistemos nustatymų." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Išjungti automatinį naujinimą" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Išjungti automatinį naujinimą?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Išjungti premium privilegijas serveryje" @@ -13891,6 +13914,11 @@ msgstr "Įjungti priedų galiojimo pabaigą" msgid "Enable audio" msgstr "Įjungti garsą" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Įjungti automatinį naujinimą?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Įjungti beta funkciją" @@ -36679,6 +36707,11 @@ msgstr "Atnaujintos taisyklės" msgid "Updated saved media" msgstr "Išsaugota medija atnaujinta" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Naujinimai" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/nl/messages.po b/fluxer_app/src/features/i18n/locales/nl/messages.po index 8c7183fde..55d40f084 100644 --- a/fluxer_app/src/features/i18n/locales/nl/messages.po +++ b/fluxer_app/src/features/i18n/locales/nl/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} moet opnieuw worden opgestart om de wijziging van de tite msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} moet opnieuw worden opgestart om de hardwareversnelling van Chromium uit te schakelen. Gebruik dit alleen als je problemen met de grafische weergave of een hoog GPU-gebruik oplost." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} moet opnieuw opstarten om weer updates te kunnen downloaden." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} moet opnieuw worden opgestart om het downloaden van updates te stoppen. Het kan achterlopen en stoppen met werken met de service totdat je updates weer inschakelt." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} heeft hier een mogelijke raid gedetecteerd. Uitnodigingen msgid "{productName} Staff" msgstr "{productName}-medewerker" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} stopt met het downloaden van updates. Het kan achterop raken en stoppen met werken met de service totdat updates weer zijn ingeschakeld. Gaat in de volgende keer dat {productName} start." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Schakel animaties en overgangen in de hele app uit." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Schakel animaties en overgangen uit. Dit wordt momenteel beheerd via je systeeminstellingen." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Automatische updates uitschakelen" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Automatische updates uitschakelen?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Premium-voordelen op de backend uitschakelen" @@ -13891,6 +13914,11 @@ msgstr "Vervallen van bijlagen inschakelen" msgid "Enable audio" msgstr "Audio inschakelen" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Automatisch bijwerken inschakelen?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Bètafunctie inschakelen" @@ -36678,6 +36706,11 @@ msgstr "Beleid bijgewerkt" msgid "Updated saved media" msgstr "Opgeslagen media bijgewerkt" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Updates" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/no/messages.po b/fluxer_app/src/features/i18n/locales/no/messages.po index cf1b2ccbd..0e8bc6e58 100644 --- a/fluxer_app/src/features/i18n/locales/no/messages.po +++ b/fluxer_app/src/features/i18n/locales/no/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} må starte på nytt for at endringen i tittellinjen skal msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} må starte på nytt for å deaktivere Chromiums maskinvareakselerasjon. Bruk dette kun hvis du feilsøker grafikkfeil eller høy GPU-bruk." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} må starte på nytt for å begynne å laste ned oppdateringer igjen." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} må starte på nytt for å stoppe nedlasting av oppdateringer. Det kan falle bak og slutte å fungere med tjenesten til du slår på oppdateringer igjen." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} har oppdaget et mulig raid her. Invitasjoner er satt på p msgid "{productName} Staff" msgstr "{productName}-ansatt" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} slutter å laste ned oppdateringer. Det kan falle bak og slutte å fungere med tjenesten inntil oppdateringer slås på igjen. Trer i kraft neste gang {productName} starter." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Deaktiver animasjoner og overganger i hele appen." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Deaktiver animasjoner og overganger. Kontrolleres for øyeblikket av systeminnstillingene dine." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Deaktiver automatiske oppdateringer" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Deaktiver automatiske oppdateringer?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Deaktiver premiumfordeler på serversiden" @@ -13891,6 +13914,11 @@ msgstr "Aktiver utløp for vedlegg" msgid "Enable audio" msgstr "Aktiver lyd" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Aktiver automatiske oppdateringer?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Aktiver betafunksjon" @@ -36678,6 +36706,11 @@ msgstr "Oppdaterte retningslinjer" msgid "Updated saved media" msgstr "Lagrede medier er oppdatert" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Oppdateringer" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/pl/messages.po b/fluxer_app/src/features/i18n/locales/pl/messages.po index 661a0a662..d0b549c6f 100644 --- a/fluxer_app/src/features/i18n/locales/pl/messages.po +++ b/fluxer_app/src/features/i18n/locales/pl/messages.po @@ -1802,6 +1802,14 @@ msgstr "Uruchom ponownie aplikację {PRODUCT_NAME}, aby zastosować zmianę pask msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Uruchom ponownie aplikację {PRODUCT_NAME}, aby wyłączyć przyspieszenie sprzętowe Chromium. Używaj tej opcji tylko przy rozwiązywaniu problemów z grafiką lub wysokim obciążeniem GPU." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} musi zostać ponownie uruchomiony, aby ponownie rozpocząć pobieranie aktualizacji." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} musi zostać ponownie uruchomiony, aby zatrzymać pobieranie aktualizacji. Może to spowodować opóźnienia i zatrzymanie działania usługi, dopóki ponownie nie włączysz aktualizacji." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "Aplikacja {productName} wykryła tu potencjalny nalot. Zaproszenia są w msgid "{productName} Staff" msgstr "Pracownik {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} przestanie pobierać aktualizacje. Może to spowodować, że przestanie działać z usługą, dopóki aktualizacje nie zostaną ponownie włączone. Zmiany zaczną obowiązywać przy następnym uruchomieniu {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Wyłącz animacje i przejścia w całej aplikacji." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Wyłącz animacje i przejścia. Obecnie sterowane ustawieniami systemowymi." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Wyłącz automatyczne aktualizacje" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Wyłączyć automatyczne aktualizacje?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Wyłącz korzyści Premium po stronie serwera" @@ -13891,6 +13914,11 @@ msgstr "Włącz wygasanie załączników" msgid "Enable audio" msgstr "Włącz dźwięk" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Włączyć automatyczne aktualizacje?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Włącz funkcję beta" @@ -36678,6 +36706,11 @@ msgstr "Zaktualizowane zasady" msgid "Updated saved media" msgstr "Zaktualizowano zapisane multimedia" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Aktualizacje" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" 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 0e421ef56..d7d17a529 100644 --- a/fluxer_app/src/features/i18n/locales/pt-BR/messages.po +++ b/fluxer_app/src/features/i18n/locales/pt-BR/messages.po @@ -1802,6 +1802,14 @@ msgstr "O {PRODUCT_NAME} precisa reiniciar para que a alteração na barra de t msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "O {PRODUCT_NAME} precisa reiniciar para desativar a aceleração de hardware do Chromium. Use isso apenas se você estiver solucionando problemas gráficos ou alto uso da GPU." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "O {PRODUCT_NAME} precisa reiniciar para voltar a baixar atualizações." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "O {PRODUCT_NAME} precisa reiniciar para parar de baixar atualizações. Ele pode ficar desatualizado e parar de funcionar com o serviço até que você reative as atualizações." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "O {productName} detectou um possível ataque aqui. Os convites estão pa msgid "{productName} Staff" msgstr "Equipe {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "O {productName} para de baixar atualizações. Ele pode ficar desatualizado e parar de funcionar com o serviço até que as atualizações sejam reativadas. Entra em vigor na próxima vez que o {productName} for iniciado." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Desativar animações e transições em todo o app." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Desativar animações e transições. Atualmente controlado pelas configurações do seu sistema." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Desativar atualizações automáticas" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Desativar atualizações automáticas?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Desativar benefícios premium do back-end" @@ -13891,6 +13914,11 @@ msgstr "Ativar expiração de anexos" msgid "Enable audio" msgstr "Ativar áudio" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Ativar atualizações automáticas?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Ativar recurso beta" @@ -36678,6 +36706,11 @@ msgstr "Políticas atualizadas" msgid "Updated saved media" msgstr "Mídia salva atualizada" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Atualizações" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/ro/messages.po b/fluxer_app/src/features/i18n/locales/ro/messages.po index 4db370677..18dd335b3 100644 --- a/fluxer_app/src/features/i18n/locales/ro/messages.po +++ b/fluxer_app/src/features/i18n/locales/ro/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} trebuie să repornească pentru ca modificarea barei de t msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} trebuie să repornească pentru a dezactiva accelerarea hardware a Chromium. Folosește această opțiune doar dacă depanezi erori grafice sau o utilizare ridicată a GPU-ului." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} trebuie repornit pentru a începe din nou descărcarea actualizărilor." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} trebuie repornit pentru a opri descărcarea actualizărilor. Poate rămâne în urmă și nu va mai funcționa cu serviciul până când nu vei reactiva actualizările." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} a detectat un posibil raid aici. Invitațiile sunt întrer msgid "{productName} Staff" msgstr "Echipa {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} nu va mai descărca actualizări. Poate rămâne în urmă și nu va mai funcționa cu serviciul până când actualizările nu vor fi reactivate. Efectul se va aplica la următoarea pornire a {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Dezactivează animațiile și tranzițiile în toată aplicația." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Dezactivează animațiile și tranzițiile. Controlate în prezent de setările sistemului tău." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Dezactivează actualizările automate" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Dezactivezi actualizările automate?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Dezactivează beneficiile premium de backend" @@ -13891,6 +13914,11 @@ msgstr "Activare expirare atașamente" msgid "Enable audio" msgstr "Activează sunetul" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Activezi actualizările automate?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Activează funcția beta" @@ -36678,6 +36706,11 @@ msgstr "Politici actualizate" msgid "Updated saved media" msgstr "Media salvată a fost actualizată" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Actualizări" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/ru/messages.po b/fluxer_app/src/features/i18n/locales/ru/messages.po index 859c70c97..e355e82e3 100644 --- a/fluxer_app/src/features/i18n/locales/ru/messages.po +++ b/fluxer_app/src/features/i18n/locales/ru/messages.po @@ -1802,6 +1802,14 @@ msgstr "Чтобы изменения в строке заголовка вст msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} нужно перезапустить, чтобы отключить аппаратное ускорение Chromium. Используйте это, только если устраняете графические сбои или высокую нагрузку на GPU." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} нужно перезапустить, чтобы снова начать загрузку обновлений." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} нужно перезапустить, чтобы прекратить загрузку обновлений. Он может отстать и перестать работать с сервисом, пока вы снова не включите обновления." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} заметил здесь возможный рейд. П msgid "{productName} Staff" msgstr "Сотрудник {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} перестанет загружать обновления. Он может отстать и перестать работать с сервисом, пока обновления не будут снова включены. Вступает в силу при следующем запуске {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Отключить анимации и переходы во всём п msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Отключить анимации и переходы. Сейчас управляется настройками системы." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Отключить автоматические обновления" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Отключить автоматические обновления?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Отключить привилегии Premium на сервере" @@ -13891,6 +13914,11 @@ msgstr "Включить срок действия вложений" msgid "Enable audio" msgstr "Включить звук" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Включить автоматические обновления?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Включить бета-функцию" @@ -36678,6 +36706,11 @@ msgstr "Обновлённые правила" msgid "Updated saved media" msgstr "Сохраненные медиа обновлены" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Обновления" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" 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 d61a6659c..74a647011 100644 --- a/fluxer_app/src/features/i18n/locales/sv-SE/messages.po +++ b/fluxer_app/src/features/i18n/locales/sv-SE/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} behöver startas om för att ändringen av namnlisten ska msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} måste startas om för att inaktivera Chromiums hårdvaruacceleration. Använd detta endast om du felsöker grafikproblem eller hög GPU-användning." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} behöver startas om för att kunna börja ladda ner uppdateringar igen." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} behöver startas om för att sluta ladda ner uppdateringar. Det kan hamna efter och sluta fungera med tjänsten tills du slår på uppdateringar igen." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} upptäckte en möjlig räd här. Inbjudningar är pausade msgid "{productName} Staff" msgstr "{productName}-personal" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} slutar ladda ner uppdateringar. Det kan hamna på efterkälken och sluta fungera med tjänsten tills uppdateringar slås på igen. Träder i kraft nästa gång {productName} startar." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Inaktivera animeringar och övergångar i hela appen." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Inaktivera animeringar och övergångar. Styrs för närvarande av dina systeminställningar." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Inaktivera automatiska uppdateringar" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Inaktivera automatiska uppdateringar?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Inaktivera premiumförmåner på servern" @@ -13891,6 +13914,11 @@ msgstr "Aktivera utgångstid för bilagor" msgid "Enable audio" msgstr "Aktivera ljud" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Aktivera automatiska uppdateringar?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Aktivera beta-funktion" @@ -36678,6 +36706,11 @@ msgstr "Uppdaterade policyer" msgid "Updated saved media" msgstr "Sparat medieobjekt uppdaterat" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Uppdateringar" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/th/messages.po b/fluxer_app/src/features/i18n/locales/th/messages.po index c2fafadd1..227700a21 100644 --- a/fluxer_app/src/features/i18n/locales/th/messages.po +++ b/fluxer_app/src/features/i18n/locales/th/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} ต้องรีสตาร์ทเพื่อให msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} ต้องรีสตาร์ทเพื่อปิดการเร่งฮาร์ดแวร์ของ Chromium ใช้ตัวเลือกนี้เฉพาะเมื่อคุณกำลังแก้ปัญหาภาพกราฟิกผิดปกติหรือการใช้งาน GPU สูง" +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} ต้องรีสตาร์ทเพื่อเริ่มดาวน์โหลดอัปเดตอีกครั้ง" + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} ต้องรีสตาร์ทเพื่อหยุดดาวน์โหลดอัปเดต อาจทำให้ล้าหลังและหยุดทำงานกับบริการได้จนกว่าคุณจะเปิดอัปเดตอีกครั้ง" + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} ตรวจพบการโจมตีที่อา msgid "{productName} Staff" msgstr "ทีมงาน {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} จะหยุดดาวน์โหลดอัปเดต อาจทำให้ล้าสมัยและหยุดทำงานร่วมกับบริการได้จนกว่าจะเปิดใช้งานอัปเดตอีกครั้ง จะมีผลในครั้งถัดไปที่ {productName} เริ่มทำงาน" + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "ปิดภาพเคลื่อนไหวและเอฟเฟ msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "ปิดภาพเคลื่อนไหวและเอฟเฟกต์การเปลี่ยนภาพ ขณะนี้ควบคุมโดยการตั้งค่าระบบของคุณ" +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "ปิดการอัปเดตอัตโนมัติ" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "ปิดการอัปเดตอัตโนมัติหรือไม่" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "ปิดสิทธิประโยชน์พรีเมียมของแบ็กเอนด์" @@ -13891,6 +13914,11 @@ msgstr "เปิดใช้งานการหมดอายุไฟล์ msgid "Enable audio" msgstr "เปิดเสียง" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "เปิดใช้งานการอัปเดตอัตโนมัติหรือไม่" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "เปิดใช้ฟีเจอร์เบต้า" @@ -36678,6 +36706,11 @@ msgstr "อัปเดตนโยบายแล้ว" msgid "Updated saved media" msgstr "อัปเดตสื่อที่บันทึกไว้แล้ว" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "อัปเดต" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/tr/messages.po b/fluxer_app/src/features/i18n/locales/tr/messages.po index b26b3fbe0..66a44f3ce 100644 --- a/fluxer_app/src/features/i18n/locales/tr/messages.po +++ b/fluxer_app/src/features/i18n/locales/tr/messages.po @@ -1802,6 +1802,14 @@ msgstr "Başlık çubuğu değişikliğinin etkili olması için {PRODUCT_NAME} msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "Chromium'un donanım hızlandırmasını devre dışı bırakmak için {PRODUCT_NAME} uygulamasının yeniden başlatılması gerekiyor. Bunu yalnızca grafik hatalarını veya yüksek GPU kullanımını gideriyorsanız kullanın." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} güncellemeleri tekrar indirmeye başlamak için yeniden başlatılmalı." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} güncellemeleri indirmeyi durdurmak için yeniden başlatılmalı. Güncellemeler geri kalabilir ve siz güncellemeleri tekrar açana kadar hizmetle çalışmayı durdurabilir." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} burada olası bir baskın tespit etti. Davetler duraklatı msgid "{productName} Staff" msgstr "{productName} Çalışanı" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} güncelleme indirmeyi durdurur. Bu, güncellemeler tekrar açılana kadar servisle çalışmayı durdurup geride kalmasına neden olabilir. Bu ayar, {productName} bir sonraki başlatıldığında geçerli olur." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Uygulama genelindeki animasyonları ve geçişleri devre dışı bırak msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Animasyonları ve geçişleri devre dışı bırakın. Şu anda sistem ayarınız tarafından kontrol ediliyor." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Otomatik güncellemeleri devre dışı bırak" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Otomatik güncellemeler devre dışı bırakılsın mı?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Arka uç premium avantajlarını devre dışı bırak" @@ -13891,6 +13914,11 @@ msgstr "Eklerin sona ermesini etkinleştir" msgid "Enable audio" msgstr "Sesi etkinleştir" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Otomatik güncellemeler etkinleştirilsin mi?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Beta özelliğini etkinleştir" @@ -36678,6 +36706,11 @@ msgstr "Güncellenen politikalar" msgid "Updated saved media" msgstr "Kayıtlı medya güncellendi" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Güncellemeler" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/uk/messages.po b/fluxer_app/src/features/i18n/locales/uk/messages.po index baead2dab..0f7bf5d3f 100644 --- a/fluxer_app/src/features/i18n/locales/uk/messages.po +++ b/fluxer_app/src/features/i18n/locales/uk/messages.po @@ -1802,6 +1802,14 @@ msgstr "Щоб зміни в рядку заголовка набули чинн msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} потрібно перезапустити, щоб вимкнути апаратне прискорення Chromium. Використовуйте це лише для усунення несправностей графіки або високого завантаження графічного процесора." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} потрібно перезапустити, щоб знову почати завантаження оновлень." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} потрібно перезапустити, щоб припинити завантаження оновлень. Він може відставати та перестати працювати зі службою, доки ви знову не ввімкнете оновлення." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} виявив тут можливий рейд. Запро msgid "{productName} Staff" msgstr "Співробітник {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} припиняє завантаження оновлень. Він може відставати та перестати працювати зі службою, доки оновлення не буде ввімкнено знову. Набирає чинності наступного разу, коли запуститься {productName}." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Вимкнути анімації та переходи в усьому msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Вимкнути анімації та переходи. Наразі керується системними налаштуваннями." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Вимкнути автоматичні оновлення" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Вимкнути автоматичні оновлення?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Вимкнути преміум-переваги бекенду" @@ -13891,6 +13914,11 @@ msgstr "Увімкнути термін дії вкладень" msgid "Enable audio" msgstr "Увімкнути звук" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Увімкнути автоматичні оновлення?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Увімкнути бета-функцію" @@ -36678,6 +36706,11 @@ msgstr "Оновлені правила" msgid "Updated saved media" msgstr "Оновлено збережені медіа" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Оновлення" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/i18n/locales/vi/messages.po b/fluxer_app/src/features/i18n/locales/vi/messages.po index da256d7bb..ccadde0d2 100644 --- a/fluxer_app/src/features/i18n/locales/vi/messages.po +++ b/fluxer_app/src/features/i18n/locales/vi/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} cần khởi động lại để thay đổi về thanh t msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} cần khởi động lại để tắt tính năng tăng tốc phần cứng của Chromium. Chỉ sử dụng tùy chọn này nếu bạn đang khắc phục sự cố đồ họa hoặc mức sử dụng GPU cao." +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} cần khởi động lại để tiếp tục tải xuống các bản cập nhật." + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} cần khởi động lại để ngừng tải xuống các bản cập nhật. Ứng dụng có thể bị chậm và ngừng hoạt động với dịch vụ cho đến khi bạn bật lại các bản cập nhật." + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} đã phát hiện một cuộc tấn công tiềm ẩn t msgid "{productName} Staff" msgstr "Nhân viên {productName}" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} ngừng tải xuống các bản cập nhật. Ứng dụng có thể bị lỗi thời và ngừng hoạt động với dịch vụ cho đến khi bật lại cập nhật. Có hiệu lực vào lần tiếp theo {productName} khởi động." + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "Tắt hiệu ứng động và chuyển tiếp trong ứng dụng." msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "Tắt hiệu ứng động và chuyển tiếp. Hiện do cài đặt hệ thống của bạn kiểm soát." +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "Tắt cập nhật tự động" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "Tắt cập nhật tự động?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "Tắt đặc quyền premium của backend" @@ -13891,6 +13914,11 @@ msgstr "Bật tính năng hết hạn tệp đính kèm" msgid "Enable audio" msgstr "Bật âm thanh" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "Bật cập nhật tự động?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "Bật tính năng thử nghiệm" @@ -36678,6 +36706,11 @@ msgstr "Chính sách đã cập nhật" msgid "Updated saved media" msgstr "Đã cập nhật media đã lưu" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "Cập nhật" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" 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 7296a4897..f3b7e666d 100644 --- a/fluxer_app/src/features/i18n/locales/zh-CN/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-CN/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} 需要重启才能使标题栏更改生效。" msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} 需要重启才能禁用 Chromium 的硬件加速。仅在排查图形故障或 GPU 占用过高时使用此功能。" +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} 需要重启才能继续下载更新。" + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} 需要重启才能停止下载更新。它可能会滞后,直到您重新开启更新,否则将无法继续使用该服务。" + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} 检测到此处可能存在突袭。邀请已暂停,请 msgid "{productName} Staff" msgstr "{productName} 员工" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} 停止下载更新。它可能会滞后,并且在更新重新开启之前无法与服务协同工作。在下次启动 {productName} 时生效。" + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "禁用应用内的动画和过渡效果。" msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "禁用动画和过渡效果。当前由你的系统设置控制。" +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "停用自动更新" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "禁用自动更新?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "禁用后端高级特权" @@ -13891,6 +13914,11 @@ msgstr "启用附件到期" msgid "Enable audio" msgstr "开启音频" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "启用自动更新?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "启用测试功能" @@ -36678,6 +36706,11 @@ msgstr "政策更新" msgid "Updated saved media" msgstr "已保存媒体已更新" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "更新" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" 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 b1e8c6d99..876c89b42 100644 --- a/fluxer_app/src/features/i18n/locales/zh-TW/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-TW/messages.po @@ -1802,6 +1802,14 @@ msgstr "{PRODUCT_NAME} 需要重新啟動才能套用標題列的變更。" msgid "{PRODUCT_NAME} needs to restart to disable Chromium's hardware acceleration. Use this only if you're troubleshooting graphics glitches or high GPU usage." msgstr "{PRODUCT_NAME} 需要重新啟動才能停用 Chromium 的硬體加速。只有在排解顯示異常或 GPU 使用率過高的問題時才使用。" +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to start downloading updates again." +msgstr "{PRODUCT_NAME} 需要重新啟動才能再次開始下載更新。" + +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "{PRODUCT_NAME} needs to restart to stop downloading updates. It can fall behind and stop working with the service until you turn updates back on." +msgstr "{PRODUCT_NAME} 需要重新啟動才能停止下載更新。它可能會落後,直到您重新開啟更新,否則將無法繼續使用此服務。" + #. Desktop updater modal body for a Flatpak install when a newer desktop version exists. The version placeholder is the new app version and productName is the app name. #: src/features/updater/commands/UpdaterModalCommands.tsx msgid "{productName} {version} is available. Update it from your software center." @@ -2011,6 +2019,11 @@ msgstr "{productName} 在此偵測到可能的突襲。邀請已暫停,請稍 msgid "{productName} Staff" msgstr "{productName} 員工" +#. Settings search entry description. One-line summary of what the settings search entry controls. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts." +msgstr "{productName} 會停止下載更新。這可能會導致它落後並停止與服務搭配使用,直到更新重新啟用為止。下次啟動 {productName} 時生效。" + #. Label in the notifications. #: src/features/user/components/modals/tabs/notifications_tab/Notifications.tsx msgid "{productName} uses push notifications when installed as a mobile PWA. Registering ensures the gateway can reach your device even when the app is backgrounded." @@ -12427,6 +12440,16 @@ msgstr "停用應用程式中的所有動畫和轉場效果。" msgid "Disable animations and transitions. Currently controlled by your system setting." msgstr "停用動畫和轉場效果。目前由您的系統設定控制。" +#. Settings search entry label. Names the settings search entry in the settings UI. +#: src/features/user/utils/UserMessageDescriptors.ts +msgid "Disable automatic updates" +msgstr "停用自動更新" + +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Disable automatic updates?" +msgstr "停用自動更新嗎?" + #: src/features/channel/components/channel_header_components/developer_tools/AccountPremiumMenu.tsx msgid "Disable backend premium perks" msgstr "停用後端加值福利" @@ -13891,6 +13914,11 @@ msgstr "啟用附件到期功能" msgid "Enable audio" msgstr "啟用音訊" +#. Confirmation prompt in advanced settings. +#: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +msgid "Enable automatic updates?" +msgstr "啟用自動更新嗎?" + #: src/features/user/components/modals/tabs/component_gallery_tab/index.tsx msgid "Enable beta feature" msgstr "啟用測試版功能" @@ -36678,6 +36706,11 @@ msgstr "政策更新" msgid "Updated saved media" msgstr "已更新已儲存的媒體" +#. Settings search synonym. Used to match this term when the user types it in the settings search bar. +#: src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +msgid "Updates" +msgstr "更新" + #. Heading of the dialog shown after the user follows an announcement channel. #: src/features/channel/components/modals/ChannelFollowSuccessModal.tsx msgid "Updates are on their way!" diff --git a/fluxer_app/src/features/user/components/modals/tabs/AdvancedSettingDirectControls.tsx b/fluxer_app/src/features/user/components/modals/tabs/AdvancedSettingDirectControls.tsx index 586a67adb..e81497b04 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/AdvancedSettingDirectControls.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/AdvancedSettingDirectControls.tsx @@ -39,6 +39,7 @@ import { } from '@app/features/user/components/modals/tabs/advanced_settings_tab/AdvancedChatControls'; import {DeveloperModeControl} from '@app/features/user/components/modals/tabs/advanced_settings_tab/AdvancedClientDeveloperControls'; import { + AutomaticUpdatesControl, HardwareAccelerationControl, NativeTitleBarControl, SourceMapsControl, @@ -105,6 +106,7 @@ export const DIRECT_CONTROL_ITEM_IDS = new Set([ 'accessibility-stay-interactive-unfocused', 'advanced-native-title-bar', 'advanced-hardware-acceleration', + 'advanced-automatic-updates', 'desktop-source-maps', ]); @@ -146,6 +148,7 @@ export const COMPACT_SWITCH_CONTROL_ITEM_IDS = new Set([ 'accessibility-stay-interactive-unfocused', 'advanced-native-title-bar', 'advanced-hardware-acceleration', + 'advanced-automatic-updates', 'desktop-source-maps', ]); @@ -351,6 +354,10 @@ export const AdvancedSettingControl = observer(({item}: {item: SearchableSetting return ( ); + case 'advanced-automatic-updates': + return ( + + ); default: return null; } diff --git a/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx b/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx index 503f0e963..5f1c2a1fb 100644 --- a/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx +++ b/fluxer_app/src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedDesktopControls.tsx @@ -6,6 +6,7 @@ import { getCachedDesktopTroubleshootingSettings, getDesktopTroubleshootingSettings, setDesktopDisableHardwareAcceleration, + setDesktopDisableModuleUpdates, } from '@app/features/devtools/utils/DesktopTroubleshootingUtils'; import {CANCEL_DESCRIPTOR} from '@app/features/i18n/utils/CommonMessageDescriptors'; import SourceMaps from '@app/features/platform/state/SourceMaps'; @@ -21,6 +22,7 @@ import { } from '@app/features/ui/utils/DesktopWindowBehaviorUtils'; import {getElectronAPI} from '@app/features/ui/utils/NativeUtils'; import { + DISABLE_AUTOMATIC_UPDATES_DESCRIPTOR, DOWNLOAD_SOURCE_MAPS_DESCRIPTOR, LATER_DESCRIPTOR, RESTART_NOW_DESCRIPTOR, @@ -61,6 +63,14 @@ const DISABLE_HARDWARE_ACCELERATION_DESCRIPTOR = msg({ message: 'Disable hardware acceleration?', comment: 'Confirmation prompt in advanced settings.', }); +const ENABLE_AUTOMATIC_UPDATES_PROMPT_DESCRIPTOR = msg({ + message: 'Enable automatic updates?', + comment: 'Confirmation prompt in advanced settings.', +}); +const DISABLE_AUTOMATIC_UPDATES_PROMPT_DESCRIPTOR = msg({ + message: 'Disable automatic updates?', + comment: 'Confirmation prompt in advanced settings.', +}); export function useDesktopWindowBehaviorSettings() { const cachedDesktopWindowBehavior = getCachedDesktopWindowBehaviorSettings(); @@ -238,3 +248,59 @@ export const HardwareAccelerationControl = observer(() => { /> ); }); + +export const AutomaticUpdatesControl = observer(() => { + const {i18n} = useLingui(); + const {desktopTroubleshooting, desktopTroubleshootingBusy, setDesktopTroubleshooting, setDesktopTroubleshootingBusy} = + useDesktopTroubleshootingSettings(); + const handleChange = useCallback( + (value: boolean) => { + ModalCommands.push( + modal(() => ( + + {ph({PRODUCT_NAME: RuntimeConfig.productName})} needs to restart to stop downloading updates. It can + fall behind and stop working with the service until you turn updates back on. + + ) : ( + + {ph({PRODUCT_NAME: RuntimeConfig.productName})} needs to restart to start downloading updates again. + + ) + } + primaryText={i18n._(RESTART_NOW_DESCRIPTOR)} + primaryVariant="primary" + secondaryText={i18n._(CANCEL_DESCRIPTOR)} + onPrimary={async () => { + setDesktopTroubleshootingBusy(true); + const next = await setDesktopDisableModuleUpdates(value); + if (next) { + setDesktopTroubleshooting(next); + } + setDesktopTroubleshootingBusy(false); + }} + data-flx="user.advanced-settings-tab.automatic-updates.confirm-modal" + /> + )), + ); + }, + [i18n, setDesktopTroubleshooting, setDesktopTroubleshootingBusy], + ); + return ( + + ); +}); diff --git a/fluxer_app/src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts b/fluxer_app/src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts index adfbe3a34..4fa64e0ae 100644 --- a/fluxer_app/src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts +++ b/fluxer_app/src/features/user/components/settings_utils/search_index/DesktopSettingsIndex.ts @@ -14,6 +14,7 @@ import { TITLE_BAR_DESCRIPTOR as TITLEBAR_DESCRIPTOR, } from '@app/features/user/components/settings_utils/section_registry/SharedDescriptors'; import { + DISABLE_AUTOMATIC_UPDATES_DESCRIPTOR, DOWNLOAD_SOURCE_MAPS_DESCRIPTOR, LAUNCH_AT_LOGIN_DESCRIPTOR, USE_NATIVE_TITLE_BAR_DESCRIPTOR, @@ -70,6 +71,16 @@ const TOGGLE_HARDWARE_ACCELERATION_DESCRIPTOR = msg({ comment: 'Settings search entry description. One-line summary of what the settings search entry controls.', }); +const UPDATES_DESCRIPTOR = msg({ + message: 'Updates', + comment: 'Settings search synonym. Used to match this term when the user types it in the settings search bar.', +}); +const STOP_DOWNLOADING_UPDATES_DESCRIPTOR = msg({ + message: + '{productName} stops downloading updates. It can fall behind and stop working with the service until updates are turned back on. Takes effect the next time {productName} starts.', + comment: 'Settings search entry description. One-line summary of what the settings search entry controls.', +}); + const AUTOMATIC_START_DESCRIPTOR = msg({ message: 'Automatic start', comment: 'Settings search synonym. Used to match this term when the user types it in the settings search bar.', @@ -247,6 +258,15 @@ export const desktopSettingsIndex: Array = [ tags: ['desktop'], isVisible: () => isDesktop() && getElectronAPI()?.platform !== 'darwin', }, + { + id: 'advanced-automatic-updates', + tabType: 'desktop_settings', + label: DISABLE_AUTOMATIC_UPDATES_DESCRIPTOR, + keywords: [UPDATES_DESCRIPTOR], + description: {...STOP_DOWNLOADING_UPDATES_DESCRIPTOR, values: {productName: PRODUCT_NAME}}, + tags: ['desktop'], + isVisible: () => isDesktop() && getElectronAPI()?.setDesktopDisableModuleUpdates != null, + }, { id: 'advanced-autostart', tabType: 'desktop_settings', diff --git a/fluxer_app/src/features/user/utils/UserMessageDescriptors.ts b/fluxer_app/src/features/user/utils/UserMessageDescriptors.ts index bb9623e0b..36a10e60b 100644 --- a/fluxer_app/src/features/user/utils/UserMessageDescriptors.ts +++ b/fluxer_app/src/features/user/utils/UserMessageDescriptors.ts @@ -407,6 +407,11 @@ export const USE_NATIVE_TITLE_BAR_DESCRIPTOR = msg({ comment: 'Settings search entry label. Names the settings search entry in the settings UI.', }); +export const DISABLE_AUTOMATIC_UPDATES_DESCRIPTOR = msg({ + message: 'Disable automatic updates', + comment: 'Settings search entry label. Names the settings search entry in the settings UI.', +}); + export const LOOK_AND_FEEL_DESCRIPTOR = msg({ message: 'Appearance', comment: 'User settings tab for app appearance and layout options.', diff --git a/fluxer_app/src/types/electron.d.ts b/fluxer_app/src/types/electron.d.ts index 187c36172..b8a4b58cc 100644 --- a/fluxer_app/src/types/electron.d.ts +++ b/fluxer_app/src/types/electron.d.ts @@ -35,6 +35,7 @@ import type { NativeAudioStartResult, NativeScreenCaptureLifecycleMessage, SetDesktopTroubleshootingDisableHardwareAccelerationOptions, + SetDesktopTroubleshootingDisableModuleUpdatesOptions, SpellcheckBundledDictionary, SpellcheckEngine, SpellcheckResolvedEngineInfo, @@ -270,6 +271,9 @@ export interface ElectronAPI { setDesktopDisableHardwareAcceleration?( options: SetDesktopTroubleshootingDisableHardwareAccelerationOptions, ): Promise; + setDesktopDisableModuleUpdates?( + options: SetDesktopTroubleshootingDisableModuleUpdatesOptions, + ): Promise; getStreamerModeCaptureAppStatus?(): Promise; getInitialDeepLink(): Promise; onDeepLink(callback: (url: string) => void): () => void; diff --git a/fluxer_desktop/src/common/DesktopConfig.ts b/fluxer_desktop/src/common/DesktopConfig.ts index 5c61b9e0b..5af592b22 100644 --- a/fluxer_desktop/src/common/DesktopConfig.ts +++ b/fluxer_desktop/src/common/DesktopConfig.ts @@ -70,6 +70,7 @@ interface PersistedDesktopWindowBehaviorSettings { interface PersistedDesktopTroubleshootingSettings { disableHardwareAcceleration?: boolean; + disableModuleUpdates?: boolean; } const INSTANCE_ENDPOINT_ARGS = ['--fluxer-instance']; @@ -82,6 +83,7 @@ let configPath: string | null = null; function getDefaultDesktopTroubleshootingSettings(): DesktopTroubleshootingSettings { return { disableHardwareAcceleration: false, + disableModuleUpdates: false, }; } @@ -156,6 +158,9 @@ function sanitizePersistedDesktopTroubleshootingSettings( if (typeof value.disableHardwareAcceleration === 'boolean') { settings.disableHardwareAcceleration = value.disableHardwareAcceleration; } + if (typeof value.disableModuleUpdates === 'boolean') { + settings.disableModuleUpdates = value.disableModuleUpdates; + } return Object.keys(settings).length > 0 ? settings : undefined; } @@ -425,6 +430,10 @@ function normalizeDesktopTroubleshootingSettings( typeof settings?.disableHardwareAcceleration === 'boolean' ? settings.disableHardwareAcceleration : defaults.disableHardwareAcceleration, + disableModuleUpdates: + typeof settings?.disableModuleUpdates === 'boolean' + ? settings.disableModuleUpdates + : defaults.disableModuleUpdates, }; } @@ -433,6 +442,7 @@ function serializeDesktopTroubleshootingSettings( ): PersistedDesktopTroubleshootingSettings { return { disableHardwareAcceleration: settings.disableHardwareAcceleration, + disableModuleUpdates: settings.disableModuleUpdates, }; } diff --git a/fluxer_desktop/src/common/Types.ts b/fluxer_desktop/src/common/Types.ts index 05a87d348..a26d413c0 100644 --- a/fluxer_desktop/src/common/Types.ts +++ b/fluxer_desktop/src/common/Types.ts @@ -32,6 +32,7 @@ import type { NativeAudioStartResult, NativeScreenCaptureLifecycleMessage, SetDesktopTroubleshootingDisableHardwareAccelerationOptions, + SetDesktopTroubleshootingDisableModuleUpdatesOptions, SpellcheckBundledDictionary, SpellcheckEngine, SpellcheckResolvedEngineInfo, @@ -261,6 +262,9 @@ export interface ElectronAPI { setDesktopDisableHardwareAcceleration: ( options: SetDesktopTroubleshootingDisableHardwareAccelerationOptions, ) => Promise; + setDesktopDisableModuleUpdates: ( + options: SetDesktopTroubleshootingDisableModuleUpdatesOptions, + ) => Promise; onUpdaterEvent: (callback: (event: UpdaterEvent) => void) => () => void; updaterCheck: (context: UpdaterContext) => Promise; windowMinimize: () => void; diff --git a/fluxer_desktop/src/main/Bootstrap.ts b/fluxer_desktop/src/main/Bootstrap.ts index 9db6868a7..9719557e4 100644 --- a/fluxer_desktop/src/main/Bootstrap.ts +++ b/fluxer_desktop/src/main/Bootstrap.ts @@ -159,7 +159,8 @@ async function runModuleBootstrap(): Promise { const {configureUserDataPath} = await import('@electron/common/UserDataPath'); const {armNativeProbeCache} = await import('@electron/main/NativeProbeCache'); const {isStartMinimizedLaunch} = await import('@electron/main/AutostartLaunch'); - const {areModuleUpdatesDisabled, isDesktopUpdateRequested} = await import('@electron/main/LaunchOptions'); + const {areModuleUpdatesDisabled} = await import('@electron/main/DesktopDebugInfo'); + const {isDesktopUpdateRequested, shouldDisableModuleUpdatesForLaunch} = await import('@electron/main/LaunchOptions'); const {relaunchStableLaunchPath} = await import('@electron/main/LinuxLaunchPath'); const {getDesktopLocalAppProtocol} = await import('@electron/main/LocalAppProtocol'); const { @@ -410,9 +411,10 @@ async function runModuleBootstrap(): Promise { logger.warn('Failed to record whether an update is waiting', error); } }; + const moduleUpdatesForcedOff = shouldDisableModuleUpdatesForLaunch(); const moduleUpdatesDisabled = areModuleUpdatesDisabled(); if (moduleUpdatesDisabled) { - logger.info('Module updates are disabled by FLUXER_DISABLE_MODULE_UPDATES'); + logger.info('Module updates are disabled for this launch'); } const updater = new ModuleUpdater({ store, @@ -421,7 +423,8 @@ async function runModuleBootstrap(): Promise { bundledRendererVersion: BUNDLED_RENDERER_VERSION, preferUnversionedBundle: app.isPackaged, forceStartupUpdate: store.shellVersionChanged || updateWasPending || isDesktopUpdateRequested(), - moduleUpdatesDisabled, + moduleUpdatesDisabled: moduleUpdatesForcedOff, + moduleUpdatesDisabledBySetting: moduleUpdatesDisabled && !moduleUpdatesForcedOff, selfUpdateShellFirst: shellUpdatePlan.capability === ShellUpdateCapability.SELF_UPDATE ? async (latestVersion) => { diff --git a/fluxer_desktop/src/main/BootstrapEntry.test.mjs b/fluxer_desktop/src/main/BootstrapEntry.test.mjs index 8f3d3c0f7..93d121401 100644 --- a/fluxer_desktop/src/main/BootstrapEntry.test.mjs +++ b/fluxer_desktop/src/main/BootstrapEntry.test.mjs @@ -275,26 +275,3 @@ describe('Bootstrap entry point', () => { ); }); }); - -describe('FLUXER_DISABLE_MODULE_UPDATES', () => { - test('reads the environment variable like the other FLUXER_DISABLE switches', async () => { - const {areModuleUpdatesDisabled} = await import('./LaunchOptions.ts'); - const previous = process.env.FLUXER_DISABLE_MODULE_UPDATES; - try { - delete process.env.FLUXER_DISABLE_MODULE_UPDATES; - assert.equal(areModuleUpdatesDisabled(), false); - for (const value of ['1', 'true', 'YES', 'on']) { - process.env.FLUXER_DISABLE_MODULE_UPDATES = value; - assert.equal(areModuleUpdatesDisabled(), true); - } - process.env.FLUXER_DISABLE_MODULE_UPDATES = '0'; - assert.equal(areModuleUpdatesDisabled(), false); - } finally { - if (previous === undefined) { - delete process.env.FLUXER_DISABLE_MODULE_UPDATES; - } else { - process.env.FLUXER_DISABLE_MODULE_UPDATES = previous; - } - } - }); -}); diff --git a/fluxer_desktop/src/main/DesktopDebugInfo.ts b/fluxer_desktop/src/main/DesktopDebugInfo.ts index f9ea069a6..bc0ef16b1 100644 --- a/fluxer_desktop/src/main/DesktopDebugInfo.ts +++ b/fluxer_desktop/src/main/DesktopDebugInfo.ts @@ -12,7 +12,12 @@ import { readDesktopAccountStoreTelemetry, } from '@electron/main/DesktopAccountStoreTelemetry'; import {type DesktopAppStoreState, readDesktopAppStoreState} from '@electron/main/DesktopAppStoreHealth'; -import {getArgValue, hasFlag, isSafeModeLaunch} from '@electron/main/LaunchOptions'; +import { + getArgValue, + hasFlag, + isSafeModeLaunch, + shouldDisableModuleUpdatesForLaunch, +} from '@electron/main/LaunchOptions'; import {getDesktopInfo} from '@electron/main/PlatformInfo'; import { formatDesktopOsName, @@ -86,6 +91,7 @@ export function resolveEffectiveDesktopTroubleshootingSettings( disableHardwareAcceleration: platform !== 'darwin' && (settings.disableHardwareAcceleration || shouldDisableHardwareAccelerationForLaunch(argv)), + disableModuleUpdates: settings.disableModuleUpdates || shouldDisableModuleUpdatesForLaunch(argv), }; } @@ -100,6 +106,10 @@ export function getLaunchDesktopTroubleshootingSettings(): DesktopTroubleshootin return launchTroubleshootingSettings; } +export function areModuleUpdatesDisabled(): boolean { + return getLaunchDesktopTroubleshootingSettings().disableModuleUpdates; +} + export function shouldOpenDevToolsOnLaunch(argv: ReadonlyArray): boolean { return hasFlag(argv, OPEN_DEVTOOLS_ARGS); } @@ -265,7 +275,7 @@ export function formatDesktopDebugInfo(info: DesktopDebugInfo): string { `Account store: ${formatAccountStoreState(info.accountStore)}`, `Account store telemetry: ${formatDesktopAccountStoreTelemetry(info.accountStoreTelemetry)}`, `Logs: ${info.logFilePath ?? info.logsPath ?? '(unavailable)'}`, - `Troubleshooting: disableHardwareAcceleration=${info.troubleshooting.disableHardwareAcceleration}`, + `Troubleshooting: disableHardwareAcceleration=${info.troubleshooting.disableHardwareAcceleration}, disableModuleUpdates=${info.troubleshooting.disableModuleUpdates}`, `Window behavior: ${formatWindowBehavior(info.windowBehavior)}`, `Runtime: packaged=${info.packaged}, portable=${info.portable}, pid=${info.pid}, cwd=${info.cwd}`, `Sandbox: flatpak=${info.desktopInfo.flatpak}, flatpakAppId=${info.desktopInfo.flatpakAppId ?? '(none)'}`, diff --git a/fluxer_desktop/src/main/DesktopTray.ts b/fluxer_desktop/src/main/DesktopTray.ts index a831f1fbf..d1be186ee 100644 --- a/fluxer_desktop/src/main/DesktopTray.ts +++ b/fluxer_desktop/src/main/DesktopTray.ts @@ -11,9 +11,9 @@ import type { TrayActionPayload, TrayRuntimeStatePayload, } from '@electron/common/Types'; +import {areModuleUpdatesDisabled} from '@electron/main/DesktopDebugInfo'; import {getDesktopUpdateState, observeDesktopUpdateState} from '@electron/main/DesktopUpdateGate'; import {checkForUpdatesFromShell, startDesktopUpdateFromShell} from '@electron/main/DesktopUpdatePrompt'; -import {areModuleUpdatesDisabled} from '@electron/main/LaunchOptions'; import {relaunchStableLaunchPath} from '@electron/main/LinuxLaunchPath'; import {onLocaleChange, t} from '@electron/main/MainI18n'; import {renderTrayIcon, resolveTrayIconAppearance} from '@electron/main/TrayIconImage'; diff --git a/fluxer_desktop/src/main/DesktopTrayIcon.test.mjs b/fluxer_desktop/src/main/DesktopTrayIcon.test.mjs index 698224307..6b8964c94 100644 --- a/fluxer_desktop/src/main/DesktopTrayIcon.test.mjs +++ b/fluxer_desktop/src/main/DesktopTrayIcon.test.mjs @@ -19,7 +19,8 @@ globalThis.__fluxerDesktopTrayIconTestSettings__ = settings; installTestModuleStub( '@electron/common/DesktopConfig', - 'export const getDesktopWindowBehaviorSettings = () => ({...globalThis.__fluxerDesktopTrayIconTestSettings__});', + `export const getDesktopWindowBehaviorSettings = () => ({...globalThis.__fluxerDesktopTrayIconTestSettings__}); +export const getDesktopTroubleshootingSettings = () => ({disableHardwareAcceleration: false, disableModuleUpdates: false});`, ); installTestModuleStub( '@electron/main/DesktopUpdatePrompt', diff --git a/fluxer_desktop/src/main/IpcHandlers.ts b/fluxer_desktop/src/main/IpcHandlers.ts index 035a8ad32..4caa958da 100644 --- a/fluxer_desktop/src/main/IpcHandlers.ts +++ b/fluxer_desktop/src/main/IpcHandlers.ts @@ -73,6 +73,7 @@ import { relaunchAndExit, setHardwareAccelerationDisabled, setHardwareAccelerationDisabledAndRestart, + setModuleUpdatesDisabledAndRestart, } from '@electron/main/Troubleshooting'; import {parseUnreadBadge, UNREAD_BADGE_DOT} from '@electron/main/UnreadBadge'; import {registerVoiceBackgroundMediaCacheHandlers} from '@electron/main/VoiceBackgroundMediaCache'; @@ -243,6 +244,13 @@ export function registerIpcHandlers(): void { return getLaunchDesktopTroubleshootingSettings(); }, ); + ipcMain.handle( + 'desktop-troubleshooting-set-disable-module-updates', + (_event, payload: {disable: boolean}): DesktopTroubleshootingSettings => { + setModuleUpdatesDisabledAndRestart(Boolean(payload?.disable)); + return getLaunchDesktopTroubleshootingSettings(); + }, + ); ipcMain.on('streaming-priority-acquire', (event) => { acquireStreamingPriority(event.sender); }); diff --git a/fluxer_desktop/src/main/LaunchOptions.ts b/fluxer_desktop/src/main/LaunchOptions.ts index ff2508bb5..75d49093a 100644 --- a/fluxer_desktop/src/main/LaunchOptions.ts +++ b/fluxer_desktop/src/main/LaunchOptions.ts @@ -24,6 +24,7 @@ const SPELLCHECK_MODE_ARGS = new Set(['--fluxer-spellcheck']); const DISABLE_V8_CODE_CACHE_ARGS = new Set(['--fluxer-disable-v8-code-cache']); const DISABLE_NATIVE_GATEWAY_ARGS = new Set(['--fluxer-disable-native-gateway']); const DESKTOP_UPDATE_ARGS = new Set(['--fluxer-update']); +const DISABLE_MODULE_UPDATES_ARGS = new Set(['--fluxer-disable-module-updates', '--disable-module-updates']); export function hasFlag(argv: ReadonlyArray, flags: ReadonlySet): boolean { return argv.some((arg) => flags.has(arg) || [...flags].some((flag) => arg.startsWith(`${flag}=`))); @@ -159,12 +160,12 @@ export function describeLaunchDiagnosticOptions(argv: ReadonlyArray = pr spellcheck: getSpellcheckLaunchMode(argv), v8CodeCacheDisabled: shouldDisableV8CodeCache(argv), nativeGatewayDisableReason: getNativeGatewayDisableReason(argv), - moduleUpdatesDisabled: areModuleUpdatesDisabled(), + moduleUpdatesDisabled: shouldDisableModuleUpdatesForLaunch(argv), }; } -export function areModuleUpdatesDisabled(): boolean { - return truthyEnv('FLUXER_DISABLE_MODULE_UPDATES'); +export function shouldDisableModuleUpdatesForLaunch(argv: ReadonlyArray = process.argv): boolean { + return hasFlag(argv, DISABLE_MODULE_UPDATES_ARGS) || truthyEnv('FLUXER_DISABLE_MODULE_UPDATES'); } export function isDesktopUpdateRequested(argv: ReadonlyArray = process.argv): boolean { diff --git a/fluxer_desktop/src/main/Menu.ts b/fluxer_desktop/src/main/Menu.ts index 0b9e3d4f1..cac7a1cd5 100644 --- a/fluxer_desktop/src/main/Menu.ts +++ b/fluxer_desktop/src/main/Menu.ts @@ -1,8 +1,8 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import {DESKTOP_APP_NAME} from '@electron/common/DesktopIdentity'; +import {areModuleUpdatesDisabled} from '@electron/main/DesktopDebugInfo'; import {checkForUpdatesFromShell} from '@electron/main/DesktopUpdatePrompt'; -import {areModuleUpdatesDisabled} from '@electron/main/LaunchOptions'; import {onLocaleChange, t} from '@electron/main/MainI18n'; import {openExternalDeduped} from '@electron/main/OpenExternal'; import {buildTroubleshootingMenuItems} from '@electron/main/Troubleshooting'; diff --git a/fluxer_desktop/src/main/ModuleUpdater.test.mjs b/fluxer_desktop/src/main/ModuleUpdater.test.mjs index 8ca276043..56c7f0cac 100644 --- a/fluxer_desktop/src/main/ModuleUpdater.test.mjs +++ b/fluxer_desktop/src/main/ModuleUpdater.test.mjs @@ -128,6 +128,7 @@ function createUpdater(store, modules, options = {}) { bundledRendererVersion: options.bundledRendererVersion ?? null, forceStartupUpdate: options.forceStartupUpdate ?? false, moduleUpdatesDisabled: options.moduleUpdatesDisabled ?? false, + moduleUpdatesDisabledBySetting: options.moduleUpdatesDisabledBySetting ?? false, selfUpdateShellFirst: options.selfUpdateShellFirst, onState: options.onState, fetch: async (url, init) => { @@ -574,6 +575,41 @@ describe('ModuleUpdater with module updates disabled', () => { assert.deepEqual(requests, []); assert.deepEqual(sleeps, []); }); + + test('the saved setting launches the verified set without fetching', async () => { + const userDataPath = createUserData(); + const store = await openStore(userDataPath); + installModuleOnDisk(getModuleStoreRoot(userDataPath), 'fluxer_renderer', RENDERER_SHA, [['index.js', 'renderer']]); + await store.commit({fluxer_renderer: RENDERER_SHA}); + assert.equal((await createUpdater(store, {fluxer_renderer: RENDERER_SHA}).updater.run()).status, 'launching'); + const {updater, requests} = createUpdater( + store, + {fluxer_renderer: NEXT_RENDERER_SHA}, + {moduleUpdatesDisabledBySetting: true}, + ); + + const outcome = await updater.run(); + + assert.equal(outcome.status, 'unreachable-launch'); + assert.deepEqual(outcome.committed, {fluxer_renderer: RENDERER_SHA}); + assert.deepEqual(requests, []); + }); + + test('the saved setting goes to the update server when nothing can launch', async () => { + const store = await openStore(createUserData()); + const {updater, requests} = createUpdater( + store, + {fluxer_renderer: RENDERER_SHA}, + {moduleUpdatesDisabledBySetting: true, respond: missingPackages()}, + ); + + const outcome = await updater.run(); + + assert.equal(outcome.status, 'blocked-update-required'); + assert.equal(outcome.reason, 'required-module-unavailable'); + assert.equal(outcome.updateServerUnreachable, false); + assert.ok(requests.some((url) => String(url).endsWith('/modules.json'))); + }); }); describe('ModuleUpdater checks without downloading and installs only when asked', () => { diff --git a/fluxer_desktop/src/main/ModuleUpdater.ts b/fluxer_desktop/src/main/ModuleUpdater.ts index 3b2b2a1ed..2b844b527 100644 --- a/fluxer_desktop/src/main/ModuleUpdater.ts +++ b/fluxer_desktop/src/main/ModuleUpdater.ts @@ -268,6 +268,7 @@ interface ModuleUpdaterOptions { readonly preferUnversionedBundle?: boolean; readonly forceStartupUpdate?: boolean; readonly moduleUpdatesDisabled?: boolean; + readonly moduleUpdatesDisabledBySetting?: boolean; readonly selfUpdateShellFirst?: (latestVersion: string) => Promise<{readonly reason: string}>; readonly onState?: (state: ModuleUpdaterSplashState) => void; readonly report?: (report: ModuleUpdaterReport) => void; @@ -288,6 +289,7 @@ export class ModuleUpdater { private readonly hasOfflineRenderer: boolean; private readonly forceStartupUpdate: boolean; private readonly moduleUpdatesDisabled: boolean; + private readonly moduleUpdatesDisabledBySetting: boolean; private readonly selfUpdateShellFirst: ((latestVersion: string) => Promise<{readonly reason: string}>) | null; private readonly shellFirstAttempts = new Map(); private readonly manifestFeed: ModuleManifestFeedIdentity; @@ -317,6 +319,7 @@ export class ModuleUpdater { this.hasOfflineRenderer = options.hasOfflineRenderer ?? false; this.forceStartupUpdate = options.forceStartupUpdate ?? false; this.moduleUpdatesDisabled = options.moduleUpdatesDisabled ?? false; + this.moduleUpdatesDisabledBySetting = options.moduleUpdatesDisabledBySetting ?? false; this.selfUpdateShellFirst = options.selfUpdateShellFirst ?? null; const releaseChannel = options.releaseChannel ?? BUILD_CHANNEL; this.platform = options.platform ?? process.platform; @@ -421,17 +424,16 @@ export class ModuleUpdater { return reverted; } } - if (this.moduleUpdatesDisabled) { + if (this.moduleUpdatesDisabled || this.moduleUpdatesDisabledBySetting) { const decision = await this.planner.evaluateUnreachableLaunch(this.startupUpdateEnforced); if (decision.kind === ModuleUnreachableLaunchDecision.LAUNCH) { return await this.launchUnreachable(); } - return this.blockUpdateRequired( - decision.reason, - [], - 'module updates are disabled by FLUXER_DISABLE_MODULE_UPDATES', - {updateServerUnreachable: true}, - ); + if (this.moduleUpdatesDisabled) { + return this.blockUpdateRequired(decision.reason, [], 'module updates are disabled', { + updateServerUnreachable: true, + }); + } } if (this.platform === 'linux' && !(await this.startupUpdateRequired())) { return await this.launchIfAtFloor(); diff --git a/fluxer_desktop/src/main/ModuleUpdatesSetting.test.mjs b/fluxer_desktop/src/main/ModuleUpdatesSetting.test.mjs new file mode 100644 index 000000000..b7ceb2a1e --- /dev/null +++ b/fluxer_desktop/src/main/ModuleUpdatesSetting.test.mjs @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import assert from 'node:assert/strict'; +import fs from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; +import {describe, test} from 'node:test'; +import {installElectronStub} from './LocalAppTestSupport.test.mjs'; + +installElectronStub(); + +const {getDesktopTroubleshootingSettings, loadDesktopConfig, setDesktopTroubleshootingSettings} = await import( + '../common/DesktopConfig.ts' +); +const {shouldDisableModuleUpdatesForLaunch} = await import('./LaunchOptions.ts'); +const {areModuleUpdatesDisabled, resolveEffectiveDesktopTroubleshootingSettings} = await import( + './DesktopDebugInfo.ts' +); + +function loadSettings(troubleshooting) { + const userDataPath = fs.mkdtempSync(path.join(os.tmpdir(), 'fluxer-desktop-module-updates-setting-test-')); + fs.writeFileSync(path.join(userDataPath, 'settings.json'), JSON.stringify({troubleshooting})); + loadDesktopConfig(userDataPath); + return userDataPath; +} + +function readPersisted(userDataPath) { + return JSON.parse(fs.readFileSync(path.join(userDataPath, 'settings.json'), 'utf8')).troubleshooting; +} + +function withModuleUpdatesEnv(value, run) { + const previous = process.env.FLUXER_DISABLE_MODULE_UPDATES; + try { + if (value === undefined) { + delete process.env.FLUXER_DISABLE_MODULE_UPDATES; + } else { + process.env.FLUXER_DISABLE_MODULE_UPDATES = value; + } + run(); + } finally { + if (previous === undefined) { + delete process.env.FLUXER_DISABLE_MODULE_UPDATES; + } else { + process.env.FLUXER_DISABLE_MODULE_UPDATES = previous; + } + } +} + +describe('disabling module updates', () => { + test('reads the environment variable like the other FLUXER_DISABLE switches', () => { + withModuleUpdatesEnv(undefined, () => assert.equal(shouldDisableModuleUpdatesForLaunch([]), false)); + for (const value of ['1', 'true', 'YES', 'on']) { + withModuleUpdatesEnv(value, () => assert.equal(shouldDisableModuleUpdatesForLaunch([]), true, value)); + } + withModuleUpdatesEnv('0', () => assert.equal(shouldDisableModuleUpdatesForLaunch([]), false)); + }); + + test('honours the launch flag with or without the fluxer prefix', () => { + withModuleUpdatesEnv(undefined, () => { + for (const flag of [ + '--disable-module-updates', + '--fluxer-disable-module-updates', + '--disable-module-updates=1', + ]) { + assert.equal(shouldDisableModuleUpdatesForLaunch([flag]), true, flag); + } + assert.equal(shouldDisableModuleUpdatesForLaunch(['--fluxer-update']), false); + }); + }); + + test('defaults to updating and drops values that are not booleans', () => { + loadSettings(undefined); + assert.equal(getDesktopTroubleshootingSettings().disableModuleUpdates, false); + for (const value of ['true', 1, null, {}]) { + loadSettings({disableModuleUpdates: value}); + assert.equal(getDesktopTroubleshootingSettings().disableModuleUpdates, false, String(value)); + } + }); + + test('the launch flag or the persisted setting disables updates for the launch', () => { + withModuleUpdatesEnv(undefined, () => { + const settings = {disableHardwareAcceleration: false, disableModuleUpdates: false}; + assert.equal(resolveEffectiveDesktopTroubleshootingSettings(settings, [], 'win32').disableModuleUpdates, false); + assert.equal( + resolveEffectiveDesktopTroubleshootingSettings(settings, ['--disable-module-updates'], 'darwin') + .disableModuleUpdates, + true, + ); + assert.equal( + resolveEffectiveDesktopTroubleshootingSettings({...settings, disableModuleUpdates: true}, [], 'linux') + .disableModuleUpdates, + true, + ); + }); + }); + + test('turning the setting back off restores updating without touching hardware acceleration', () => { + const userDataPath = loadSettings({disableHardwareAcceleration: true, disableModuleUpdates: true}); + assert.equal(getDesktopTroubleshootingSettings().disableModuleUpdates, true); + setDesktopTroubleshootingSettings({disableModuleUpdates: false}); + assert.deepEqual(readPersisted(userDataPath), {disableHardwareAcceleration: true, disableModuleUpdates: false}); + loadDesktopConfig(userDataPath); + withModuleUpdatesEnv(undefined, () => { + assert.equal( + resolveEffectiveDesktopTroubleshootingSettings(getDesktopTroubleshootingSettings(), [], 'win32') + .disableModuleUpdates, + false, + ); + }); + }); + + test('keeps the launch answer when the persisted setting changes without a restart', () => { + withModuleUpdatesEnv(undefined, () => { + loadSettings({disableModuleUpdates: true}); + assert.equal(areModuleUpdatesDisabled(), true); + setDesktopTroubleshootingSettings({disableModuleUpdates: false}); + assert.equal(areModuleUpdatesDisabled(), true); + }); + }); +}); diff --git a/fluxer_desktop/src/main/Troubleshooting.ts b/fluxer_desktop/src/main/Troubleshooting.ts index 40f699d96..f9af3f09b 100644 --- a/fluxer_desktop/src/main/Troubleshooting.ts +++ b/fluxer_desktop/src/main/Troubleshooting.ts @@ -44,6 +44,12 @@ export function setHardwareAccelerationDisabledAndRestart(disable: boolean): voi relaunchAndExit(); } +export function setModuleUpdatesDisabledAndRestart(disable: boolean): void { + setDesktopTroubleshootingSettings({disableModuleUpdates: disable}); + logger.info('Restarting to apply module updates change', {disable}); + relaunchAndExit(); +} + function reloadMainWindow(): void { const mainWindow = getMainWindow(); if (!mainWindow || mainWindow.isDestroyed()) { diff --git a/fluxer_desktop/src/main/index.ts b/fluxer_desktop/src/main/index.ts index db15d3423..863654e27 100644 --- a/fluxer_desktop/src/main/index.ts +++ b/fluxer_desktop/src/main/index.ts @@ -49,6 +49,7 @@ import { recordDesktopAppStoreSuccess, } from '@electron/main/DesktopAppStoreHealth'; import { + areModuleUpdatesDisabled, formatDesktopDebugInfo, getDesktopDebugInfo, getLaunchNetLogPath, @@ -73,7 +74,7 @@ import { registerIpcHandlers, } from '@electron/main/IpcHandlers'; import {initializeJumpList} from '@electron/main/JumpList'; -import {areModuleUpdatesDisabled, describeLaunchDiagnosticOptions} from '@electron/main/LaunchOptions'; +import {describeLaunchDiagnosticOptions} from '@electron/main/LaunchOptions'; import {cleanupLegacyHarvestHandlers, registerLegacyHarvestHandlers} from '@electron/main/LegacyHarvestIpc'; import {initializeLegacyOriginHarvest} from '@electron/main/LegacyOriginHarvest'; import {cleanupVirtmic, registerVirtmicHandlers} from '@electron/main/LinuxAudioCapture'; diff --git a/fluxer_desktop/src/preload/index.ts b/fluxer_desktop/src/preload/index.ts index ed387c443..17cee0911 100644 --- a/fluxer_desktop/src/preload/index.ts +++ b/fluxer_desktop/src/preload/index.ts @@ -45,6 +45,7 @@ import type { NotificationOptions, NotificationResult, SetDesktopTroubleshootingDisableHardwareAccelerationOptions, + SetDesktopTroubleshootingDisableModuleUpdatesOptions, SpellcheckBundledDictionary, SpellcheckResolvedEngineInfo, SpellcheckState, @@ -443,6 +444,10 @@ const api: ElectronAPI = { options: SetDesktopTroubleshootingDisableHardwareAccelerationOptions, ): Promise => ipcRenderer.invoke('desktop-troubleshooting-set-disable-hardware-acceleration', options), + setDesktopDisableModuleUpdates: ( + options: SetDesktopTroubleshootingDisableModuleUpdatesOptions, + ): Promise => + ipcRenderer.invoke('desktop-troubleshooting-set-disable-module-updates', options), onUpdaterEvent: (callback: (event: UpdaterEvent) => void): (() => void) => { const handler = (_event: Electron.IpcRendererEvent, data: UpdaterEvent) => callback(data); ipcRenderer.on('updater-event', handler); diff --git a/packages/desktop_ipc/src/DesktopBridgeTypes.ts b/packages/desktop_ipc/src/DesktopBridgeTypes.ts index 8152e3a2d..0adab8795 100644 --- a/packages/desktop_ipc/src/DesktopBridgeTypes.ts +++ b/packages/desktop_ipc/src/DesktopBridgeTypes.ts @@ -122,6 +122,7 @@ export interface VoiceBackgroundMediaReadResult { export interface DesktopTroubleshootingSettings { disableHardwareAcceleration: boolean; + disableModuleUpdates: boolean; } export interface SetDesktopTroubleshootingDisableHardwareAccelerationOptions { @@ -129,6 +130,10 @@ export interface SetDesktopTroubleshootingDisableHardwareAccelerationOptions { restart?: boolean; } +export interface SetDesktopTroubleshootingDisableModuleUpdatesOptions { + disable: boolean; +} + export interface DesktopVoiceDebugEventSinkEntry { sequence: number; line: string;