diff -Nru gnome-shell-42.5/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml gnome-shell-42.9/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml --- gnome-shell-42.5/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml 2022-09-17 17:58:18.342481400 +0000 +++ gnome-shell-42.9/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml 2023-03-19 21:13:44.269681700 +0000 @@ -13,6 +13,13 @@ + + + + + + + diff -Nru gnome-shell-42.5/data/org.gnome.Shell@wayland.service.in gnome-shell-42.9/data/org.gnome.Shell@wayland.service.in --- gnome-shell-42.5/data/org.gnome.Shell@wayland.service.in 2022-09-17 17:58:18.348481400 +0000 +++ gnome-shell-42.9/data/org.gnome.Shell@wayland.service.in 2023-03-19 21:13:44.274681800 +0000 @@ -32,3 +32,6 @@ Restart=no # Kill any stubborn child processes after this long TimeoutStopSec=5 + +# Lower down gnome-shell's OOM score to avoid being killed by OOM-killer too early +OOMScoreAdjust=-1000 diff -Nru gnome-shell-42.5/data/org.gnome.Shell@x11.service.in gnome-shell-42.9/data/org.gnome.Shell@x11.service.in --- gnome-shell-42.5/data/org.gnome.Shell@x11.service.in 2022-09-17 17:58:18.348481400 +0000 +++ gnome-shell-42.9/data/org.gnome.Shell@x11.service.in 2023-03-19 21:13:44.275681700 +0000 @@ -37,3 +37,6 @@ RestartSec=0ms # Kill any stubborn child processes after this long TimeoutStopSec=5 + +# Lower down gnome-shell's OOM score to avoid being killed by OOM-killer too early +OOMScoreAdjust=-1000 diff -Nru gnome-shell-42.5/debian/changelog gnome-shell-42.9/debian/changelog --- gnome-shell-42.5/debian/changelog 2022-10-21 12:03:20.000000000 +0000 +++ gnome-shell-42.9/debian/changelog 2023-06-14 19:35:33.000000000 +0000 @@ -1,3 +1,10 @@ +gnome-shell (42.9-0ubuntu2) jammy; urgency=medium + + * New upstream release (LP: #2023913) + * debian/control.in: Bump minimum mutter to 42.9 + + -- Jeremy Bícha Wed, 14 Jun 2023 15:35:33 -0400 + gnome-shell (42.5-0ubuntu1) jammy; urgency=medium * New upstream release (LP: #1993809) diff -Nru gnome-shell-42.5/debian/control gnome-shell-42.9/debian/control --- gnome-shell-42.5/debian/control 2022-10-21 12:03:20.000000000 +0000 +++ gnome-shell-42.9/debian/control 2023-06-14 19:35:33.000000000 +0000 @@ -7,7 +7,7 @@ Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian GNOME Maintainers -Uploaders: Iain Lane , Jeremy Bicha +Uploaders: Jeremy Bicha , Marco Trevisan (Treviño) Build-Depends: appstream, asciidoc-base, bash-completion, @@ -49,8 +49,8 @@ libgtk-4-dev, libibus-1.0-dev (>= 1.5.22-2ubuntu2~), libjson-glib-dev, - libmutter-10-dev (>= 42.0), - libmutter-test-10 (>= 42.0) , + libmutter-10-dev (>= 42.9), + libmutter-test-10 (>= 42.9) , libnm-dev (>= 1.10.4) [linux-any], libpipewire-0.3-dev (>= 0.3.10) [linux-any], libpolkit-agent-1-dev (>= 0.100), @@ -63,7 +63,7 @@ libxml2-dev, mesa-common-dev, meson (>= 0.58.0), - mutter (>= 42.0) , + mutter (>= 42.9) , pkg-config (>= 0.22), sassc, systemd [linux-any], @@ -100,7 +100,7 @@ gir1.2-gweather-3.0 (>= 40.0), gir1.2-freedesktop, gir1.2-ibus-1.0 (>= 1.5.22-2ubuntu2~), - gir1.2-mutter-10 (>= 42.0), + gir1.2-mutter-10 (>= 42.9), gir1.2-nm-1.0 [linux-any], gir1.2-nma-1.0 [linux-any], gir1.2-pango-1.0, diff -Nru gnome-shell-42.5/debian/control.in gnome-shell-42.9/debian/control.in --- gnome-shell-42.5/debian/control.in 2022-10-21 12:03:20.000000000 +0000 +++ gnome-shell-42.9/debian/control.in 2023-06-14 19:35:33.000000000 +0000 @@ -45,8 +45,8 @@ libgtk-4-dev, libibus-1.0-dev (>= 1.5.22-2ubuntu2~), libjson-glib-dev, - libmutter-10-dev (>= 42.0), - libmutter-test-10 (>= 42.0) , + libmutter-10-dev (>= 42.9), + libmutter-test-10 (>= 42.9) , libnm-dev (>= 1.10.4) [linux-any], libpipewire-0.3-dev (>= 0.3.10) [linux-any], libpolkit-agent-1-dev (>= 0.100), @@ -59,7 +59,7 @@ libxml2-dev, mesa-common-dev, meson (>= 0.58.0), - mutter (>= 42.0) , + mutter (>= 42.9) , pkg-config (>= 0.22), sassc, systemd [linux-any], @@ -96,7 +96,7 @@ gir1.2-gweather-3.0 (>= 40.0), gir1.2-freedesktop, gir1.2-ibus-1.0 (>= 1.5.22-2ubuntu2~), - gir1.2-mutter-10 (>= 42.0), + gir1.2-mutter-10 (>= 42.9), gir1.2-nm-1.0 [linux-any], gir1.2-nma-1.0 [linux-any], gir1.2-pango-1.0, diff -Nru gnome-shell-42.5/js/dbusServices/screencast/screencastService.js gnome-shell-42.9/js/dbusServices/screencast/screencastService.js --- gnome-shell-42.5/js/dbusServices/screencast/screencastService.js 2022-09-17 17:58:18.404482800 +0000 +++ gnome-shell-42.9/js/dbusServices/screencast/screencastService.js 2023-03-19 21:13:44.284682000 +0000 @@ -231,7 +231,8 @@ _ensurePipeline(nodeId) { const framerate = this._framerate; const needsCopy = - Gst.Registry.get().check_feature_version('pipewiresrc', 0, 3, 57); + Gst.Registry.get().check_feature_version('pipewiresrc', 0, 3, 57) && + !Gst.Registry.get().check_feature_version('videoconvert', 1, 20, 4); let fullPipeline = ` pipewiresrc path=${nodeId} @@ -295,7 +296,10 @@ if (GLib.path_is_absolute(filename)) return filename; - let videoDir = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_VIDEOS); + const videoDir = + GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_VIDEOS) || + GLib.get_home_dir(); + return GLib.build_filenamev([videoDir, filename]); } diff -Nru gnome-shell-42.5/js/gdm/authPrompt.js gnome-shell-42.9/js/gdm/authPrompt.js --- gnome-shell-42.5/js/gdm/authPrompt.js 2022-09-17 17:58:18.405482800 +0000 +++ gnome-shell-42.9/js/gdm/authPrompt.js 2023-03-19 21:13:44.285682000 +0000 @@ -122,6 +122,8 @@ } _onDestroy() { + this._inactiveEntry.destroy(); + this._inactiveEntry = null; this._userVerifier.destroy(); this._userVerifier = null; } @@ -191,6 +193,7 @@ this._entry = this._passwordEntry; this._mainBox.add_child(this._entry); this._entry.grab_key_focus(); + this._inactiveEntry = this._textEntry; this._timedLoginIndicator = new St.Bin({ style_class: 'login-dialog-timed-login-indicator', @@ -280,9 +283,11 @@ if (secret && this._entry !== this._passwordEntry) { this._mainBox.replace_child(this._entry, this._passwordEntry); this._entry = this._passwordEntry; + this._inactiveEntry = this._textEntry; } else if (!secret && this._entry !== this._textEntry) { this._mainBox.replace_child(this._entry, this._textEntry); this._entry = this._textEntry; + this._inactiveEntry = this._passwordEntry; } this._capsLockWarningLabel.visible = secret; } diff -Nru gnome-shell-42.5/js/gdm/credentialManager.js gnome-shell-42.9/js/gdm/credentialManager.js --- gnome-shell-42.5/js/gdm/credentialManager.js 2022-09-17 17:58:18.405482800 +0000 +++ gnome-shell-42.9/js/gdm/credentialManager.js 2023-03-19 21:13:44.285682000 +0000 @@ -5,7 +5,6 @@ constructor(service) { this._token = null; this._service = service; - this._authenticatedSignalId = null; } get token() { diff -Nru gnome-shell-42.5/js/gdm/util.js gnome-shell-42.9/js/gdm/util.js --- gnome-shell-42.5/js/gdm/util.js 2022-09-17 17:58:18.417483000 +0000 +++ gnome-shell-42.9/js/gdm/util.js 2023-03-19 21:13:44.286682100 +0000 @@ -509,6 +509,7 @@ _disconnectSignals() { this._userVerifier?.disconnectObject(this); + this._userVerifierChoiceList?.disconnectObject(this); } _getForegroundService() { diff -Nru gnome-shell-42.5/js/misc/fileUtils.js gnome-shell-42.9/js/misc/fileUtils.js --- gnome-shell-42.5/js/misc/fileUtils.js 2022-09-17 17:58:18.417483000 +0000 +++ gnome-shell-42.9/js/misc/fileUtils.js 2023-03-19 21:13:44.286682100 +0000 @@ -31,7 +31,7 @@ function recursivelyDeleteDir(dir, deleteParent) { let children = dir.enumerate_children('standard::name,standard::type', - Gio.FileQueryInfoFlags.NONE, null); + Gio.FileQueryInfoFlags.NOFOLLOW_SYMLINKS, null); let info; while ((info = children.next_file(null)) != null) { @@ -49,7 +49,7 @@ function recursivelyMoveDir(srcDir, destDir) { let children = srcDir.enumerate_children('standard::name,standard::type', - Gio.FileQueryInfoFlags.NONE, null); + Gio.FileQueryInfoFlags.NOFOLLOW_SYMLINKS, null); if (!destDir.query_exists(null)) destDir.make_directory_with_parents(null); diff -Nru gnome-shell-42.5/js/misc/inputMethod.js gnome-shell-42.9/js/misc/inputMethod.js --- gnome-shell-42.5/js/misc/inputMethod.js 2022-09-17 17:58:18.418483000 +0000 +++ gnome-shell-42.9/js/misc/inputMethod.js 2023-03-19 21:13:44.287682000 +0000 @@ -245,6 +245,9 @@ ibusPurpose = IBus.InputPurpose.NAME; else if (purpose == Clutter.InputContentPurpose.PASSWORD) ibusPurpose = IBus.InputPurpose.PASSWORD; + else if (purpose === Clutter.InputContentPurpose.TERMINAL && + IBus.InputPurpose.TERMINAL) + ibusPurpose = IBus.InputPurpose.TERMINAL; this._purpose = ibusPurpose; if (this._context) diff -Nru gnome-shell-42.5/js/ui/altTab.js gnome-shell-42.9/js/ui/altTab.js --- gnome-shell-42.5/js/ui/altTab.js 2022-09-17 17:58:18.420483000 +0000 +++ gnome-shell-42.9/js/ui/altTab.js 2023-03-19 21:13:44.289682100 +0000 @@ -917,20 +917,16 @@ box.add_actor(bin); this._thumbnailBins.push(bin); - let title = windows[i].get_title(); - if (title) { - let name = new St.Label({ - text: title, - // St.Label doesn't support text-align - x_align: Clutter.ActorAlign.CENTER, - }); - this._labels.push(name); - box.add_actor(name); + const title = windows[i].get_title(); + const name = new St.Label({ + text: title, + // St.Label doesn't support text-align + x_align: Clutter.ActorAlign.CENTER, + }); + this._labels.push(name); + box.add_actor(name); - this.addItem(box, name); - } else { - this.addItem(box, null); - } + this.addItem(box, name); } this.connect('destroy', this._onDestroy.bind(this)); diff -Nru gnome-shell-42.5/js/ui/appDisplay.js gnome-shell-42.9/js/ui/appDisplay.js --- gnome-shell-42.5/js/ui/appDisplay.js 2022-09-17 17:58:18.421483000 +0000 +++ gnome-shell-42.9/js/ui/appDisplay.js 2023-03-19 21:13:44.290682000 +0000 @@ -1065,7 +1065,7 @@ } goToPage(pageNumber, animate = true) { - pageNumber = Math.clamp(pageNumber, 0, this._grid.nPages - 1); + pageNumber = Math.clamp(pageNumber, 0, Math.max(this._grid.nPages - 1, 0)); if (this._grid.currentPage === pageNumber) return; @@ -1386,9 +1386,12 @@ this._placeholder = null; - Main.overview.connect('hidden', () => this.goToPage(0)); - - this._redisplayWorkId = Main.initializeDeferredWork(this, this._redisplay.bind(this)); + this._overviewHiddenId = 0; + this._redisplayWorkId = Main.initializeDeferredWork(this, () => { + this._redisplay(); + if (this._overviewHiddenId === 0) + this._overviewHiddenId = Main.overview.connect('hidden', () => this.goToPage(0)); + }); Shell.AppSystem.get_default().connect('installed-changed', () => { Main.queueDeferredWork(this._redisplayWorkId); @@ -1493,9 +1496,9 @@ global.settings.is_writable('app-picker-layout'); this._placeholder = new AppIcon(app, { isDraggable }); - this._placeholder.connect('notify::pressed', () => { - if (this._placeholder.pressed) - this.updateDragFocus(this._placeholder); + this._placeholder.connect('notify::pressed', icon => { + if (icon.pressed) + this.updateDragFocus(icon); }); this._placeholder.scaleAndFade(); this._redisplay(); @@ -1640,7 +1643,7 @@ } goToPage(pageNumber, animate = true) { - pageNumber = Math.clamp(pageNumber, 0, this._grid.nPages - 1); + pageNumber = Math.clamp(pageNumber, 0, Math.max(this._grid.nPages - 1, 0)); if (this._grid.currentPage === pageNumber && this._displayingDialog && diff -Nru gnome-shell-42.5/js/ui/calendar.js gnome-shell-42.9/js/ui/calendar.js --- gnome-shell-42.5/js/ui/calendar.js 2022-09-17 17:58:18.422483200 +0000 +++ gnome-shell-42.9/js/ui/calendar.js 2023-03-19 21:13:44.291682200 +0000 @@ -908,7 +908,7 @@ Gio.SettingsBindFlags.INVERT_BOOLEAN); this.connect('destroy', () => { - this._settings.run_dispose(); + Gio.Settings.unbind(this, 'state'); this._settings = null; }); } diff -Nru gnome-shell-42.5/js/ui/dash.js gnome-shell-42.9/js/ui/dash.js --- gnome-shell-42.5/js/ui/dash.js 2022-09-17 17:58:18.425483200 +0000 +++ gnome-shell-42.9/js/ui/dash.js 2023-03-19 21:13:44.293682300 +0000 @@ -830,10 +830,10 @@ _clearDragPlaceholder() { if (this._dragPlaceholder) { this._animatingPlaceholdersCount++; - this._dragPlaceholder.animateOutAndDestroy(); this._dragPlaceholder.connect('destroy', () => { this._animatingPlaceholdersCount--; }); + this._dragPlaceholder.animateOutAndDestroy(); this._dragPlaceholder = null; } this._dragPlaceholderPos = -1; diff -Nru gnome-shell-42.5/js/ui/dialog.js gnome-shell-42.9/js/ui/dialog.js --- gnome-shell-42.5/js/ui/dialog.js 2022-09-17 17:58:18.425483200 +0000 +++ gnome-shell-42.9/js/ui/dialog.js 2023-03-19 21:13:44.294682300 +0000 @@ -60,8 +60,6 @@ } makeInactive() { - this._parentActor.disconnectObject(this); - this.buttonLayout.get_children().forEach(c => c.set_reactive(false)); } diff -Nru gnome-shell-42.5/js/ui/dnd.js gnome-shell-42.9/js/ui/dnd.js --- gnome-shell-42.5/js/ui/dnd.js 2022-09-17 17:58:18.425483200 +0000 +++ gnome-shell-42.9/js/ui/dnd.js 2023-03-19 21:13:44.294682300 +0000 @@ -365,6 +365,10 @@ y = stageY - this._dragActor.height / 2; } this._dragActor.set_position(x, y); + + this._dragActorSourceDestroyId = this._dragActorSource.connect('destroy', () => { + this._dragActorSource = null; + }); } else { this._dragActorSource = this.actor; } @@ -797,6 +801,11 @@ this._dragOrigParent = null; } + if (this._dragActorSource) { + this._dragActorSource.disconnect(this._dragActorSourceDestroyId); + this._dragActorSource = null; + } + this._dragState = DragState.INIT; currentDraggable = null; } diff -Nru gnome-shell-42.5/js/ui/environment.js gnome-shell-42.9/js/ui/environment.js --- gnome-shell-42.5/js/ui/environment.js 2022-09-17 17:58:18.426483200 +0000 +++ gnome-shell-42.9/js/ui/environment.js 2023-03-19 21:13:44.294682300 +0000 @@ -488,7 +488,7 @@ let settings = St.Settings.get(); if (!settings.enable_animations) - return 1; + return Math.min(msecs, 1); return settings.slow_down_factor * msecs; } diff -Nru gnome-shell-42.5/js/ui/inhibitShortcutsDialog.js gnome-shell-42.9/js/ui/inhibitShortcutsDialog.js --- gnome-shell-42.5/js/ui/inhibitShortcutsDialog.js 2022-09-17 17:58:18.427483300 +0000 +++ gnome-shell-42.9/js/ui/inhibitShortcutsDialog.js 2023-03-19 21:13:44.295682200 +0000 @@ -1,5 +1,5 @@ /* exported InhibitShortcutsDialog */ -const { Clutter, Gio, GLib, GObject, Gtk, Meta, Pango, Shell, St } = imports.gi; +const { Clutter, Gio, GObject, Gtk, Meta, Pango, Shell, St } = imports.gi; const Dialog = imports.ui.dialog; const ModalDialog = imports.ui.modalDialog; @@ -57,15 +57,11 @@ if (!this._shouldUsePermStore() || this._permStore == null) return; - let permissions = {}; - permissions[this._app.get_id()] = [grant]; - let data = GLib.Variant.new('av', {}); - - this._permStore.SetRemote(APP_PERMISSIONS_TABLE, - true, - APP_PERMISSIONS_ID, - permissions, - data, + this._permStore.SetPermissionRemote(APP_PERMISSIONS_TABLE, + true, + APP_PERMISSIONS_ID, + this._app.get_id(), + [grant], (result, error) => { if (error != null) log(error.message); @@ -153,7 +149,7 @@ let [permissions] = res; if (permissions[appId] === undefined) // Not found this._dialog.open(); - else if (permissions[appId] == GRANTED) + else if (permissions[appId][0] === GRANTED) this._emitResponse(DialogResponse.ALLOW); else this._emitResponse(DialogResponse.DENY); diff -Nru gnome-shell-42.5/js/ui/layout.js gnome-shell-42.9/js/ui/layout.js --- gnome-shell-42.5/js/ui/layout.js 2022-09-17 17:58:18.428483200 +0000 +++ gnome-shell-42.9/js/ui/layout.js 2023-03-19 21:13:44.296682400 +0000 @@ -694,18 +694,17 @@ }); this.addChrome(this._coverPane); + // Force an update of the regions before we scale the UI group to + // get the correct allocation for the struts. + // Do this even when we don't animate on restart, so that maximized + // windows restore to the right size. + this._updateRegions(); + if (Meta.is_restart()) { - // On restart, we don't do an animation. Force an update of the - // regions immediately so that maximized windows restore to the - // right size taking struts into account. - this._updateRegions(); + // On restart, we don't do an animation. } else if (Main.sessionMode.isGreeter) { this.panelBox.translation_y = -this.panelBox.height; } else { - // We need to force an update of the regions now before we scale - // the UI group to get the correct allocation for the struts. - this._updateRegions(); - this.keyboardBox.hide(); let monitor = this.primaryMonitor; diff -Nru gnome-shell-42.5/js/ui/overviewControls.js gnome-shell-42.9/js/ui/overviewControls.js --- gnome-shell-42.5/js/ui/overviewControls.js 2022-09-17 17:58:18.432483400 +0000 +++ gnome-shell-42.9/js/ui/overviewControls.js 2023-03-19 21:13:44.300682300 +0000 @@ -715,11 +715,17 @@ this._workspacesDisplay.hide(); } - animateToOverview(state, callback) { - this._ignoreShowAppsButtonToggle = true; - + prepareToEnterOverview() { this._searchController.prepareToEnterOverview(); this._workspacesDisplay.prepareToEnterOverview(); + } + + prepareToLeaveOverview() { + this._workspacesDisplay.prepareToLeaveOverview(); + } + + animateToOverview(state, callback) { + this._ignoreShowAppsButtonToggle = true; this._stateAdjustment.value = ControlsState.HIDDEN; this._stateAdjustment.ease(state, { @@ -740,8 +746,6 @@ animateFromOverview(callback) { this._ignoreShowAppsButtonToggle = true; - this._workspacesDisplay.prepareToLeaveOverview(); - this._stateAdjustment.ease(ControlsState.HIDDEN, { duration: Overview.ANIMATION_TIME, mode: Clutter.AnimationMode.EASE_OUT_QUAD, @@ -775,8 +779,7 @@ this._stateAdjustment.remove_transition('value'); tracker.confirmSwipe(baseDistance, points, progress, cancelProgress); - this._workspacesDisplay.prepareToEnterOverview(); - this._searchController.prepareToEnterOverview(); + this.prepareToEnterOverview(); this._stateAdjustment.gestureInProgress = true; } @@ -786,7 +789,7 @@ gestureEnd(target, duration, onComplete) { if (target === ControlsState.HIDDEN) - this._workspacesDisplay.prepareToLeaveOverview(); + this.prepareToLeaveOverview(); this.dash.showAppsButton.checked = target === ControlsState.APP_GRID; @@ -804,8 +807,7 @@ async runStartupAnimation(callback) { this._ignoreShowAppsButtonToggle = true; - this._searchController.prepareToEnterOverview(); - this._workspacesDisplay.prepareToEnterOverview(); + this.prepareToEnterOverview(); this._stateAdjustment.value = ControlsState.HIDDEN; this._stateAdjustment.ease(ControlsState.WINDOW_PICKER, { diff -Nru gnome-shell-42.5/js/ui/overview.js gnome-shell-42.9/js/ui/overview.js --- gnome-shell-42.5/js/ui/overview.js 2022-09-17 17:58:18.431483300 +0000 +++ gnome-shell-42.9/js/ui/overview.js 2023-03-19 21:13:44.299682400 +0000 @@ -78,6 +78,14 @@ this.add_child(this._controls); } + prepareToEnterOverview() { + this._controls.prepareToEnterOverview(); + } + + prepareToLeaveOverview() { + this._controls.prepareToLeaveOverview(); + } + animateToOverview(state, callback) { this._controls.animateToOverview(state, callback); } @@ -103,6 +111,34 @@ } }); +const OverviewShownState = { + HIDDEN: 'HIDDEN', + HIDING: 'HIDING', + SHOWING: 'SHOWING', + SHOWN: 'SHOWN', +}; + +const OVERVIEW_SHOWN_TRANSITIONS = { + [OverviewShownState.HIDDEN]: { + signal: 'hidden', + allowedTransitions: [OverviewShownState.SHOWING], + }, + [OverviewShownState.HIDING]: { + signal: 'hiding', + allowedTransitions: + [OverviewShownState.HIDDEN, OverviewShownState.SHOWING], + }, + [OverviewShownState.SHOWING]: { + signal: 'showing', + allowedTransitions: + [OverviewShownState.SHOWN, OverviewShownState.HIDING], + }, + [OverviewShownState.SHOWN]: { + signal: 'shown', + allowedTransitions: [OverviewShownState.HIDING], + }, +}; + var Overview = class { constructor() { this._initCalled = false; @@ -152,6 +188,7 @@ this._modal = false; // have a modal grab this._animationInProgress = false; this._visibleTarget = false; + this._shownState = OverviewShownState.HIDDEN; // During transitions, we raise this to the top to avoid having the overview // area be reactive; it causes too many issues such as double clicks on @@ -248,6 +285,19 @@ this._shellInfo.setMessage(text, options); } + _changeShownState(state) { + const {allowedTransitions} = + OVERVIEW_SHOWN_TRANSITIONS[this._shownState]; + + if (!allowedTransitions.includes(state)) { + throw new Error('Invalid overview shown transition from ' + + `${this._shownState} to ${state}`); + } + + this._shownState = state; + this.emit(OVERVIEW_SHOWN_TRANSITIONS[state].signal); + } + _onDragBegin() { this._inXdndDrag = true; @@ -360,7 +410,7 @@ Main.layoutManager.overviewGroup.set_child_above_sibling( this._coverPane, null); this._coverPane.show(); - this.emit('showing'); + this._changeShownState(OverviewShownState.SHOWING); Main.layoutManager.showOverview(); this._syncGrab(); @@ -374,7 +424,7 @@ if (endProgress === 0) { this._shown = false; this._visibleTarget = false; - this.emit('hiding'); + this._changeShownState(OverviewShownState.HIDING); Main.panel.style = `transition-duration: ${duration}ms;`; onComplete = () => this._hideDone(); } else { @@ -448,7 +498,8 @@ if (this._shown) { let shouldBeModal = !this._inXdndDrag; if (shouldBeModal && !this._modal) { - if (global.display.get_grab_op() !== Meta.GrabOp.NONE) { + if (global.display.get_grab_op() !== Meta.GrabOp.NONE && + global.display.get_grab_op() !== Meta.GrabOp.WAYLAND_POPUP) { this.hide(); return false; } @@ -508,19 +559,22 @@ Meta.disable_unredirect_for_display(global.display); - this._overview.animateToOverview(state, () => this._showDone()); - Main.layoutManager.overviewGroup.set_child_above_sibling( this._coverPane, null); this._coverPane.show(); - this.emit('showing'); + + this._overview.prepareToEnterOverview(); + this._changeShownState(OverviewShownState.SHOWING); + this._overview.animateToOverview(state, () => this._showDone()); } _showDone() { this._animationInProgress = false; this._coverPane.hide(); - this.emit('shown'); + if (this._shownState !== OverviewShownState.SHOWN) + this._changeShownState(OverviewShownState.SHOWN); + // Handle any calls to hide* while we were showing if (!this._shown) this._animateNotVisible(); @@ -561,12 +615,13 @@ this._animationInProgress = true; this._visibleTarget = false; - this._overview.animateFromOverview(() => this._hideDone()); - Main.layoutManager.overviewGroup.set_child_above_sibling( this._coverPane, null); this._coverPane.show(); - this.emit('hiding'); + + this._overview.prepareToLeaveOverview(); + this._changeShownState(OverviewShownState.HIDING); + this._overview.animateFromOverview(() => this._hideDone()); } _hideDone() { @@ -580,11 +635,11 @@ // Handle any calls to show* while we were hiding if (this._shown) { - this.emit('hidden'); + this._changeShownState(OverviewShownState.HIDDEN); this._animateVisible(OverviewControls.ControlsState.WINDOW_PICKER); } else { Main.layoutManager.hideOverview(); - this.emit('hidden'); + this._changeShownState(OverviewShownState.HIDDEN); } Main.panel.style = null; @@ -624,16 +679,23 @@ Meta.disable_unredirect_for_display(global.display); - this.emit('showing'); + this._changeShownState(OverviewShownState.SHOWING); this._overview.runStartupAnimation(() => { + // Overview got hidden during startup animation + if (this._shownState !== OverviewShownState.SHOWING) { + callback(); + return; + } + if (!this._syncGrab()) { callback(); + this.hide(); return; } Main.panel.style = null; - this.emit('shown'); + this._changeShownState(OverviewShownState.SHOWN); callback(); }); } diff -Nru gnome-shell-42.5/js/ui/panel.js gnome-shell-42.9/js/ui/panel.js --- gnome-shell-42.5/js/ui/panel.js 2022-09-17 17:58:18.432483400 +0000 +++ gnome-shell-42.9/js/ui/panel.js 2023-03-19 21:13:44.300682300 +0000 @@ -724,8 +724,6 @@ box.insert_child_at_index(container, position); - if (indicator.menu) - this.menuManager.addMenu(indicator.menu); this.statusArea[role] = indicator; let destroyId = indicator.connect('destroy', emitter => { delete this.statusArea[role]; @@ -758,6 +756,8 @@ if (!indicator.menu || indicator.menu._openChangedId) return; + this.menuManager.addMenu(indicator.menu); + indicator.menu._openChangedId = indicator.menu.connect('open-state-changed', (menu, isOpen) => { let boxAlignment; diff -Nru gnome-shell-42.5/js/ui/shellEntry.js gnome-shell-42.9/js/ui/shellEntry.js --- gnome-shell-42.5/js/ui/shellEntry.js 2022-09-17 17:58:18.435483500 +0000 +++ gnome-shell-42.9/js/ui/shellEntry.js 2023-03-19 21:13:44.303682600 +0000 @@ -170,7 +170,6 @@ let seat = Clutter.get_default_backend().get_default_seat(); this._keymap = seat.get_keymap(); - this._stateChangedId = 0; this.connect('notify::mapped', () => { if (this.is_mapped()) { diff -Nru gnome-shell-42.5/js/ui/status/keyboard.js gnome-shell-42.9/js/ui/status/keyboard.js --- gnome-shell-42.5/js/ui/status/keyboard.js 2022-09-17 17:58:18.437483500 +0000 +++ gnome-shell-42.9/js/ui/status/keyboard.js 2023-03-19 21:13:44.304682500 +0000 @@ -520,15 +520,18 @@ } let mruSources = []; - for (let i = 0; i < this._mruSources.length; i++) { - for (let j = 0; j < sourcesList.length; j++) { - if (this._mruSources[i].type == sourcesList[j].type && - this._mruSources[i].id == sourcesList[j].id) { - mruSources = mruSources.concat(sourcesList.splice(j, 1)); - break; + if (this._mruSources.length > 1) { + for (let i = 0; i < this._mruSources.length; i++) { + for (let j = 0; j < sourcesList.length; j++) { + if (this._mruSources[i].type === sourcesList[j].type && + this._mruSources[i].id === sourcesList[j].id) { + mruSources = mruSources.concat(sourcesList.splice(j, 1)); + break; + } } } } + this._mruSources = mruSources.concat(sourcesList); } diff -Nru gnome-shell-42.5/lint/eslintrc-legacy.yml gnome-shell-42.9/lint/eslintrc-legacy.yml --- gnome-shell-42.5/lint/eslintrc-legacy.yml 2022-09-17 17:58:18.442483700 +0000 +++ gnome-shell-42.9/lint/eslintrc-legacy.yml 2023-03-19 21:13:44.309682600 +0000 @@ -18,4 +18,7 @@ jsdoc/require-param-description: off jsdoc/require-param-name: off jsdoc/require-param-type: off + object-curly-spacing: + - error + - always quotes: off diff -Nru gnome-shell-42.5/lint/eslintrc-shell.yml gnome-shell-42.9/lint/eslintrc-shell.yml --- gnome-shell-42.5/lint/eslintrc-shell.yml 2022-09-17 17:58:18.442483700 +0000 +++ gnome-shell-42.9/lint/eslintrc-shell.yml 2023-03-19 21:13:44.309682600 +0000 @@ -9,9 +9,6 @@ - mode: minimum beforeColon: false afterColon: true - object-curly-spacing: - - error - - always prefer-arrow-callback: error overrides: diff -Nru gnome-shell-42.5/meson.build gnome-shell-42.9/meson.build --- gnome-shell-42.5/meson.build 2022-09-17 17:58:18.443483600 +0000 +++ gnome-shell-42.9/meson.build 2023-03-19 21:13:44.310682500 +0000 @@ -1,5 +1,5 @@ project('gnome-shell', 'c', - version: '42.5', + version: '42.9', meson_version: '>= 0.58.0', license: 'GPLv2+' ) diff -Nru gnome-shell-42.5/NEWS gnome-shell-42.9/NEWS --- gnome-shell-42.5/NEWS 2022-09-17 17:58:18.316480900 +0000 +++ gnome-shell-42.9/NEWS 2023-03-19 21:13:44.267681600 +0000 @@ -1,3 +1,51 @@ +42.9 +==== +* Misc. bug fixes and cleanups [Jonas, Sebastian; !2318, !2667] + +Contributors: + Jonas Dreßler, Sebastian Keller + +42.8 +==== +* Lower OOM score of gnome-shell process [Jian-Hong; !2582] +* Fixed crash [Florian; !2622] +* Plugged leak [Sebastian; !2637] +* Misc. bug fixes and cleanups [Florian, Jonas, Alessandro, Sebastian; !2571, + !2594, !2606, !2604, !2399, !2625, !2552, !2514] + +Contributors: + Alessandro Bono, Jonas Dreßler, Sebastian Keller, Florian Müllner, + Jian-Hong Pan, Nart Tlisha + +Translators: + Sergej A [ru], Nart Tlisha [ab] + +42.7 +==== +* Properly apply saved shortcuts inhibition permissions [Florian; !2548] +* Don't let wayland popovers block overview [Florian; !2549] +* Misc. bug fixes and cleanups [Alessandro, Florian, Jonas; + !2536, !2546, !2532, !1349] + +Contributors: + Alessandro Bono, Florian Müllner, Jonas Ådahl + +Translators: + Zurab Kargareteli [ka] + +42.6 +==== +* Fix remembering inhibit-shortcut permission for multiple apps [Florian; !2504] +* Forward TERMINAL input purpose to ibus [Jonas; !2511] +* Fix default keyboard layout during initial setup [Carlos; !2495] +* Fix tracking of newly installed apps [Florian; !2480] +* Misc. bug fixes and cleanups [Andy, Alessandro, Florian, Sebastian; !2470, + !2471, !2483, !2503] + +Contributors: + Alessandro Bono, Carlos Garnacho, Andy Holmes, Sebastian Keller, + Florian Müllner, Jonas Ådahl + 42.5 ==== * Fix initial selection in switch-monitor popup on desktop [Yao; !2451] diff -Nru gnome-shell-42.5/po/ab.po gnome-shell-42.9/po/ab.po --- gnome-shell-42.5/po/ab.po 1970-01-01 00:00:00.000000000 +0000 +++ gnome-shell-42.9/po/ab.po 2023-03-19 21:13:44.311682700 +0000 @@ -0,0 +1,3066 @@ +msgid "" +msgstr "" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n" +"POT-Creation-Date: 2022-11-13 22:34+0000\n" +"Last-Translator: Нанба Наала \n" +"Language-Team: Abkhazian \n" +"Language: ab\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-DamnedLies-Scope: partial\n" + +#: data/50-gnome-shell-launchers.xml:6 +msgid "Launchers" +msgstr "" + +#: data/50-gnome-shell-launchers.xml:10 +msgid "Activate favorite application 1" +msgstr "" + +#: data/50-gnome-shell-launchers.xml:14 +msgid "Activate favorite application 2" +msgstr "" + +#: data/50-gnome-shell-launchers.xml:18 +msgid "Activate favorite application 3" +msgstr "" + +#: data/50-gnome-shell-launchers.xml:22 +msgid "Activate favorite application 4" +msgstr "" + +#: data/50-gnome-shell-launchers.xml:26 +msgid "Activate favorite application 5" +msgstr "" + +#: data/50-gnome-shell-launchers.xml:30 +msgid "Activate favorite application 6" +msgstr "" + +#: data/50-gnome-shell-launchers.xml:34 +msgid "Activate favorite application 7" +msgstr "" + +#: data/50-gnome-shell-launchers.xml:38 +msgid "Activate favorite application 8" +msgstr "" + +#: data/50-gnome-shell-launchers.xml:42 +msgid "Activate favorite application 9" +msgstr "" + +#. Translators: name of the folder under ~/Pictures for screenshots. +#: data/50-gnome-shell-screenshots.xml:6 js/ui/screenshot.js:2073 +msgid "Screenshots" +msgstr "" + +#: data/50-gnome-shell-screenshots.xml:9 +#: data/org.gnome.shell.gschema.xml.in:235 +msgid "Take a screenshot interactively" +msgstr "Аскриншот аҟаҵара" + +#: data/50-gnome-shell-screenshots.xml:12 +#: data/org.gnome.shell.gschema.xml.in:247 +msgid "Take a screenshot" +msgstr "Аскриншот аҟаҵара" + +#: data/50-gnome-shell-screenshots.xml:15 +#: data/org.gnome.shell.gschema.xml.in:243 +msgid "Take a screenshot of a window" +msgstr "Аскриншот аҟаҵара" + +#: data/50-gnome-shell-screenshots.xml:18 +#: data/org.gnome.shell.gschema.xml.in:239 +msgid "Record a screencast interactively" +msgstr "" + +#: data/50-gnome-shell-system.xml:6 +msgid "System" +msgstr "" + +#: data/50-gnome-shell-system.xml:9 +msgid "Show the notification list" +msgstr "" + +#: data/50-gnome-shell-system.xml:12 +msgid "Focus the active notification" +msgstr "" + +#: data/50-gnome-shell-system.xml:15 +msgid "Show the overview" +msgstr "" + +#: data/50-gnome-shell-system.xml:18 +msgid "Show all applications" +msgstr "" + +#: data/50-gnome-shell-system.xml:21 +msgid "Open the application menu" +msgstr "Аԥшьы амениу аартра " + +#: data/org.gnome.Shell.desktop.in.in:4 +msgid "GNOME Shell" +msgstr "GNOME Shell" + +#: data/org.gnome.Shell.desktop.in.in:5 +msgid "Window management and application launching" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:6 +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "" +"Аҭҵааҩцәеи аԥышәара азызуои рзы Alt-F2 аҟынтәи аҩныҵҟатәи амаругақәа рҿакра" + +#: data/org.gnome.shell.gschema.xml.in:9 +msgid "" +"Allows access to internal debugging and monitoring tools using the Alt-F2 " +"dialog." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:16 +msgid "UUIDs of extensions to enable" +msgstr "UUID иаҿаку ахкырбагақәа" + +#: data/org.gnome.shell.gschema.xml.in:17 +msgid "" +"GNOME Shell extensions have a UUID property; this key lists extensions which " +"should be loaded. Any extension that wants to be loaded needs to be in this " +"list. You can also manipulate this list with the EnableExtension and " +"DisableExtension D-Bus methods on org.gnome.Shell." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:26 +msgid "UUIDs of extensions to force disabling" +msgstr "UUID иаҿаку ахкырбагақәа" + +#: data/org.gnome.shell.gschema.xml.in:27 +msgid "" +"GNOME Shell extensions have a UUID property; this key lists extensions which " +"should be disabled, even if loaded as part of the current mode. You can also " +"manipulate this list with the EnableExtension and DisableExtension D-Bus " +"methods on org.gnome.Shell. This key takes precedence over the “enabled-" +"extensions” setting." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:37 +msgid "Disable user extensions" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:38 +msgid "" +"Disable all extensions the user has enabled without affecting the “enabled-" +"extension” setting." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:45 +msgid "Disables the validation of extension version compatibility" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:46 +msgid "" +"GNOME Shell will only load extensions that claim to support the current " +"running version. Enabling this option will disable this check and try to " +"load all extensions regardless of the versions they claim to support." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:54 +msgid "List of desktop file IDs for favorite applications" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:55 +msgid "" +"The applications corresponding to these identifiers will be displayed in the " +"favorites area." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:62 +msgid "History for command (Alt-F2) dialog" +msgstr "" + +#. Translators: looking glass is a debugger and inspector tool, see https://wiki.gnome.org/Projects/GnomeShell/LookingGlass +#: data/org.gnome.shell.gschema.xml.in:67 +msgid "History for the looking glass dialog" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:71 +msgid "Always show the “Log out” menu item in the user menu." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:72 +msgid "" +"This key overrides the automatic hiding of the “Log out” menu item in single-" +"user, single-session situations." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:79 +msgid "" +"Whether to remember password for mounting encrypted or remote filesystems" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:80 +msgid "" +"The shell will request a password when an encrypted device or a remote " +"filesystem is mounted. If the password can be saved for future use a " +"“Remember Password” checkbox will be present. This key sets the default " +"state of the checkbox." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:89 +msgid "" +"Whether the default Bluetooth adapter had set up devices associated to it" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:90 +msgid "" +"The shell will only show a Bluetooth menu item if a Bluetooth adapter is " +"powered, or if there were devices set up associated with the default " +"adapter. This will be reset if the default adapter is ever seen not to have " +"devices associated to it." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:99 +msgid "The last version the “Welcome to GNOME” dialog was shown for" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:100 +msgid "" +"This key determines for which version the “Welcome to GNOME” dialog was last " +"shown. An empty string represents the oldest possible version, and a huge " +"number will represent versions that do not exist yet. This huge number can " +"be used to effectively disable the dialog." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:133 +msgid "Layout of the app picker" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:134 +msgid "" +"Layout of the app picker. Each entry in the array is a page. Pages are " +"stored in the order they appear in GNOME Shell. Each page contains an " +"“application id” → 'data' pair. Currently, the following values are stored " +"as 'data': • “position”: the position of the application icon in the page" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:149 +msgid "Keybinding to open the application menu" +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:150 +msgid "Keybinding to open the application menu." +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:156 +#: data/org.gnome.shell.gschema.xml.in:163 +msgid "Keybinding to shift between overview states" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:157 +msgid "Keybinding to shift between session, window picker and app grid" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:164 +msgid "Keybinding to shift between app grid, window picker and session" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:170 +msgid "Keybinding to open the “Show Applications” view" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:171 +msgid "" +"Keybinding to open the “Show Applications” view of the Activities Overview." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:178 +msgid "Keybinding to open the overview" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:179 +msgid "Keybinding to open the Activities Overview." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:185 +msgid "Keybinding to toggle the visibility of the notification list" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:186 +msgid "Keybinding to toggle the visibility of the notification list." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:192 +msgid "Keybinding to focus the active notification" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:193 +msgid "Keybinding to focus the active notification." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:199 +msgid "Switch to application 1" +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:203 +msgid "Switch to application 2" +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:207 +msgid "Switch to application 3" +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:211 +msgid "Switch to application 4" +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:215 +msgid "Switch to application 5" +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:219 +msgid "Switch to application 6" +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:223 +msgid "Switch to application 7" +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:227 +msgid "Switch to application 8" +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:231 +msgid "Switch to application 9" +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:256 +#: data/org.gnome.shell.gschema.xml.in:283 +msgid "Limit switcher to current workspace." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:257 +msgid "" +"If true, only applications that have windows on the current workspace are " +"shown in the switcher. Otherwise, all applications are included." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:274 +msgid "The application icon mode." +msgstr "Аԥшьы амениу аартра" + +#: data/org.gnome.shell.gschema.xml.in:275 +msgid "" +"Configures how the windows are shown in the switcher. Valid possibilities " +"are “thumbnail-only” (shows a thumbnail of the window), “app-icon-" +"only” (shows only the application icon) or “both”." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:284 +msgid "" +"If true, only windows from the current workspace are shown in the switcher. " +"Otherwise, all windows are included." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:294 +msgid "Locations" +msgstr "Аҭыӡҭыԥқәа" + +#: data/org.gnome.shell.gschema.xml.in:295 +msgid "The locations to show in world clocks" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:305 +msgid "Automatic location" +msgstr "Автоматикла ҭыԥс аҟазаара аилкаара" + +#: data/org.gnome.shell.gschema.xml.in:306 +msgid "Whether to fetch the current location or not" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:313 +msgid "Location" +msgstr "Аҭыӡҭыԥ" + +#: data/org.gnome.shell.gschema.xml.in:314 +msgid "The location for which to show a forecast" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:326 +msgid "Attach modal dialog to the parent window" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:327 +#: data/org.gnome.shell.gschema.xml.in:336 +#: data/org.gnome.shell.gschema.xml.in:344 +#: data/org.gnome.shell.gschema.xml.in:352 +#: data/org.gnome.shell.gschema.xml.in:360 +msgid "" +"This key overrides the key in org.gnome.mutter when running GNOME Shell." +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:335 +msgid "Enable edge tiling when dropping windows on screen edges" +msgstr "" +"Аԥенџьырқәа аекран акьыԥшь ахь реиҭагараан автоматикла аԥенџьыр ашәагаа " +"аҽаԥсахра аҿакра." + +#: data/org.gnome.shell.gschema.xml.in:343 +msgid "Workspaces are managed dynamically" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:351 +msgid "Workspaces only on primary monitor" +msgstr "" + +#: data/org.gnome.shell.gschema.xml.in:359 +msgid "Delay focus changes in mouse mode until the pointer stops moving" +msgstr "" + +#: data/org.gnome.Shell.PortalHelper.desktop.in.in:3 +msgid "Network Login" +msgstr "" + +#: js/dbusServices/extensions/ui/extension-error-page.ui:15 +#: subprojects/extensions-app/data/ui/extensions-window.ui:144 +msgid "Something’s gone wrong" +msgstr "" + +#: js/dbusServices/extensions/ui/extension-error-page.ui:23 +msgid "" +"We’re very sorry, but there’s been a problem: the settings for this " +"extension can’t be displayed. We recommend that you report the issue to the " +"extension authors." +msgstr "" + +#: js/dbusServices/extensions/ui/extension-error-page.ui:48 +msgid "Technical Details" +msgstr "" + +#: js/dbusServices/extensions/ui/extension-error-page.ui:90 +msgid "Homepage" +msgstr "" + +#: js/dbusServices/extensions/ui/extension-error-page.ui:91 +msgid "Visit extension homepage" +msgstr "" + +#: js/gdm/authPrompt.js:144 js/ui/audioDeviceSelection.js:61 +#: js/ui/components/networkAgent.js:109 js/ui/components/polkitAgent.js:141 +#: js/ui/endSessionDialog.js:437 js/ui/extensionDownloader.js:223 +#: js/ui/shellMountOperation.js:377 js/ui/shellMountOperation.js:387 +#: js/ui/status/network.js:956 subprojects/extensions-app/js/main.js:175 +msgid "Cancel" +msgstr "Аԥыхры" + +#: js/gdm/authPrompt.js:307 js/ui/components/networkAgent.js:209 +#: js/ui/components/networkAgent.js:229 js/ui/components/networkAgent.js:261 +#: js/ui/components/networkAgent.js:294 js/ui/components/networkAgent.js:333 +#: js/ui/components/networkAgent.js:346 js/ui/components/polkitAgent.js:283 +#: js/ui/shellMountOperation.js:327 +msgid "Password" +msgstr "Ажәамаӡа" + +#: js/gdm/loginDialog.js:317 +msgid "Choose Session" +msgstr "" + +#: js/gdm/loginDialog.js:463 +msgid "Not listed?" +msgstr "" + +#. Translators: this message is shown below the username entry field +#. to clue the user in on how to login to the local network realm +#: js/gdm/loginDialog.js:931 +#, javascript-format +msgid "(e.g., user or %s)" +msgstr "" + +#: js/gdm/loginDialog.js:936 js/ui/components/networkAgent.js:253 +#: js/ui/components/networkAgent.js:288 js/ui/components/networkAgent.js:322 +msgid "Username" +msgstr "Ахархәаҩ ихьӡ" + +#: js/gdm/loginDialog.js:1258 +msgid "Login Window" +msgstr "" + +#: js/gdm/util.js:431 +msgid "Authentication error" +msgstr "" + +#. Translators: this message is shown below the password entry field +#. to indicate the user can swipe their finger on the fingerprint reader +#: js/gdm/util.js:603 +msgid "(or swipe finger across reader)" +msgstr "" + +#. Translators: this message is shown below the password entry field +#. to indicate the user can place their finger on the fingerprint reader instead +#: js/gdm/util.js:608 +msgid "(or place finger on reader)" +msgstr "" + +#. Translators: The name of the power-off action in search +#: js/misc/systemActions.js:84 +msgctxt "search-result" +msgid "Power Off" +msgstr "" + +#. Translators: A list of keywords that match the power-off action, separated by semicolons +#: js/misc/systemActions.js:87 +msgid "power off;shutdown;halt;stop" +msgstr "" + +#. Translators: The name of the restart action in search +#: js/misc/systemActions.js:92 +msgctxt "search-result" +msgid "Restart" +msgstr "" + +#. Translators: A list of keywords that match the restart action, separated by semicolons +#: js/misc/systemActions.js:95 +msgid "reboot;restart;" +msgstr "" + +#. Translators: The name of the lock screen action in search +#: js/misc/systemActions.js:100 +msgctxt "search-result" +msgid "Lock Screen" +msgstr "" + +#. Translators: A list of keywords that match the lock screen action, separated by semicolons +#: js/misc/systemActions.js:103 +msgid "lock screen" +msgstr "" + +#. Translators: The name of the logout action in search +#: js/misc/systemActions.js:108 +msgctxt "search-result" +msgid "Log Out" +msgstr "" + +#. Translators: A list of keywords that match the logout action, separated by semicolons +#: js/misc/systemActions.js:111 +msgid "logout;log out;sign off" +msgstr "" + +#. Translators: The name of the suspend action in search +#: js/misc/systemActions.js:116 +msgctxt "search-result" +msgid "Suspend" +msgstr "" + +#. Translators: A list of keywords that match the suspend action, separated by semicolons +#: js/misc/systemActions.js:119 +msgid "suspend;sleep" +msgstr "" + +#. Translators: The name of the switch user action in search +#: js/misc/systemActions.js:124 +msgctxt "search-result" +msgid "Switch User" +msgstr "" + +#. Translators: A list of keywords that match the switch user action, separated by semicolons +#: js/misc/systemActions.js:127 +msgid "switch user" +msgstr "" + +#. Translators: A list of keywords that match the lock orientation action, separated by semicolons +#: js/misc/systemActions.js:134 +msgid "lock orientation;unlock orientation;screen;rotation" +msgstr "" + +#. Translators: The name of the screenshot UI action in search +#: js/misc/systemActions.js:139 +msgctxt "search-result" +msgid "Take a Screenshot" +msgstr "" + +#. Translators: A list of keywords that match the screenshot UI action, separated by semicolons +#: js/misc/systemActions.js:142 +msgid "screenshot;screencast;snip;capture;record" +msgstr "" + +#: js/misc/systemActions.js:242 +msgctxt "search-result" +msgid "Unlock Screen Rotation" +msgstr "" + +#: js/misc/systemActions.js:243 +msgctxt "search-result" +msgid "Lock Screen Rotation" +msgstr "" + +#: js/misc/util.js:129 +msgid "Command not found" +msgstr "" + +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: js/misc/util.js:166 +msgid "Could not parse command:" +msgstr "" + +#: js/misc/util.js:174 +#, javascript-format +msgid "Execution of “%s” failed:" +msgstr "" + +#: js/misc/util.js:191 +msgid "Just now" +msgstr "" + +#: js/misc/util.js:193 +#, javascript-format +msgid "%d minute ago" +msgid_plural "%d minutes ago" +msgstr[0] "" +msgstr[1] "" + +#: js/misc/util.js:197 +#, javascript-format +msgid "%d hour ago" +msgid_plural "%d hours ago" +msgstr[0] "" +msgstr[1] "" + +#: js/misc/util.js:201 js/ui/dateMenu.js:167 +msgid "Yesterday" +msgstr "Иацы" + +#: js/misc/util.js:203 +#, javascript-format +msgid "%d day ago" +msgid_plural "%d days ago" +msgstr[0] "" +msgstr[1] "" + +#: js/misc/util.js:207 +#, javascript-format +msgid "%d week ago" +msgid_plural "%d weeks ago" +msgstr[0] "" +msgstr[1] "" + +#: js/misc/util.js:211 +#, javascript-format +msgid "%d month ago" +msgid_plural "%d months ago" +msgstr[0] "" +msgstr[1] "" + +#: js/misc/util.js:214 +#, javascript-format +msgid "%d year ago" +msgid_plural "%d years ago" +msgstr[0] "" +msgstr[1] "" + +#. Translators: Time in 24h format +#: js/misc/util.js:247 +msgid "%H∶%M" +msgstr "%H∶%M" + +#. Translators: this is the word "Yesterday" followed by a +#. time string in 24h format. i.e. "Yesterday, 14:30" +#: js/misc/util.js:253 +#, no-c-format +msgid "Yesterday, %H∶%M" +msgstr "Иацы, %H∶%M" + +#. Translators: this is the week day name followed by a time +#. string in 24h format. i.e. "Monday, 14:30" +#: js/misc/util.js:259 +#, no-c-format +msgid "%A, %H∶%M" +msgstr "%A, %H∶%M" + +#. Translators: this is the month name and day number +#. followed by a time string in 24h format. +#. i.e. "May 25, 14:30" +#: js/misc/util.js:265 +#, no-c-format +msgid "%B %-d, %H∶%M" +msgstr "%-d %B, %H∶%M" + +#. Translators: this is the month name, day number, year +#. number followed by a time string in 24h format. +#. i.e. "May 25 2012, 14:30" +#: js/misc/util.js:271 +#, no-c-format +msgid "%B %-d %Y, %H∶%M" +msgstr "%-d %B %Y, %H∶%M" + +#. Show only the time if date is on today +#. eslint-disable-line no-lonely-if +#. Translators: Time in 12h format +#: js/misc/util.js:276 +msgid "%l∶%M %p" +msgstr "%l∶%M %p" + +#. Translators: this is the word "Yesterday" followed by a +#. time string in 12h format. i.e. "Yesterday, 2:30 pm" +#: js/misc/util.js:282 +#, no-c-format +msgid "Yesterday, %l∶%M %p" +msgstr "Иацы, %-l∶%M %p" + +#. Translators: this is the week day name followed by a time +#. string in 12h format. i.e. "Monday, 2:30 pm" +#: js/misc/util.js:288 +#, no-c-format +msgid "%A, %l∶%M %p" +msgstr "%A, %-l∶%M %p" + +#. Translators: this is the month name and day number +#. followed by a time string in 12h format. +#. i.e. "May 25, 2:30 pm" +#: js/misc/util.js:294 +#, no-c-format +msgid "%B %-d, %l∶%M %p" +msgstr "%-d %B, %l∶%M %p" + +#. Translators: this is the month name, day number, year +#. number followed by a time string in 12h format. +#. i.e. "May 25 2012, 2:30 pm" +#: js/misc/util.js:300 +#, no-c-format +msgid "%B %-d %Y, %l∶%M %p" +msgstr "%-d %B %Y, %l∶%M %p" + +#: js/portalHelper/main.js:55 +msgid "Hotspot Login" +msgstr "Анеира аҭыԥ аҟны ахаҭара шьақәыргылара" + +#: js/portalHelper/main.js:108 +msgid "" +"Your connection to this hotspot login is not secure. Passwords or other " +"information you enter on this page can be viewed by people nearby." +msgstr "" + +#. No support for non-modal system dialogs, so ignore the option +#. let modal = options['modal'] || true; +#: js/ui/accessDialog.js:39 js/ui/status/location.js:406 +msgid "Deny Access" +msgstr "" + +#: js/ui/accessDialog.js:40 js/ui/status/location.js:411 +msgid "Grant Access" +msgstr "" + +#: js/ui/appFavorites.js:164 +#, javascript-format +msgid "%s has been pinned to the dash." +msgstr "" + +#: js/ui/appFavorites.js:197 +#, javascript-format +msgid "%s has been unpinned from the dash." +msgstr "" + +#. Translators: This is the heading of a list of open windows +#: js/ui/appMenu.js:46 +msgid "Open Windows" +msgstr "" + +#: js/ui/appMenu.js:54 +msgid "New Window" +msgstr "Аҧенџьыр ҿыц" + +#: js/ui/appMenu.js:81 +msgid "Show Details" +msgstr "Аԥкаарақәа рырбара" + +#: js/ui/appMenu.js:97 +msgid "Quit" +msgstr "Аҭыҵра" + +#: js/ui/appMenu.js:157 js/ui/dash.js:249 +msgid "Unpin" +msgstr "" + +#: js/ui/appMenu.js:158 +msgid "Pin to Dash" +msgstr "" + +#: js/ui/appMenu.js:175 +msgid "Launch using Integrated Graphics Card" +msgstr "" + +#: js/ui/appMenu.js:176 +msgid "Launch using Discrete Graphics Card" +msgstr "" + +#: js/ui/audioDeviceSelection.js:41 +msgid "Select Audio Device" +msgstr "" + +#: js/ui/audioDeviceSelection.js:56 +msgid "Sound Settings" +msgstr "" + +#: js/ui/audioDeviceSelection.js:69 +msgid "Headphones" +msgstr "" + +#: js/ui/audioDeviceSelection.js:71 +msgid "Headset" +msgstr "" + +#: js/ui/audioDeviceSelection.js:73 js/ui/status/volume.js:271 +msgid "Microphone" +msgstr "Амикрофон" + +#: js/ui/backgroundMenu.js:14 +msgid "Change Background…" +msgstr "" + +#: js/ui/backgroundMenu.js:16 js/ui/status/nightLight.js:45 +msgid "Display Settings" +msgstr "" + +#: js/ui/backgroundMenu.js:17 +#: subprojects/extensions-app/data/ui/extension-row.ui:122 +msgid "Settings" +msgstr "Архиарақәа" + +#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). +#: js/ui/calendar.js:35 +msgctxt "calendar-no-work" +msgid "06" +msgstr "" + +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: js/ui/calendar.js:61 +msgctxt "grid sunday" +msgid "S" +msgstr "" + +#. Translators: Calendar grid abbreviation for Monday +#: js/ui/calendar.js:63 +msgctxt "grid monday" +msgid "M" +msgstr "" + +#. Translators: Calendar grid abbreviation for Tuesday +#: js/ui/calendar.js:65 +msgctxt "grid tuesday" +msgid "T" +msgstr "" + +#. Translators: Calendar grid abbreviation for Wednesday +#: js/ui/calendar.js:67 +msgctxt "grid wednesday" +msgid "W" +msgstr "" + +#. Translators: Calendar grid abbreviation for Thursday +#: js/ui/calendar.js:69 +msgctxt "grid thursday" +msgid "T" +msgstr "" + +#. Translators: Calendar grid abbreviation for Friday +#: js/ui/calendar.js:71 +msgctxt "grid friday" +msgid "F" +msgstr "" + +#. Translators: Calendar grid abbreviation for Saturday +#: js/ui/calendar.js:73 +msgctxt "grid saturday" +msgid "S" +msgstr "" + +#. * +#. * Translators: The header displaying just the month name +#. * standalone, when this is a month of the current year. +#. * "%OB" is the new format specifier introduced in glibc 2.27, +#. * in most cases you should not change it. +#. +#: js/ui/calendar.js:414 +msgid "%OB" +msgstr "%OB" + +#. * +#. * Translators: The header displaying the month name and the year +#. * number, when this is a month of a different year. You can +#. * reorder the format specifiers or add other modifications +#. * according to the requirements of your language. +#. * "%OB" is the new format specifier introduced in glibc 2.27, +#. * in most cases you should not use the old "%B" here unless you +#. * absolutely know what you are doing. +#. +#: js/ui/calendar.js:424 +msgid "%OB %Y" +msgstr "%OB %Y" + +#: js/ui/calendar.js:484 +msgid "Previous month" +msgstr "Иаҧхьааиуа амз" + +#: js/ui/calendar.js:502 +msgid "Next month" +msgstr "Анаҩстәи амз" + +#: js/ui/calendar.js:654 +#, no-javascript-format +msgctxt "date day number format" +msgid "%d" +msgstr "" + +#: js/ui/calendar.js:713 +msgid "Week %V" +msgstr "" + +#: js/ui/calendar.js:892 +msgid "No Notifications" +msgstr "" + +#: js/ui/calendar.js:949 +msgid "Do Not Disturb" +msgstr "" + +#: js/ui/calendar.js:970 +msgid "Clear" +msgstr "Арыцқьара" + +#. Translators: %s is an application name +#: js/ui/closeDialog.js:40 +#, javascript-format +msgid "“%s” is not responding." +msgstr "" + +#: js/ui/closeDialog.js:41 +msgid "" +"You may choose to wait a short while for it to continue or force the " +"application to quit entirely." +msgstr "" + +#: js/ui/closeDialog.js:69 +msgid "Force Quit" +msgstr "" + +#: js/ui/closeDialog.js:74 +msgid "Wait" +msgstr "" + +#: js/ui/components/automountManager.js:84 +msgid "External drive connected" +msgstr "" + +#: js/ui/components/automountManager.js:96 +msgid "External drive disconnected" +msgstr "" + +#: js/ui/components/automountManager.js:207 +msgid "Unable to unlock volume" +msgstr "" + +#: js/ui/components/automountManager.js:208 +msgid "The installed udisks version does not support the PIM setting" +msgstr "" + +#: js/ui/components/autorunManager.js:334 +#, javascript-format +msgid "Open with %s" +msgstr "" + +#: js/ui/components/networkAgent.js:91 +msgid "" +"Alternatively you can connect by pushing the “WPS” button on your router." +msgstr "" + +#: js/ui/components/networkAgent.js:103 js/ui/status/network.js:244 +#: js/ui/status/network.js:335 js/ui/status/network.js:961 +msgid "Connect" +msgstr "" + +#: js/ui/components/networkAgent.js:218 +msgid "Key" +msgstr "Ацвԥха" + +#: js/ui/components/networkAgent.js:269 js/ui/components/networkAgent.js:308 +msgid "Private key password" +msgstr "" + +#: js/ui/components/networkAgent.js:302 +msgid "Identity" +msgstr "" + +#: js/ui/components/networkAgent.js:328 +msgid "Service" +msgstr "" + +#: js/ui/components/networkAgent.js:366 js/ui/components/networkAgent.js:402 +#: js/ui/components/networkAgent.js:746 js/ui/components/networkAgent.js:767 +msgid "Authentication required" +msgstr "" + +#: js/ui/components/networkAgent.js:367 js/ui/components/networkAgent.js:747 +#, javascript-format +msgid "" +"Passwords or encryption keys are required to access the wireless network " +"“%s”." +msgstr "" + +#: js/ui/components/networkAgent.js:371 js/ui/components/networkAgent.js:751 +msgid "Wired 802.1X authentication" +msgstr "Ахаҭареилкаара Wired 802.1X" + +#: js/ui/components/networkAgent.js:374 +msgid "Network name" +msgstr "" + +#: js/ui/components/networkAgent.js:382 js/ui/components/networkAgent.js:755 +msgid "DSL authentication" +msgstr "Ахаҭареилкаара DSL" + +#: js/ui/components/networkAgent.js:389 js/ui/components/networkAgent.js:760 +msgid "PIN code required" +msgstr "" + +#: js/ui/components/networkAgent.js:390 js/ui/components/networkAgent.js:761 +msgid "PIN code is needed for the mobile broadband device" +msgstr "" + +#: js/ui/components/networkAgent.js:392 +msgid "PIN" +msgstr "PIN" + +#: js/ui/components/networkAgent.js:403 js/ui/components/networkAgent.js:752 +#: js/ui/components/networkAgent.js:756 js/ui/components/networkAgent.js:768 +#: js/ui/components/networkAgent.js:772 +#, javascript-format +msgid "A password is required to connect to “%s”." +msgstr "" + +#: js/ui/components/networkAgent.js:735 js/ui/status/network.js:1751 +msgid "Network Manager" +msgstr "" + +#: js/ui/components/networkAgent.js:771 +msgid "VPN password" +msgstr "VPN Ажәамаӡа" + +#: js/ui/components/polkitAgent.js:41 +msgid "Authentication Required" +msgstr "" + +#: js/ui/components/polkitAgent.js:81 +msgid "Administrator" +msgstr "Анаԥхгаҩы" + +#: js/ui/components/polkitAgent.js:146 +msgid "Authenticate" +msgstr "" + +#. Translators: "that didn't work" refers to the fact that the +#. * requested authentication was not gained; this can happen +#. * because of an authentication error (like invalid password), +#. * for instance. +#: js/ui/components/polkitAgent.js:260 js/ui/shellMountOperation.js:403 +msgid "Sorry, that didn’t work. Please try again." +msgstr "" + +#: js/ui/components/telepathyClient.js:828 +#, javascript-format +msgid "%s is now known as %s" +msgstr "" + +#: js/ui/ctrlAltTab.js:22 js/ui/overviewControls.js:417 +msgid "Windows" +msgstr "Windows" + +#: js/ui/dash.js:205 js/ui/dash.js:251 +msgid "Show Applications" +msgstr "" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: js/ui/dash.js:398 +msgid "Dash" +msgstr "" + +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the top bar (e.g., +#. * "Tue 9:29 AM"). The string itself should become a full date, e.g., +#. * "February 17 2015". +#. +#: js/ui/dateMenu.js:83 +msgid "%B %-d %Y" +msgstr "%-d %B %Y" + +#. Translators: This is the accessible name of the date button shown +#. * below the time in the shell; it should combine the weekday and the +#. * date, e.g. "Tuesday February 17 2015". +#. +#: js/ui/dateMenu.js:90 +msgid "%A %B %e %Y" +msgstr "%A, %-d %B %Y" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: js/ui/dateMenu.js:156 +msgctxt "calendar heading" +msgid "%B %-d" +msgstr "" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: js/ui/dateMenu.js:159 +msgctxt "calendar heading" +msgid "%B %-d %Y" +msgstr "" + +#: js/ui/dateMenu.js:165 +msgid "Today" +msgstr "Иахьа" + +#: js/ui/dateMenu.js:169 +msgid "Tomorrow" +msgstr "Уаҵәы" + +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: js/ui/dateMenu.js:200 +msgctxt "event list time" +msgid "All Day" +msgstr "" + +#. Translators: Shown in calendar event list as the start/end of events +#. * that only show day and month +#. +#: js/ui/dateMenu.js:222 +msgid "%m/%d" +msgstr "%d/%m" + +#: js/ui/dateMenu.js:273 +msgid "No Events" +msgstr "" + +#: js/ui/dateMenu.js:396 +msgid "Add world clocks…" +msgstr "" + +#: js/ui/dateMenu.js:397 +msgid "World Clocks" +msgstr "Адунеитә сааҭкәа" + +#: js/ui/dateMenu.js:699 +msgid "Loading…" +msgstr "Аҭагалара..." + +#: js/ui/dateMenu.js:709 +msgid "Go online for weather information" +msgstr "" + +#: js/ui/dateMenu.js:711 +msgid "Weather information is currently unavailable" +msgstr "" + +#: js/ui/dateMenu.js:721 +msgid "Weather" +msgstr "Амш зеиԥшроу" + +#: js/ui/dateMenu.js:723 +msgid "Select weather location…" +msgstr "" + +#: js/ui/endSessionDialog.js:41 +#, javascript-format +msgctxt "title" +msgid "Log Out %s" +msgstr "" + +#: js/ui/endSessionDialog.js:42 +msgctxt "title" +msgid "Log Out" +msgstr "" + +#: js/ui/endSessionDialog.js:45 +#, javascript-format +msgid "%s will be logged out automatically in %d second." +msgid_plural "%s will be logged out automatically in %d seconds." +msgstr[0] "" +msgstr[1] "" + +#: js/ui/endSessionDialog.js:51 +#, javascript-format +msgid "You will be logged out automatically in %d second." +msgid_plural "You will be logged out automatically in %d seconds." +msgstr[0] "" +msgstr[1] "" + +#: js/ui/endSessionDialog.js:58 +msgctxt "button" +msgid "Log Out" +msgstr "" + +#: js/ui/endSessionDialog.js:64 +msgctxt "title" +msgid "Power Off" +msgstr "" + +#: js/ui/endSessionDialog.js:65 +msgctxt "title" +msgid "Install Updates & Power Off" +msgstr "" + +#: js/ui/endSessionDialog.js:68 +#, javascript-format +msgid "The system will power off automatically in %d second." +msgid_plural "The system will power off automatically in %d seconds." +msgstr[0] "" +msgstr[1] "" + +#: js/ui/endSessionDialog.js:72 js/ui/endSessionDialog.js:91 +msgctxt "checkbox" +msgid "Install pending software updates" +msgstr "" + +#: js/ui/endSessionDialog.js:76 +msgctxt "button" +msgid "Power Off" +msgstr "" + +#: js/ui/endSessionDialog.js:83 +msgctxt "title" +msgid "Restart" +msgstr "" + +#: js/ui/endSessionDialog.js:84 +msgctxt "title" +msgid "Install Updates & Restart" +msgstr "" + +#: js/ui/endSessionDialog.js:87 +#, javascript-format +msgid "The system will restart automatically in %d second." +msgid_plural "The system will restart automatically in %d seconds." +msgstr[0] "" +msgstr[1] "" + +#: js/ui/endSessionDialog.js:95 +msgctxt "button" +msgid "Restart" +msgstr "" + +#: js/ui/endSessionDialog.js:103 +msgctxt "title" +msgid "Restart & Install Updates" +msgstr "" + +#: js/ui/endSessionDialog.js:106 +#, javascript-format +msgid "The system will automatically restart and install updates in %d second." +msgid_plural "" +"The system will automatically restart and install updates in %d seconds." +msgstr[0] "" +msgstr[1] "" + +#: js/ui/endSessionDialog.js:113 js/ui/endSessionDialog.js:134 +msgctxt "button" +msgid "Restart & Install" +msgstr "" + +#: js/ui/endSessionDialog.js:115 +msgctxt "button" +msgid "Install & Power Off" +msgstr "" + +#: js/ui/endSessionDialog.js:116 +msgctxt "checkbox" +msgid "Power off after updates are installed" +msgstr "" + +#: js/ui/endSessionDialog.js:123 +msgctxt "title" +msgid "Restart & Install Upgrade" +msgstr "" + +#. Translators: This is the text displayed for system upgrades in the +#. shut down dialog. First %s gets replaced with the distro name and +#. second %s with the distro version to upgrade to +#: js/ui/endSessionDialog.js:128 +#, javascript-format +msgid "" +"%s %s will be installed after restart. Upgrade installation can take a long " +"time: ensure that you have backed up and that the computer is plugged in." +msgstr "" + +#: js/ui/endSessionDialog.js:287 +msgid "Low battery power: please plug in before installing updates." +msgstr "" + +#: js/ui/endSessionDialog.js:296 +msgid "Some applications are busy or have unsaved work" +msgstr "" + +#: js/ui/endSessionDialog.js:301 +msgid "Other users are logged in" +msgstr "" + +#: js/ui/endSessionDialog.js:467 +msgctxt "button" +msgid "Boot Options" +msgstr "" + +#. Translators: Remote here refers to a remote session, like a ssh login +#: js/ui/endSessionDialog.js:688 +#, javascript-format +msgid "%s (remote)" +msgstr "" + +#. Translators: Console here refers to a tty like a VT console +#: js/ui/endSessionDialog.js:691 +#, javascript-format +msgid "%s (console)" +msgstr "" + +#: js/ui/extensionDownloader.js:227 +msgid "Install" +msgstr "" + +#: js/ui/extensionDownloader.js:233 +msgid "Install Extension" +msgstr "" + +#: js/ui/extensionDownloader.js:234 +#, javascript-format +msgid "Download and install “%s” from extensions.gnome.org?" +msgstr "" + +#: js/ui/extensionSystem.js:268 +msgid "Extension Updates Available" +msgstr "" + +#: js/ui/extensionSystem.js:269 +msgid "Extension updates are ready to be installed." +msgstr "" + +#: js/ui/inhibitShortcutsDialog.js:75 +msgid "Allow inhibiting shortcuts" +msgstr "" + +#. Translators: %s is an application name like "Settings" +#: js/ui/inhibitShortcutsDialog.js:78 +#, javascript-format +msgid "The application %s wants to inhibit shortcuts" +msgstr "" + +#: js/ui/inhibitShortcutsDialog.js:79 +msgid "An application wants to inhibit shortcuts" +msgstr "" + +#. Translators: %s is a keyboard shortcut like "Super+x" +#: js/ui/inhibitShortcutsDialog.js:86 +#, javascript-format +msgid "You can restore shortcuts by pressing %s." +msgstr "" + +#: js/ui/inhibitShortcutsDialog.js:97 +msgid "Deny" +msgstr "Азин амҭара" + +#: js/ui/inhibitShortcutsDialog.js:106 +msgid "Allow" +msgstr "Азин аҭара" + +#: js/ui/kbdA11yDialog.js:32 +msgid "Slow Keys Turned On" +msgstr "" + +#: js/ui/kbdA11yDialog.js:33 +msgid "Slow Keys Turned Off" +msgstr "" + +#: js/ui/kbdA11yDialog.js:34 +msgid "" +"You just held down the Shift key for 8 seconds. This is the shortcut for the " +"Slow Keys feature, which affects the way your keyboard works." +msgstr "" + +#: js/ui/kbdA11yDialog.js:40 +msgid "Sticky Keys Turned On" +msgstr "" + +#: js/ui/kbdA11yDialog.js:41 +msgid "Sticky Keys Turned Off" +msgstr "" + +#: js/ui/kbdA11yDialog.js:43 +msgid "" +"You just pressed the Shift key 5 times in a row. This is the shortcut for " +"the Sticky Keys feature, which affects the way your keyboard works." +msgstr "" + +#: js/ui/kbdA11yDialog.js:45 +msgid "" +"You just pressed two keys at once, or pressed the Shift key 5 times in a " +"row. This turns off the Sticky Keys feature, which affects the way your " +"keyboard works." +msgstr "" + +#: js/ui/kbdA11yDialog.js:55 +msgid "Leave On" +msgstr "" + +#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:177 +#: js/ui/status/network.js:1341 +msgid "Turn On" +msgstr "Аҿакра" + +#: js/ui/kbdA11yDialog.js:65 js/ui/status/bluetooth.js:177 +#: js/ui/status/network.js:160 js/ui/status/network.js:336 +#: js/ui/status/network.js:1341 js/ui/status/network.js:1456 +#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81 +#: js/ui/status/rfkill.js:110 +msgid "Turn Off" +msgstr "" + +#: js/ui/kbdA11yDialog.js:65 +msgid "Leave Off" +msgstr "" + +#: js/ui/keyboard.js:265 +msgid "Region & Language Settings" +msgstr "" + +#: js/ui/lookingGlass.js:710 +msgid "No extensions installed" +msgstr "" + +#. Translators: argument is an extension UUID. +#: js/ui/lookingGlass.js:771 +#, javascript-format +msgid "%s has not emitted any errors." +msgstr "" + +#: js/ui/lookingGlass.js:777 +msgid "Hide Errors" +msgstr "" + +#: js/ui/lookingGlass.js:781 js/ui/lookingGlass.js:854 +msgid "Show Errors" +msgstr "" + +#: js/ui/lookingGlass.js:790 +msgid "Enabled" +msgstr "Иаҿакуп" + +#. translators: +#. * The device has been disabled +#: js/ui/lookingGlass.js:793 subprojects/gvc/gvc-mixer-control.c:1900 +msgid "Disabled" +msgstr "" + +#: js/ui/lookingGlass.js:795 +msgid "Error" +msgstr "" + +#: js/ui/lookingGlass.js:797 +msgid "Out of date" +msgstr "" + +#: js/ui/lookingGlass.js:799 +msgid "Downloading" +msgstr "" + +#: js/ui/lookingGlass.js:832 +msgid "View Source" +msgstr "" + +#: js/ui/lookingGlass.js:843 +msgid "Web Page" +msgstr "Веб-адаҟьа" + +#: js/ui/main.js:266 +msgid "System was put in unsafe mode" +msgstr "" + +#: js/ui/main.js:267 +msgid "Applications now have unrestricted access" +msgstr "" + +#: js/ui/main.js:268 js/ui/overview.js:58 +msgid "Undo" +msgstr "Архынҳәра" + +#: js/ui/main.js:314 +msgid "Logged in as a privileged user" +msgstr "Ахаҭара шьақәыргылоуп аԥыжәара змоу хархәаҩҵас" + +#: js/ui/main.js:315 +msgid "" +"Running a session as a privileged user should be avoided for security " +"reasons. If possible, you should log in as a normal user." +msgstr "" + +#: js/ui/main.js:364 +msgid "Screen Lock disabled" +msgstr "Аекаран аусура аанкылара аҿыхуп" + +#: js/ui/main.js:365 +msgid "Screen Locking requires the GNOME display manager." +msgstr "" + +#: js/ui/messageTray.js:1418 +msgid "System Information" +msgstr "" + +#: js/ui/mpris.js:200 +msgid "Unknown artist" +msgstr "" + +#: js/ui/mpris.js:210 +msgid "Unknown title" +msgstr "" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: js/ui/overviewControls.js:327 +msgid "Type to search" +msgstr "Ааҧшаар адҵаалара аҭагалара" + +#: js/ui/overviewControls.js:405 +msgid "Applications" +msgstr "Аԥшькәа" + +#. Translators: This is the main view to select +#. activities. See also note for "Activities" string. +#: js/ui/overview.js:71 +msgid "Overview" +msgstr "Алаԥшхагара" + +#: js/ui/padOsd.js:100 +msgid "New shortcut…" +msgstr "" + +#: js/ui/padOsd.js:154 +msgid "Application defined" +msgstr "" + +#: js/ui/padOsd.js:155 +msgid "Show on-screen help" +msgstr "" + +#: js/ui/padOsd.js:156 +msgid "Switch monitor" +msgstr "" + +#: js/ui/padOsd.js:157 +msgid "Assign keystroke" +msgstr "" + +#: js/ui/padOsd.js:226 +msgid "Done" +msgstr "Ихиоуп" + +#: js/ui/padOsd.js:743 +msgid "Edit…" +msgstr "" + +#: js/ui/padOsd.js:785 js/ui/padOsd.js:902 +msgid "None" +msgstr "Мап" + +#: js/ui/padOsd.js:856 +msgid "Press a button to configure" +msgstr "" + +#: js/ui/padOsd.js:857 +msgid "Press Esc to exit" +msgstr "" + +#: js/ui/padOsd.js:860 +msgid "Press any key to exit" +msgstr "" + +#: js/ui/panel.js:241 +msgid "Activities" +msgstr "Аҽазыҟаҵарақәа" + +#: js/ui/panel.js:364 +msgctxt "System menu in the top bar" +msgid "System" +msgstr "" + +#: js/ui/panel.js:480 +msgid "Top Bar" +msgstr "Хыхьтәи апанель" + +#: js/ui/runDialog.js:58 +msgid "Run a Command" +msgstr "" + +#: js/ui/runDialog.js:73 +msgid "Press ESC to close" +msgstr "" + +#: js/ui/runDialog.js:238 +msgid "Restart is not available on Wayland" +msgstr "" + +#: js/ui/runDialog.js:243 +msgid "Restarting…" +msgstr "" + +#: js/ui/screenShield.js:229 +msgid "GNOME needs to lock the screen" +msgstr "" + +#. We could not become modal, so we can't activate the +#. screenshield. The user is probably very upset at this +#. point, but any application using global grabs is broken +#. Just tell them to stop using this app +#. +#. XXX: another option is to kick the user into the gdm login +#. screen, where we're not affected by grabs +#: js/ui/screenShield.js:269 js/ui/screenShield.js:646 +msgid "Unable to lock" +msgstr "" + +#: js/ui/screenShield.js:270 js/ui/screenShield.js:647 +msgid "Lock was blocked by an application" +msgstr "Аусура аанкылара иаԥырхагахеит аԥшьы" + +#: js/ui/screenshot.js:1149 +msgid "Selection" +msgstr "_Алкаара" + +#: js/ui/screenshot.js:1159 +msgid "Area Selection" +msgstr "" + +#: js/ui/screenshot.js:1164 +msgid "Screen" +msgstr "" + +#: js/ui/screenshot.js:1174 +msgid "Screen Selection" +msgstr "" + +#: js/ui/screenshot.js:1179 +msgid "Window" +msgstr "" + +#: js/ui/screenshot.js:1189 +msgid "Window Selection" +msgstr "" + +#: js/ui/screenshot.js:1227 +msgid "Screenshot / Screencast" +msgstr "" + +#: js/ui/screenshot.js:1263 +msgid "Show Pointer" +msgstr "" + +#. Translators: this is the folder where recorded +#. screencasts are stored. +#: js/ui/screenshot.js:1839 +msgid "Screencasts" +msgstr "" + +#. Translators: this is a filename used for screencast +#. * recording, where "%d" and "%t" date and time, e.g. +#. * "Screencast from 07-17-2013 10:00:46 PM.webm" +#: js/ui/screenshot.js:1844 +#, no-c-format +msgid "Screencast from %d %t.webm" +msgstr "" + +#. Translators: notification source name. +#: js/ui/screenshot.js:1913 js/ui/screenshot.js:2126 +msgid "Screenshot" +msgstr "Аскриншот" + +#. Translators: notification title. +#: js/ui/screenshot.js:1919 +msgid "Screencast recorded" +msgstr "" + +#. Translators: notification body when a screencast was recorded. +#: js/ui/screenshot.js:1921 +msgid "Click here to view the video." +msgstr "" + +#. Translators: button on the screencast notification. +#. Translators: button on the screenshot notification. +#: js/ui/screenshot.js:1924 js/ui/screenshot.js:2140 +msgid "Show in Files" +msgstr "" + +#. Translators: this is the name of the file that the screenshot is +#. saved to. The placeholder is a timestamp, e.g. "2017-05-21 12-24-03". +#: js/ui/screenshot.js:2086 +#, javascript-format +msgid "Screenshot from %s" +msgstr "" + +#. Translators: notification title. +#: js/ui/screenshot.js:2132 +msgid "Screenshot captured" +msgstr "" + +#. Translators: notification body when a screenshot was captured. +#: js/ui/screenshot.js:2134 +msgid "You can paste the image from the clipboard." +msgstr "" + +#: js/ui/screenshot.js:2187 js/ui/screenshot.js:2352 +msgid "Screenshot taken" +msgstr "" +"Иаразнактәи аекран\n" +"аҭыхра " + +#: js/ui/search.js:815 +msgid "Searching…" +msgstr "" + +#: js/ui/search.js:817 +msgid "No results." +msgstr "" + +#: js/ui/search.js:948 +#, javascript-format +msgid "%d more" +msgid_plural "%d more" +msgstr[0] "" +msgstr[1] "" + +#: js/ui/searchController.js:87 +msgid "Search" +msgstr "Аҧшаара" + +#: js/ui/shellEntry.js:20 +msgid "Copy" +msgstr "Ахкьыҧхьаара" + +#: js/ui/shellEntry.js:25 +msgid "Paste" +msgstr "Абжьаргылара" + +#: js/ui/shellEntry.js:77 +msgid "Show Text" +msgstr "" + +#: js/ui/shellEntry.js:79 +msgid "Hide Text" +msgstr "" + +#: js/ui/shellEntry.js:166 +msgid "Caps lock is on." +msgstr "Caps Lock аҿакуп." + +#: js/ui/shellMountOperation.js:286 +msgid "Hidden Volume" +msgstr "" + +#: js/ui/shellMountOperation.js:289 +msgid "Windows System Volume" +msgstr "" + +#: js/ui/shellMountOperation.js:292 +msgid "Uses Keyfiles" +msgstr "" + +#. Translators: %s is the Disks application +#: js/ui/shellMountOperation.js:299 +#, javascript-format +msgid "" +"To unlock a volume that uses keyfiles, use the %s utility instead." +msgstr "" + +#: js/ui/shellMountOperation.js:307 +msgid "PIM Number" +msgstr "" + +#: js/ui/shellMountOperation.js:366 +msgid "Remember Password" +msgstr "" + +#: js/ui/shellMountOperation.js:381 +msgid "Unlock" +msgstr "" + +#. Translators: %s is the Disks application +#: js/ui/shellMountOperation.js:392 +#, javascript-format +msgid "Open %s" +msgstr "" + +#: js/ui/shellMountOperation.js:424 +msgid "The PIM must be a number or empty." +msgstr "PIM иамазароуп адаҟьақәа мамзар иҭацәызароуп" + +#. Translators: %s is the Disks application +#: js/ui/shellMountOperation.js:466 +#, javascript-format +msgid "Unable to start %s" +msgstr "" + +#. Translators: %s is the Disks application +#: js/ui/shellMountOperation.js:468 +#, javascript-format +msgid "Couldn’t find the %s application" +msgstr "" + +#: js/ui/status/accessibility.js:34 +msgid "Accessibility" +msgstr "Ахархәара аманшәалара" + +#: js/ui/status/accessibility.js:44 +msgid "High Contrast" +msgstr "Иҳараку аконтрастра" + +#: js/ui/status/accessibility.js:47 +msgid "Zoom" +msgstr "Zoom" + +#: js/ui/status/accessibility.js:54 +msgid "Screen Reader" +msgstr "" + +#: js/ui/status/accessibility.js:58 +msgid "Screen Keyboard" +msgstr "" + +#: js/ui/status/accessibility.js:62 +msgid "Visual Alerts" +msgstr "" + +#: js/ui/status/accessibility.js:65 +msgid "Sticky Keys" +msgstr "" + +#: js/ui/status/accessibility.js:68 +msgid "Slow Keys" +msgstr "" + +#: js/ui/status/accessibility.js:71 +msgid "Bounce Keys" +msgstr "" + +#: js/ui/status/accessibility.js:74 +msgid "Mouse Keys" +msgstr "" + +#: js/ui/status/accessibility.js:131 +msgid "Large Text" +msgstr "" + +#: js/ui/status/bluetooth.js:50 +msgid "Bluetooth" +msgstr "Bluetooth" + +#: js/ui/status/bluetooth.js:63 js/ui/status/network.js:626 +msgid "Bluetooth Settings" +msgstr "" + +#. Translators: this is the number of connected bluetooth devices +#: js/ui/status/bluetooth.js:169 +#, javascript-format +msgid "%d Connected" +msgid_plural "%d Connected" +msgstr[0] "" +msgstr[1] "" + +#: js/ui/status/bluetooth.js:173 +msgid "Bluetooth On" +msgstr "Bluetooth аҿакуп" + +#: js/ui/status/bluetooth.js:175 +msgid "Bluetooth Off" +msgstr "" + +#: js/ui/status/brightness.js:39 +msgid "Brightness" +msgstr "Ашеишеира" + +#: js/ui/status/dwellClick.js:12 +msgid "Single Click" +msgstr "" + +#: js/ui/status/dwellClick.js:17 +msgid "Double Click" +msgstr "" + +#: js/ui/status/dwellClick.js:22 +msgid "Drag" +msgstr "" + +#: js/ui/status/dwellClick.js:27 +msgid "Secondary Click" +msgstr "" + +#: js/ui/status/dwellClick.js:36 +msgid "Dwell Click" +msgstr "" + +#: js/ui/status/keyboard.js:830 +msgid "Keyboard" +msgstr "Арыдыркыра" + +#: js/ui/status/keyboard.js:847 +msgid "Show Keyboard Layout" +msgstr "" + +#: js/ui/status/location.js:231 js/ui/status/location.js:255 +msgid "Location Enabled" +msgstr "" + +#: js/ui/status/location.js:232 js/ui/status/location.js:256 +msgid "Disable" +msgstr "" + +#: js/ui/status/location.js:234 +msgid "Privacy Settings" +msgstr "" + +#: js/ui/status/location.js:254 +msgid "Location In Use" +msgstr "" + +#: js/ui/status/location.js:258 +msgid "Location Disabled" +msgstr "" + +#: js/ui/status/location.js:259 +msgid "Enable" +msgstr "Иаҿакуп" + +#: js/ui/status/location.js:386 +msgid "Allow location access" +msgstr "" + +#. Translators: %s is an application name +#: js/ui/status/location.js:388 +#, javascript-format +msgid "The app %s wants to access your location" +msgstr "" + +#: js/ui/status/location.js:398 +msgid "Location access can be changed at any time from the privacy settings." +msgstr "" + +#: js/ui/status/network.js:71 +msgid "" +msgstr "<еилкаам>" + +#. Translators: %s is a network identifier +#: js/ui/status/network.js:436 js/ui/status/network.js:1370 +#, javascript-format +msgid "%s Off" +msgstr "" + +#. Translators: %s is a network identifier +#: js/ui/status/network.js:439 +#, javascript-format +msgid "%s Connected" +msgstr "" + +#. Translators: this is for network devices that are physically present but are not +#. under NetworkManager's control (and thus cannot be used in the menu); +#. %s is a network identifier +#: js/ui/status/network.js:444 +#, javascript-format +msgid "%s Unmanaged" +msgstr "" + +#. Translators: %s is a network identifier +#: js/ui/status/network.js:447 +#, javascript-format +msgid "%s Disconnecting" +msgstr "" + +#. Translators: %s is a network identifier +#: js/ui/status/network.js:454 js/ui/status/network.js:1362 +#, javascript-format +msgid "%s Connecting" +msgstr "" + +#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier +#: js/ui/status/network.js:457 +#, javascript-format +msgid "%s Requires Authentication" +msgstr "" + +#. Translators: this is for devices that require some kind of firmware or kernel +#. module, which is missing; %s is a network identifier +#: js/ui/status/network.js:465 +#, javascript-format +msgid "Firmware Missing For %s" +msgstr "" + +#. Translators: this is for a network device that cannot be activated (for example it +#. is disabled by rfkill, or it has no coverage; %s is a network identifier +#: js/ui/status/network.js:469 +#, javascript-format +msgid "%s Unavailable" +msgstr "" + +#. Translators: %s is a network identifier +#: js/ui/status/network.js:472 +#, javascript-format +msgid "%s Connection Failed" +msgstr "" + +#: js/ui/status/network.js:484 +msgid "Wired Settings" +msgstr "" + +#: js/ui/status/network.js:531 +msgid "Mobile Broadband Settings" +msgstr "" + +#. Translators: %s is a network identifier +#: js/ui/status/network.js:587 js/ui/status/network.js:1367 +#, javascript-format +msgid "%s Hardware Disabled" +msgstr "" + +#. Translators: this is for a network device that cannot be activated +#. because it's disabled by rfkill (airplane mode); %s is a network identifier +#: js/ui/status/network.js:591 +#, javascript-format +msgid "%s Disabled" +msgstr "" + +#: js/ui/status/network.js:638 +msgid "Connect to Internet" +msgstr "" + +#: js/ui/status/network.js:836 +msgid "Airplane Mode is On" +msgstr "Авиарежим аҿакуп" + +#: js/ui/status/network.js:837 +msgid "Wi-Fi is disabled when airplane mode is on." +msgstr "" + +#: js/ui/status/network.js:838 +msgid "Turn Off Airplane Mode" +msgstr "" + +#: js/ui/status/network.js:847 +msgid "Wi-Fi is Off" +msgstr "" + +#: js/ui/status/network.js:848 +msgid "Wi-Fi needs to be turned on in order to connect to a network." +msgstr "" + +#: js/ui/status/network.js:849 +msgid "Turn On Wi-Fi" +msgstr " Wi-Fi аҿакра" + +#: js/ui/status/network.js:877 +msgid "Wi-Fi Networks" +msgstr "" + +#: js/ui/status/network.js:881 +msgid "Select a network" +msgstr "" + +#: js/ui/status/network.js:917 +msgid "No Networks" +msgstr "" + +#: js/ui/status/network.js:942 js/ui/status/rfkill.js:108 +msgid "Use hardware switch to turn off" +msgstr "" + +#: js/ui/status/network.js:1253 +msgid "Select Network" +msgstr "" + +#: js/ui/status/network.js:1259 +msgid "Wi-Fi Settings" +msgstr "" + +#. Translators: %s is a network identifier +#: js/ui/status/network.js:1358 +#, javascript-format +msgid "%s Hotspot Active" +msgstr "Анеирҭа аҭыԥ %s аҿакуп " + +#. Translators: %s is a network identifier +#: js/ui/status/network.js:1373 +#, javascript-format +msgid "%s Not Connected" +msgstr "" + +#: js/ui/status/network.js:1473 +msgid "connecting…" +msgstr "" + +#. Translators: this is for network connections that require some kind of key or password +#: js/ui/status/network.js:1476 +msgid "authentication required" +msgstr "" + +#: js/ui/status/network.js:1478 +msgid "connection failed" +msgstr "" + +#: js/ui/status/network.js:1524 +msgid "VPN Settings" +msgstr "" + +#: js/ui/status/network.js:1541 +msgid "VPN" +msgstr "VPN" + +#: js/ui/status/network.js:1551 +msgid "VPN Off" +msgstr "" + +#: js/ui/status/network.js:1612 js/ui/status/rfkill.js:84 +msgid "Network Settings" +msgstr "Аҳа ахышәарақәа" + +#: js/ui/status/network.js:1640 +#, javascript-format +msgid "%s Wired Connection" +msgid_plural "%s Wired Connections" +msgstr[0] "" +msgstr[1] "" + +#: js/ui/status/network.js:1644 +#, javascript-format +msgid "%s Wi-Fi Connection" +msgid_plural "%s Wi-Fi Connections" +msgstr[0] "" +msgstr[1] "" + +#: js/ui/status/network.js:1648 +#, javascript-format +msgid "%s Modem Connection" +msgid_plural "%s Modem Connections" +msgstr[0] "" +msgstr[1] "" + +#: js/ui/status/network.js:1792 +msgid "Connection failed" +msgstr "" + +#: js/ui/status/network.js:1793 +msgid "Activation of network connection failed" +msgstr "" + +#: js/ui/status/nightLight.js:63 +msgid "Night Light Disabled" +msgstr "" + +#: js/ui/status/nightLight.js:64 +msgid "Night Light On" +msgstr "" + +#: js/ui/status/nightLight.js:66 +msgid "Resume" +msgstr "аиҭашьақәыргылара" + +#: js/ui/status/nightLight.js:67 +msgid "Disable Until Tomorrow" +msgstr "" + +#: js/ui/status/power.js:51 js/ui/status/powerProfiles.js:57 +msgid "Power Settings" +msgstr "" + +#: js/ui/status/power.js:68 +msgid "Fully Charged" +msgstr "" + +#: js/ui/status/power.js:74 +msgid "Not Charging" +msgstr "" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: js/ui/status/power.js:77 js/ui/status/power.js:83 +msgid "Estimating…" +msgstr "" + +#. Translators: this is : Remaining () +#: js/ui/status/power.js:91 +#, javascript-format +msgid "%d∶%02d Remaining (%d %%)" +msgstr "" + +#. Translators: this is : Until Full () +#: js/ui/status/power.js:97 +#, javascript-format +msgid "%d∶%02d Until Full (%d %%)" +msgstr "" + +#. The icon label +#: js/ui/status/power.js:145 +#, javascript-format +msgid "%d %%" +msgstr "%d %%" + +#: js/ui/status/powerProfiles.js:19 +msgctxt "Power profile" +msgid "Performance" +msgstr "" + +#: js/ui/status/powerProfiles.js:20 +msgctxt "Power profile" +msgid "Balanced" +msgstr "" + +#: js/ui/status/powerProfiles.js:21 +msgctxt "Power profile" +msgid "Power Saver" +msgstr "" + +#: js/ui/status/remoteAccess.js:43 +msgid "Screen is Being Shared" +msgstr "" + +#: js/ui/status/remoteAccess.js:45 +msgid "Turn off" +msgstr "" + +#: js/ui/status/remoteAccess.js:149 +msgid "Stop Screencast" +msgstr "" + +#. The menu only appears when airplane mode is on, so just +#. statically build it as if it was on, rather than dynamically +#. changing the menu contents. +#: js/ui/status/rfkill.js:79 +msgid "Airplane Mode On" +msgstr "Авиарежим аҿакуп" + +#: js/ui/status/system.js:104 +msgid "Lock" +msgstr "" + +#: js/ui/status/system.js:116 +msgid "Power Off / Log Out" +msgstr "" + +#: js/ui/status/system.js:119 +msgid "Suspend" +msgstr "" + +#: js/ui/status/system.js:130 +msgid "Restart…" +msgstr "" + +#: js/ui/status/system.js:141 +msgid "Power Off…" +msgstr "" + +#: js/ui/status/system.js:154 +msgid "Log Out" +msgstr "" + +#: js/ui/status/system.js:165 +msgid "Switch User…" +msgstr "" + +#: js/ui/status/thunderbolt.js:263 +msgid "Thunderbolt" +msgstr "Thunderbolt" + +#: js/ui/status/thunderbolt.js:324 +msgid "Unknown Thunderbolt device" +msgstr "" + +#: js/ui/status/thunderbolt.js:325 +msgid "" +"New device has been detected while you were away. Please disconnect and " +"reconnect the device to start using it." +msgstr "" + +#: js/ui/status/thunderbolt.js:328 +msgid "Unauthorized Thunderbolt device" +msgstr "" + +#: js/ui/status/thunderbolt.js:329 +msgid "" +"New device has been detected and needs to be authorized by an administrator." +msgstr "" + +#: js/ui/status/thunderbolt.js:335 +msgid "Thunderbolt authorization error" +msgstr "" + +#: js/ui/status/thunderbolt.js:336 +#, javascript-format +msgid "Could not authorize the Thunderbolt device: %s" +msgstr "" + +#: js/ui/status/volume.js:159 +msgid "Volume changed" +msgstr "" + +#: js/ui/status/volume.js:221 +msgid "Volume" +msgstr "Амҽхак" + +#. Translators: this is for display mirroring i.e. cloning. +#. * Try to keep it under around 15 characters. +#. +#: js/ui/switchMonitor.js:20 +msgid "Mirror" +msgstr "Асаркьа" + +#. Translators: this is for the desktop spanning displays. +#. * Try to keep it under around 15 characters. +#. +#: js/ui/switchMonitor.js:29 +msgid "Join Displays" +msgstr "" + +#. Translators: this is for using only an external display. +#. * Try to keep it under around 15 characters. +#. +#: js/ui/switchMonitor.js:39 +msgid "External Only" +msgstr "" + +#. Translators: this is for using only the laptop display. +#. * Try to keep it under around 15 characters. +#. +#: js/ui/switchMonitor.js:47 +msgid "Built-in Only" +msgstr "" + +#. Translators: This is a time format for a date in +#. long format +#: js/ui/unlockDialog.js:364 +msgid "%A %B %-d" +msgstr "%A, %-d %B" + +#: js/ui/unlockDialog.js:370 +msgid "Swipe up to unlock" +msgstr "" + +#: js/ui/unlockDialog.js:371 +msgid "Click or press a key to unlock" +msgstr "" + +#: js/ui/unlockDialog.js:554 +msgid "Unlock Window" +msgstr "" + +#: js/ui/unlockDialog.js:563 +msgid "Log in as another user" +msgstr "Даҽа хархәаҩк ихьӡала аҭалара" + +#: js/ui/welcomeDialog.js:36 +#, javascript-format +msgid "Welcome to GNOME %s" +msgstr "" + +#: js/ui/welcomeDialog.js:37 +msgid "If you want to learn your way around, check out the tour." +msgstr "" + +#: js/ui/welcomeDialog.js:46 +msgid "No Thanks" +msgstr "Мап, иҭабуп" + +#: js/ui/welcomeDialog.js:51 +msgid "Take Tour" +msgstr "" + +#: js/ui/windowAttentionHandler.js:20 +#, javascript-format +msgid "“%s” is ready" +msgstr "" + +#. Translators: This string should be shorter than 30 characters +#: js/ui/windowManager.js:62 +msgid "Keep these display settings?" +msgstr "" + +#: js/ui/windowManager.js:72 +msgid "Revert Settings" +msgstr "" + +#: js/ui/windowManager.js:77 +msgid "Keep Changes" +msgstr "" + +#: js/ui/windowManager.js:97 +#, javascript-format +msgid "Settings changes will revert in %d second" +msgid_plural "Settings changes will revert in %d seconds" +msgstr[0] "" +msgstr[1] "" + +#. Translators: This represents the size of a window. The first number is +#. * the width of the window and the second is the height. +#: js/ui/windowManager.js:544 +#, javascript-format +msgid "%d × %d" +msgstr "%d × %d" + +#. Translators: entry in the window right click menu. +#: js/ui/windowMenu.js:29 +msgid "Take Screenshot" +msgstr "Аскриншот аҟаҵара" + +#: js/ui/windowMenu.js:41 +msgid "Hide" +msgstr "" + +#: js/ui/windowMenu.js:48 +msgid "Restore" +msgstr "Аиҭашьақәыргылара" + +#: js/ui/windowMenu.js:52 +msgid "Maximize" +msgstr "Аиҵыхра" + +#: js/ui/windowMenu.js:59 +msgid "Move" +msgstr "" + +#: js/ui/windowMenu.js:65 +msgid "Resize" +msgstr "" + +#: js/ui/windowMenu.js:72 +msgid "Move Titlebar Onscreen" +msgstr "" + +#: js/ui/windowMenu.js:77 +msgid "Always on Top" +msgstr "" + +#: js/ui/windowMenu.js:96 +msgid "Always on Visible Workspace" +msgstr "Еснагь иахьубарҭоу аусуратә ҭыԥ аҟны" + +#: js/ui/windowMenu.js:110 +msgid "Move to Workspace Left" +msgstr "" + +#: js/ui/windowMenu.js:116 +msgid "Move to Workspace Right" +msgstr "" + +#: js/ui/windowMenu.js:122 +msgid "Move to Workspace Up" +msgstr "" + +#: js/ui/windowMenu.js:128 +msgid "Move to Workspace Down" +msgstr "" + +#: js/ui/windowMenu.js:146 +msgid "Move to Monitor Up" +msgstr "" + +#: js/ui/windowMenu.js:155 +msgid "Move to Monitor Down" +msgstr "" + +#: js/ui/windowMenu.js:164 +msgid "Move to Monitor Left" +msgstr "" + +#: js/ui/windowMenu.js:173 +msgid "Move to Monitor Right" +msgstr "" + +#: js/ui/windowMenu.js:181 +msgid "Close" +msgstr "Аркра" + +#: src/calendar-server/evolution-calendar.desktop.in:3 +msgid "Evolution Calendar" +msgstr "" + +#: src/main.c:419 subprojects/extensions-tool/src/main.c:321 +msgid "Print version" +msgstr "" + +#: src/main.c:425 +msgid "Mode used by GDM for login screen" +msgstr "" + +#: src/main.c:431 +msgid "Use a specific mode, e.g. “gdm” for login screen" +msgstr "" + +#: src/main.c:437 +msgid "List possible modes" +msgstr "" + +#: src/shell-app.c:305 +msgctxt "program" +msgid "Unknown" +msgstr "" + +#: src/shell-app.c:556 +#, c-format +msgid "Failed to launch “%s”" +msgstr "«%s» аус арура залшом" + +#: src/shell-keyring-prompt.c:764 +msgid "Passwords do not match." +msgstr "Ажәамаӡақәа еиқәшәаӡом" + +#: src/shell-keyring-prompt.c:772 +msgid "Password cannot be blank" +msgstr "" + +#: src/shell-polkit-authentication-agent.c:344 +msgid "Authentication dialog was dismissed by the user" +msgstr "Ахаҭареилкаара ахархәаҩ ила мап ацәкын" + +#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5 +#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4 +#: subprojects/extensions-app/js/main.js:210 +#: subprojects/extensions-app/data/ui/extensions-window.ui:18 +#: subprojects/extensions-app/data/ui/extensions-window.ui:83 +msgid "Extensions" +msgstr "" + +#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6 +#: subprojects/extensions-app/js/main.js:211 +msgid "Manage your GNOME Extensions" +msgstr "" + +#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:17 +msgid "The GNOME Project" +msgstr "The GNOME Project" + +#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:36 +msgid "" +"GNOME Extensions handles updating extensions, configuring extension " +"preferences and removing or disabling unwanted extensions." +msgstr "" + +#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:7 +msgid "Configure GNOME Shell Extensions" +msgstr "" + +#: subprojects/extensions-app/js/main.js:132 +#: subprojects/extensions-app/js/main.js:143 +msgid "No Matches" +msgstr "" + +#: subprojects/extensions-app/js/main.js:171 +#, javascript-format +msgid "Remove “%s”?" +msgstr "" + +#: subprojects/extensions-app/js/main.js:172 +msgid "" +"If you remove the extension, you need to return to download it if you want " +"to enable it again" +msgstr "" + +#: subprojects/extensions-app/js/main.js:176 +msgid "Remove" +msgstr "" + +#: subprojects/extensions-app/js/main.js:209 +msgid "translator-credits" +msgstr "Нанба Наала , 2022" + +#: subprojects/extensions-app/js/main.js:337 +#, javascript-format +msgid "%d extension will be updated on next login." +msgid_plural "%d extensions will be updated on next login." +msgstr[0] "" +msgstr[1] "" + +#: subprojects/extensions-app/js/main.js:479 +msgid "The extension is incompatible with the current GNOME version" +msgstr "" + +#: subprojects/extensions-app/js/main.js:482 +#: subprojects/extensions-app/data/ui/extension-row.ui:52 +msgid "The extension had an error" +msgstr "" + +#: subprojects/extensions-app/data/ui/extension-row.ui:62 +msgid "The extension can be updated" +msgstr "" + +#: subprojects/extensions-app/data/ui/extension-row.ui:112 +msgid "Website" +msgstr "Веб-асаит" + +#: subprojects/extensions-app/data/ui/extension-row.ui:134 +msgid "Remove…" +msgstr "" + +#: subprojects/extensions-app/data/ui/extensions-window.ui:6 +msgid "Help" +msgstr "Аилыркаа" + +#: subprojects/extensions-app/data/ui/extensions-window.ui:10 +msgid "About Extensions" +msgstr "" + +#: subprojects/extensions-app/data/ui/extensions-window.ui:84 +msgid "" +"Extensions can cause performance and stability issues. Disable extensions if " +"you encounter problems with your system." +msgstr "" + +#: subprojects/extensions-app/data/ui/extensions-window.ui:98 +msgid "Manually Installed" +msgstr "" + +#: subprojects/extensions-app/data/ui/extensions-window.ui:99 +#: subprojects/extensions-app/data/ui/extensions-window.ui:134 +msgid "" +"To find and add extensions, visit extensions.gnome.org." +msgstr "" + +#: subprojects/extensions-app/data/ui/extensions-window.ui:112 +msgid "Built-In" +msgstr "" + +#: subprojects/extensions-app/data/ui/extensions-window.ui:133 +msgid "No Installed Extensions" +msgstr "" + +#: subprojects/extensions-app/data/ui/extensions-window.ui:145 +msgid "" +"We’re very sorry, but it was not possible to get the list of installed " +"extensions. Make sure you are logged into GNOME and try again." +msgstr "" + +#: subprojects/extensions-app/data/ui/extensions-window.ui:175 +msgid "Extension Updates Ready" +msgstr "" + +#: subprojects/extensions-app/data/ui/extensions-window.ui:190 +msgid "Log Out…" +msgstr "" + +#. Translators: a file path to an extension directory +#: subprojects/extensions-tool/src/command-create.c:222 +#, c-format +msgid "The new extension was successfully created in %s.\n" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:296 +#, c-format +msgid "" +"Name should be a very short (ideally descriptive) string.\n" +"Examples are: %s" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:302 +#: subprojects/extensions-tool/src/main.c:238 +msgid "Name" +msgstr "Ахьӡ" + +#: subprojects/extensions-tool/src/command-create.c:316 +#, c-format +msgid "" +"Description is a single-sentence explanation of what your extension does.\n" +"Examples are: %s" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:322 +#: subprojects/extensions-tool/src/main.c:241 +msgid "Description" +msgstr "Ахцәажәара" + +#: subprojects/extensions-tool/src/command-create.c:336 +msgid "" +"UUID is a globally-unique identifier for your extension.\n" +"This should be in the format of an email address (clicktofocus@janedoe." +"example.com)\n" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:363 +msgid "Choose one of the available templates:\n" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:377 +msgid "Template" +msgstr "Ацәабла" + +#: subprojects/extensions-tool/src/command-create.c:432 +msgid "The unique identifier of the new extension" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:435 +msgid "NAME" +msgstr "АХЬӠ" + +#: subprojects/extensions-tool/src/command-create.c:436 +msgid "The user-visible name of the new extension" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:438 +msgid "DESCRIPTION" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:440 +msgid "A short description of what the extension does" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:443 +msgid "TEMPLATE" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:444 +msgid "The template to use for the new extension" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:450 +msgid "Enter extension information interactively" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:458 +msgid "Create a new extension" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:476 +#: subprojects/extensions-tool/src/command-list.c:172 +msgid "Unknown arguments" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:501 +msgid "UUID, name and description are required" +msgstr "" + +#: subprojects/extensions-tool/src/command-disable.c:46 +#: subprojects/extensions-tool/src/command-enable.c:46 +#: subprojects/extensions-tool/src/command-info.c:50 +#: subprojects/extensions-tool/src/command-list.c:64 +#: subprojects/extensions-tool/src/main.c:146 +msgid "Failed to connect to GNOME Shell\n" +msgstr "" + +#: subprojects/extensions-tool/src/command-disable.c:53 +#: subprojects/extensions-tool/src/command-enable.c:53 +#, c-format +msgid "Extension “%s” does not exist\n" +msgstr "" + +#: subprojects/extensions-tool/src/command-disable.c:101 +msgid "Disable an extension" +msgstr "" + +#: subprojects/extensions-tool/src/command-disable.c:119 +#: subprojects/extensions-tool/src/command-enable.c:119 +#: subprojects/extensions-tool/src/command-info.c:103 +#: subprojects/extensions-tool/src/command-prefs.c:105 +#: subprojects/extensions-tool/src/command-reset.c:76 +#: subprojects/extensions-tool/src/command-uninstall.c:104 +msgid "No UUID given" +msgstr "" + +#: subprojects/extensions-tool/src/command-disable.c:124 +#: subprojects/extensions-tool/src/command-enable.c:124 +#: subprojects/extensions-tool/src/command-info.c:108 +#: subprojects/extensions-tool/src/command-prefs.c:110 +#: subprojects/extensions-tool/src/command-reset.c:81 +#: subprojects/extensions-tool/src/command-uninstall.c:109 +msgid "More than one UUID given" +msgstr "" + +#: subprojects/extensions-tool/src/command-enable.c:101 +msgid "Enable an extension" +msgstr "" + +#: subprojects/extensions-tool/src/command-info.c:59 +#: subprojects/extensions-tool/src/main.c:155 +#, c-format +msgid "Extension “%s” doesn't exist\n" +msgstr "" + +#: subprojects/extensions-tool/src/command-info.c:85 +msgid "Show extensions info" +msgstr "" + +#: subprojects/extensions-tool/src/command-install.c:173 +msgid "Overwrite an existing extension" +msgstr "" + +#: subprojects/extensions-tool/src/command-install.c:175 +msgid "EXTENSION_BUNDLE" +msgstr "" + +#: subprojects/extensions-tool/src/command-install.c:184 +msgid "Install an extension bundle" +msgstr "" + +#: subprojects/extensions-tool/src/command-install.c:202 +msgid "No extension bundle specified" +msgstr "" + +#: subprojects/extensions-tool/src/command-install.c:208 +msgid "More than one extension bundle specified" +msgstr "" + +#: subprojects/extensions-tool/src/command-list.c:128 +msgid "Show user-installed extensions" +msgstr "" + +#: subprojects/extensions-tool/src/command-list.c:131 +msgid "Show system-installed extensions" +msgstr "" + +#: subprojects/extensions-tool/src/command-list.c:134 +msgid "Show enabled extensions" +msgstr "" + +#: subprojects/extensions-tool/src/command-list.c:137 +msgid "Show disabled extensions" +msgstr "" + +#: subprojects/extensions-tool/src/command-list.c:140 +msgid "Show extensions with preferences" +msgstr "" + +#: subprojects/extensions-tool/src/command-list.c:143 +msgid "Show extensions with updates" +msgstr "" + +#: subprojects/extensions-tool/src/command-list.c:146 +msgid "Print extension details" +msgstr "" + +#: subprojects/extensions-tool/src/command-list.c:154 +msgid "List installed extensions" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:450 +msgid "FILE" +msgstr "АФАИЛ" + +#: subprojects/extensions-tool/src/command-pack.c:451 +msgid "Additional source to include in the bundle" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:454 +msgid "SCHEMA" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:455 +msgid "A GSettings schema that should be included" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:457 +#: subprojects/extensions-tool/src/command-pack.c:468 +msgid "DIRECTORY" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:459 +msgid "The directory where translations are found" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:461 +msgid "DOMAIN" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:463 +msgid "The gettext domain to use for translations" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:466 +msgid "Overwrite an existing pack" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:470 +msgid "The directory where the pack should be created" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:472 +msgid "SOURCE_DIRECTORY" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:481 +msgid "Create an extension bundle" +msgstr "" + +#: subprojects/extensions-tool/src/command-pack.c:501 +msgid "More than one source directory specified" +msgstr "" + +#: subprojects/extensions-tool/src/command-prefs.c:47 +#, c-format +msgid "Extension “%s” doesn't have preferences\n" +msgstr "" + +#: subprojects/extensions-tool/src/command-prefs.c:62 +#, c-format +msgid "Failed to open prefs for extension “%s”: %s\n" +msgstr "" + +#: subprojects/extensions-tool/src/command-prefs.c:87 +msgid "Opens extension preferences" +msgstr "" + +#: subprojects/extensions-tool/src/command-reset.c:58 +msgid "Reset an extension" +msgstr "" + +#: subprojects/extensions-tool/src/command-uninstall.c:49 +msgid "Cannot uninstall system extensions\n" +msgstr "" + +#: subprojects/extensions-tool/src/command-uninstall.c:64 +#, c-format +msgid "Failed to uninstall “%s”\n" +msgstr "" + +#: subprojects/extensions-tool/src/command-uninstall.c:86 +msgid "Uninstall an extension" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:72 +msgid "Do not print error messages" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:244 +msgid "Path" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:247 +msgid "URL" +msgstr "URL" + +#: subprojects/extensions-tool/src/main.c:250 +msgid "Original author" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:253 +msgid "Version" +msgstr "Аверсиа" + +#: subprojects/extensions-tool/src/main.c:256 +msgid "State" +msgstr "Аҵакыра" + +#: subprojects/extensions-tool/src/main.c:294 +msgid "“version” takes no arguments" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:296 +#: subprojects/extensions-tool/src/main.c:316 +msgid "Usage:" +msgstr "Ахархәара:" + +#: subprojects/extensions-tool/src/main.c:299 +msgid "Print version information and exit." +msgstr "" + +#: subprojects/extensions-tool/src/main.c:314 +#: subprojects/extensions-tool/src/main.c:317 +msgid "COMMAND" +msgstr "АДҴА" + +#: subprojects/extensions-tool/src/main.c:317 +msgid "[ARGS…]" +msgstr "[АҴАҴӶӘҚӘА…]" + +#: subprojects/extensions-tool/src/main.c:319 +msgid "Commands:" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:320 +msgid "Print help" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:322 +msgid "Enable extension" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:323 +msgid "Disable extension" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:324 +msgid "Reset extension" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:325 +msgid "Uninstall extension" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:326 +msgid "List extensions" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:327 +#: subprojects/extensions-tool/src/main.c:328 +msgid "Show extension info" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:329 +msgid "Open extension preferences" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:330 +msgid "Create extension" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:331 +msgid "Package extension" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:332 +msgid "Install extension bundle" +msgstr "" + +#: subprojects/extensions-tool/src/main.c:334 +#, c-format +msgid "Use “%s” to get detailed help.\n" +msgstr "" + +#: subprojects/extensions-tool/src/templates/00-plain.desktop.in:4 +msgid "Plain" +msgstr "Имариоу" + +#: subprojects/extensions-tool/src/templates/00-plain.desktop.in:5 +msgid "An empty extension" +msgstr "" + +#: subprojects/extensions-tool/src/templates/indicator.desktop.in:4 +msgid "Indicator" +msgstr "" + +#: subprojects/extensions-tool/src/templates/indicator.desktop.in:5 +msgid "Add an icon to the top bar" +msgstr "" + +#. translators: +#. * The number of sound outputs on a particular device +#: subprojects/gvc/gvc-mixer-control.c:1907 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "" +msgstr[1] "" + +#. translators: +#. * The number of sound inputs on a particular device +#: subprojects/gvc/gvc-mixer-control.c:1917 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "" +msgstr[1] "" + +#: subprojects/gvc/gvc-mixer-control.c:2867 +msgid "System Sounds" +msgstr "Асистематә бжьқәа" diff -Nru gnome-shell-42.5/po/ka.po gnome-shell-42.9/po/ka.po --- gnome-shell-42.5/po/ka.po 2022-09-17 17:58:18.487484700 +0000 +++ gnome-shell-42.9/po/ka.po 2023-03-19 21:13:44.342683300 +0000 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n" -"POT-Creation-Date: 2022-02-13 12:11+0000\n" -"PO-Revision-Date: 2022-02-13 21:59+0400\n" +"POT-Creation-Date: 2022-10-25 12:47+0000\n" +"PO-Revision-Date: 2022-11-13 23:33+0100\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: \n" "Language: ka\n" @@ -16,7 +16,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.2\n" #: data/50-gnome-shell-launchers.xml:6 msgid "Launchers" @@ -59,7 +59,7 @@ msgstr "#9 რჩეული აპლიკაციის აქტივაცია" #. Translators: name of the folder under ~/Pictures for screenshots. -#: data/50-gnome-shell-screenshots.xml:6 js/ui/screenshot.js:2061 +#: data/50-gnome-shell-screenshots.xml:6 js/ui/screenshot.js:2073 msgid "Screenshots" msgstr "ეკრანის ანაბეჭდები" @@ -192,7 +192,7 @@ #: data/org.gnome.shell.gschema.xml.in:71 msgid "Always show the “Log out” menu item in the user menu." -msgstr "" +msgstr "მომხმარებლის მენიუში \"გასვლის\" ყოველთვის ჩვენება." #: data/org.gnome.shell.gschema.xml.in:72 msgid "" @@ -203,7 +203,7 @@ #: data/org.gnome.shell.gschema.xml.in:79 msgid "" "Whether to remember password for mounting encrypted or remote filesystems" -msgstr "" +msgstr "დავიმახსოვრო თუ არა დაშიფრული ან დაშორებული ფაილურ სისტემის პაროლები" #: data/org.gnome.shell.gschema.xml.in:80 msgid "" @@ -216,7 +216,7 @@ #: data/org.gnome.shell.gschema.xml.in:89 msgid "" "Whether the default Bluetooth adapter had set up devices associated to it" -msgstr "" +msgstr "აქვს თუ არა Bluetooth-ის ნაგულისხმევ ადაპტერს ერთი მოწყობილობა მაინც" #: data/org.gnome.shell.gschema.xml.in:90 msgid "" @@ -359,7 +359,7 @@ #: data/org.gnome.shell.gschema.xml.in:274 msgid "The application icon mode." -msgstr "" +msgstr "აპლიკაციის ხატულების რეჟიმი." #: data/org.gnome.shell.gschema.xml.in:275 msgid "" @@ -367,6 +367,8 @@ "are “thumbnail-only” (shows a thumbnail of the window), “app-icon-" "only” (shows only the application icon) or “both”." msgstr "" +"გადამრთველში ფანჯრების გარეგნობის მორგება. შესაძლო ვარიანტების \"მხოლოდ " +"მინიატურები\", \"მხოლოდ აპლიკაციის ხატულები\" ან \"ორივე\"." #: data/org.gnome.shell.gschema.xml.in:284 msgid "" @@ -388,7 +390,7 @@ #: data/org.gnome.shell.gschema.xml.in:306 msgid "Whether to fetch the current location or not" -msgstr "" +msgstr "გამოვითხოვო თუ არა მდებარეობა" #: data/org.gnome.shell.gschema.xml.in:313 msgid "Location" @@ -400,7 +402,7 @@ #: data/org.gnome.shell.gschema.xml.in:326 msgid "Attach modal dialog to the parent window" -msgstr "" +msgstr "მოდალური ფანჯრის მშობელ ფანჯარაზე მიმაგრება" #: data/org.gnome.shell.gschema.xml.in:327 #: data/org.gnome.shell.gschema.xml.in:336 @@ -417,11 +419,11 @@ #: data/org.gnome.shell.gschema.xml.in:343 msgid "Workspaces are managed dynamically" -msgstr "" +msgstr "სამუშაო სივრცეები დინამიკურად იმართება" #: data/org.gnome.shell.gschema.xml.in:351 msgid "Workspaces only on primary monitor" -msgstr "" +msgstr "სამუშაო მაგიდები მხოლოდ აქტიურ ეკრანზე" #: data/org.gnome.shell.gschema.xml.in:359 msgid "Delay focus changes in mouse mode until the pointer stops moving" @@ -442,6 +444,8 @@ "extension can’t be displayed. We recommend that you report the issue to the " "extension authors." msgstr "" +"სამწუხარო პრობლემა: ამ გაფართოების პარამეტრების ჩვენება შეუძლებელია. გირჩევთ " +"მიმართოთ გაფართოების ავტორებს,." #: js/dbusServices/extensions/ui/extension-error-page.ui:48 msgid "Technical Details" @@ -456,18 +460,18 @@ msgstr "გაფართოებების ვებგვერდის გახსნა" #: js/gdm/authPrompt.js:144 js/ui/audioDeviceSelection.js:61 -#: js/ui/components/networkAgent.js:109 js/ui/components/polkitAgent.js:138 -#: js/ui/endSessionDialog.js:438 js/ui/extensionDownloader.js:223 -#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386 -#: js/ui/status/network.js:974 subprojects/extensions-app/js/main.js:174 +#: js/ui/components/networkAgent.js:109 js/ui/components/polkitAgent.js:141 +#: js/ui/endSessionDialog.js:437 js/ui/extensionDownloader.js:223 +#: js/ui/shellMountOperation.js:377 js/ui/shellMountOperation.js:387 +#: js/ui/status/network.js:956 subprojects/extensions-app/js/main.js:175 msgid "Cancel" msgstr "გაუქმება" #: js/gdm/authPrompt.js:307 js/ui/components/networkAgent.js:209 #: js/ui/components/networkAgent.js:229 js/ui/components/networkAgent.js:261 #: js/ui/components/networkAgent.js:294 js/ui/components/networkAgent.js:333 -#: js/ui/components/networkAgent.js:346 js/ui/components/polkitAgent.js:275 -#: js/ui/shellMountOperation.js:326 +#: js/ui/components/networkAgent.js:346 js/ui/components/polkitAgent.js:283 +#: js/ui/shellMountOperation.js:327 msgid "Password" msgstr "პაროლი" @@ -475,41 +479,41 @@ msgid "Choose Session" msgstr "აირჩიეთ სესია" -#: js/gdm/loginDialog.js:461 +#: js/gdm/loginDialog.js:463 msgid "Not listed?" msgstr "არაა სიაში?" #. Translators: this message is shown below the username entry field #. to clue the user in on how to login to the local network realm -#: js/gdm/loginDialog.js:926 +#: js/gdm/loginDialog.js:931 #, javascript-format msgid "(e.g., user or %s)" msgstr "(მაგ, user ან %s)" -#: js/gdm/loginDialog.js:931 js/ui/components/networkAgent.js:253 +#: js/gdm/loginDialog.js:936 js/ui/components/networkAgent.js:253 #: js/ui/components/networkAgent.js:288 js/ui/components/networkAgent.js:322 msgid "Username" msgstr "მომხმარებლის სახელი" -#: js/gdm/loginDialog.js:1285 +#: js/gdm/loginDialog.js:1258 msgid "Login Window" msgstr "შესვლის ფანჯარა" -#: js/gdm/util.js:435 +#: js/gdm/util.js:431 msgid "Authentication error" msgstr "ავთენტიკაციის შეცდომა" #. Translators: this message is shown below the password entry field #. to indicate the user can swipe their finger on the fingerprint reader -#: js/gdm/util.js:616 +#: js/gdm/util.js:603 msgid "(or swipe finger across reader)" -msgstr "" +msgstr "(ან გადაუსვით თითი წამკითხველს)" #. Translators: this message is shown below the password entry field #. to indicate the user can place their finger on the fingerprint reader instead -#: js/gdm/util.js:621 +#: js/gdm/util.js:608 msgid "(or place finger on reader)" -msgstr "" +msgstr "(ან მოათავსეთ თითი წამკითხველზე)" #. Translators: The name of the power-off action in search #: js/misc/systemActions.js:84 @@ -603,65 +607,65 @@ msgid "Lock Screen Rotation" msgstr "ეკრანის ტრიალის დაბლოკვა" -#: js/misc/util.js:128 +#: js/misc/util.js:129 msgid "Command not found" msgstr "ბრძანება ვერ ვიპოვე" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: js/misc/util.js:164 +#: js/misc/util.js:166 msgid "Could not parse command:" msgstr "ბრძანების ანალიზის შეცდომა:" -#: js/misc/util.js:172 +#: js/misc/util.js:174 #, javascript-format msgid "Execution of “%s” failed:" msgstr "%s-ის გაშვების შეცდომა:" -#: js/misc/util.js:189 +#: js/misc/util.js:191 msgid "Just now" msgstr "ახლა" -#: js/misc/util.js:191 +#: js/misc/util.js:193 #, javascript-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d წუთის წინ" msgstr[1] "%d წუთის წინ" -#: js/misc/util.js:195 +#: js/misc/util.js:197 #, javascript-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d საათის წინ" msgstr[1] "%d საათის წინ" -#: js/misc/util.js:199 js/ui/dateMenu.js:163 +#: js/misc/util.js:201 js/ui/dateMenu.js:167 msgid "Yesterday" msgstr "გუშინ" -#: js/misc/util.js:201 +#: js/misc/util.js:203 #, javascript-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d დღის წინ" msgstr[1] "%d დღის წინ" -#: js/misc/util.js:205 +#: js/misc/util.js:207 #, javascript-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d კვირის წინ" msgstr[1] "%d კვირის წინ" -#: js/misc/util.js:209 +#: js/misc/util.js:211 #, javascript-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d თვის წინ" msgstr[1] "%d თვის წინ" -#: js/misc/util.js:212 +#: js/misc/util.js:214 #, javascript-format msgid "%d year ago" msgid_plural "%d years ago" @@ -669,20 +673,20 @@ msgstr[1] "%d წლის წინ" #. Translators: Time in 24h format -#: js/misc/util.js:245 +#: js/misc/util.js:247 msgid "%H∶%M" msgstr "%H∶%M" #. Translators: this is the word "Yesterday" followed by a #. time string in 24h format. i.e. "Yesterday, 14:30" -#: js/misc/util.js:251 +#: js/misc/util.js:253 #, no-c-format msgid "Yesterday, %H∶%M" msgstr "გუშინ, %H∶%M" #. Translators: this is the week day name followed by a time #. string in 24h format. i.e. "Monday, 14:30" -#: js/misc/util.js:257 +#: js/misc/util.js:259 #, no-c-format msgid "%A, %H∶%M" msgstr "%A, %H∶%M" @@ -690,7 +694,7 @@ #. Translators: this is the month name and day number #. followed by a time string in 24h format. #. i.e. "May 25, 14:30" -#: js/misc/util.js:263 +#: js/misc/util.js:265 #, no-c-format msgid "%B %-d, %H∶%M" msgstr "%B %-d, %H∶%M" @@ -698,7 +702,7 @@ #. Translators: this is the month name, day number, year #. number followed by a time string in 24h format. #. i.e. "May 25 2012, 14:30" -#: js/misc/util.js:269 +#: js/misc/util.js:271 #, no-c-format msgid "%B %-d %Y, %H∶%M" msgstr "%B %-d %Y, %H∶%M" @@ -706,20 +710,20 @@ #. Show only the time if date is on today #. eslint-disable-line no-lonely-if #. Translators: Time in 12h format -#: js/misc/util.js:274 +#: js/misc/util.js:276 msgid "%l∶%M %p" msgstr "%l∶%M %p" #. Translators: this is the word "Yesterday" followed by a #. time string in 12h format. i.e. "Yesterday, 2:30 pm" -#: js/misc/util.js:280 +#: js/misc/util.js:282 #, no-c-format msgid "Yesterday, %l∶%M %p" msgstr "გუშინ, %l∶%M %p" #. Translators: this is the week day name followed by a time #. string in 12h format. i.e. "Monday, 2:30 pm" -#: js/misc/util.js:286 +#: js/misc/util.js:288 #, no-c-format msgid "%A, %l∶%M %p" msgstr "%A, %l∶%M %p" @@ -727,7 +731,7 @@ #. Translators: this is the month name and day number #. followed by a time string in 12h format. #. i.e. "May 25, 2:30 pm" -#: js/misc/util.js:292 +#: js/misc/util.js:294 #, no-c-format msgid "%B %-d, %l∶%M %p" msgstr "%B %-d, %l∶%M %p" @@ -735,17 +739,16 @@ #. Translators: this is the month name, day number, year #. number followed by a time string in 12h format. #. i.e. "May 25 2012, 2:30 pm" -#: js/misc/util.js:298 +#: js/misc/util.js:300 #, no-c-format msgid "%B %-d %Y, %l∶%M %p" msgstr "%B %-d %Y, %l∶%M %p" -#. TRANSLATORS: this is the title of the wifi captive portal login window -#: js/portalHelper/main.js:50 +#: js/portalHelper/main.js:55 msgid "Hotspot Login" msgstr "ჰოტსპოტზე შესვლა" -#: js/portalHelper/main.js:96 +#: js/portalHelper/main.js:108 msgid "" "Your connection to this hotspot login is not secure. Passwords or other " "information you enter on this page can be viewed by people nearby." @@ -753,11 +756,11 @@ #. No support for non-modal system dialogs, so ignore the option #. let modal = options['modal'] || true; -#: js/ui/accessDialog.js:39 js/ui/status/location.js:416 +#: js/ui/accessDialog.js:39 js/ui/status/location.js:406 msgid "Deny Access" msgstr "წვდომის მინიჭება" -#: js/ui/accessDialog.js:40 js/ui/status/location.js:419 +#: js/ui/accessDialog.js:40 js/ui/status/location.js:411 msgid "Grant Access" msgstr "უარი წვდომაზე" @@ -784,23 +787,23 @@ msgid "Show Details" msgstr "დეტალების ჩვენება" -#: js/ui/appMenu.js:96 +#: js/ui/appMenu.js:97 msgid "Quit" msgstr "გასვლა" -#: js/ui/appMenu.js:163 js/ui/dash.js:245 +#: js/ui/appMenu.js:157 js/ui/dash.js:249 msgid "Unpin" msgstr "ჩამოხსნა" -#: js/ui/appMenu.js:164 +#: js/ui/appMenu.js:158 msgid "Pin to Dash" msgstr "მიმაგრება" -#: js/ui/appMenu.js:181 +#: js/ui/appMenu.js:175 msgid "Launch using Integrated Graphics Card" msgstr "ჩაშენებული ვიდეობარათით გაშვება" -#: js/ui/appMenu.js:182 +#: js/ui/appMenu.js:176 msgid "Launch using Discrete Graphics Card" msgstr "დისკრეტული ვიდეობარათით გაშვება" @@ -820,7 +823,7 @@ msgid "Headset" msgstr "ყურსაცვამები & მიკროფონი" -#: js/ui/audioDeviceSelection.js:73 js/ui/status/volume.js:277 +#: js/ui/audioDeviceSelection.js:73 js/ui/status/volume.js:271 msgid "Microphone" msgstr "მიკროფონი" @@ -895,7 +898,7 @@ #. * "%OB" is the new format specifier introduced in glibc 2.27, #. * in most cases you should not change it. #. -#: js/ui/calendar.js:402 +#: js/ui/calendar.js:414 msgid "%OB" msgstr "%OB" @@ -908,77 +911,77 @@ #. * in most cases you should not use the old "%B" here unless you #. * absolutely know what you are doing. #. -#: js/ui/calendar.js:412 +#: js/ui/calendar.js:424 msgid "%OB %Y" msgstr "%OB %Y" -#: js/ui/calendar.js:472 +#: js/ui/calendar.js:484 msgid "Previous month" msgstr "წინა თვე" -#: js/ui/calendar.js:490 +#: js/ui/calendar.js:502 msgid "Next month" msgstr "შემდეგი თვე" -#: js/ui/calendar.js:642 -#, javascript-format +#: js/ui/calendar.js:654 +#, no-javascript-format msgctxt "date day number format" msgid "%d" msgstr "%d" -#: js/ui/calendar.js:701 +#: js/ui/calendar.js:713 msgid "Week %V" msgstr "%V კვირა" -#: js/ui/calendar.js:915 +#: js/ui/calendar.js:892 msgid "No Notifications" msgstr "შეტყობინებების გარეშე" -#: js/ui/calendar.js:972 +#: js/ui/calendar.js:949 msgid "Do Not Disturb" msgstr "არ შემაწუხო" -#: js/ui/calendar.js:993 +#: js/ui/calendar.js:970 msgid "Clear" msgstr "გასუფთავება" #. Translators: %s is an application name -#: js/ui/closeDialog.js:42 +#: js/ui/closeDialog.js:40 #, javascript-format msgid "“%s” is not responding." msgstr "%s არ პასუხობს." -#: js/ui/closeDialog.js:43 +#: js/ui/closeDialog.js:41 msgid "" "You may choose to wait a short while for it to continue or force the " "application to quit entirely." msgstr "" -#: js/ui/closeDialog.js:70 +#: js/ui/closeDialog.js:69 msgid "Force Quit" msgstr "ძალით გასვლა" -#: js/ui/closeDialog.js:73 +#: js/ui/closeDialog.js:74 msgid "Wait" msgstr "მოცდა" -#: js/ui/components/automountManager.js:85 +#: js/ui/components/automountManager.js:84 msgid "External drive connected" msgstr "გარე საცავი მიერთებულია" -#: js/ui/components/automountManager.js:97 +#: js/ui/components/automountManager.js:96 msgid "External drive disconnected" msgstr "გარე საცავი გათიშულია" -#: js/ui/components/automountManager.js:206 +#: js/ui/components/automountManager.js:207 msgid "Unable to unlock volume" msgstr "საცავის განბლოკვის შეცდომა" -#: js/ui/components/automountManager.js:207 +#: js/ui/components/automountManager.js:208 msgid "The installed udisks version does not support the PIM setting" msgstr "" -#: js/ui/components/autorunManager.js:332 +#: js/ui/components/autorunManager.js:334 #, javascript-format msgid "Open with %s" msgstr "%s-ით გახსნა" @@ -986,10 +989,10 @@ #: js/ui/components/networkAgent.js:91 msgid "" "Alternatively you can connect by pushing the “WPS” button on your router." -msgstr "" +msgstr "დაკავშირება ასევე შეგიძლიათ რაუტერზე \"WPS\" ღილაკზე დაწოლით." -#: js/ui/components/networkAgent.js:103 js/ui/status/network.js:257 -#: js/ui/status/network.js:348 js/ui/status/network.js:977 +#: js/ui/components/networkAgent.js:103 js/ui/status/network.js:244 +#: js/ui/status/network.js:335 js/ui/status/network.js:961 msgid "Connect" msgstr "დაკავშირება" @@ -1010,18 +1013,18 @@ msgstr "სერვისი" #: js/ui/components/networkAgent.js:366 js/ui/components/networkAgent.js:402 -#: js/ui/components/networkAgent.js:742 js/ui/components/networkAgent.js:763 +#: js/ui/components/networkAgent.js:746 js/ui/components/networkAgent.js:767 msgid "Authentication required" msgstr "საჭიროა ავთენტ" -#: js/ui/components/networkAgent.js:367 js/ui/components/networkAgent.js:743 +#: js/ui/components/networkAgent.js:367 js/ui/components/networkAgent.js:747 #, javascript-format msgid "" "Passwords or encryption keys are required to access the wireless network " "“%s”." msgstr "" -#: js/ui/components/networkAgent.js:371 js/ui/components/networkAgent.js:747 +#: js/ui/components/networkAgent.js:371 js/ui/components/networkAgent.js:751 msgid "Wired 802.1X authentication" msgstr "802.1X ავთენტიკაცია მავთულზე" @@ -1029,15 +1032,15 @@ msgid "Network name" msgstr "ქსელის სახელი" -#: js/ui/components/networkAgent.js:382 js/ui/components/networkAgent.js:751 +#: js/ui/components/networkAgent.js:382 js/ui/components/networkAgent.js:755 msgid "DSL authentication" msgstr "DSL ავთენტიკაცია" -#: js/ui/components/networkAgent.js:389 js/ui/components/networkAgent.js:756 +#: js/ui/components/networkAgent.js:389 js/ui/components/networkAgent.js:760 msgid "PIN code required" msgstr "საჭიროა PIN კოდი" -#: js/ui/components/networkAgent.js:390 js/ui/components/networkAgent.js:757 +#: js/ui/components/networkAgent.js:390 js/ui/components/networkAgent.js:761 msgid "PIN code is needed for the mobile broadband device" msgstr "მობილური კავშირის მოწყობილობას სჭირდება PIN კოდი" @@ -1045,30 +1048,30 @@ msgid "PIN" msgstr "PIN კოდი" -#: js/ui/components/networkAgent.js:403 js/ui/components/networkAgent.js:748 -#: js/ui/components/networkAgent.js:752 js/ui/components/networkAgent.js:764 -#: js/ui/components/networkAgent.js:768 +#: js/ui/components/networkAgent.js:403 js/ui/components/networkAgent.js:752 +#: js/ui/components/networkAgent.js:756 js/ui/components/networkAgent.js:768 +#: js/ui/components/networkAgent.js:772 #, javascript-format msgid "A password is required to connect to “%s”." msgstr "%s-თან დასაკავშირებლად საჭიროა პაროლი." -#: js/ui/components/networkAgent.js:731 js/ui/status/network.js:1785 +#: js/ui/components/networkAgent.js:735 js/ui/status/network.js:1751 msgid "Network Manager" msgstr "ქსელის მმართველი" -#: js/ui/components/networkAgent.js:767 +#: js/ui/components/networkAgent.js:771 msgid "VPN password" msgstr "VPN-ის პაროლი" -#: js/ui/components/polkitAgent.js:39 +#: js/ui/components/polkitAgent.js:41 msgid "Authentication Required" msgstr "საჭიროა ავთენტიკაცია" -#: js/ui/components/polkitAgent.js:79 +#: js/ui/components/polkitAgent.js:81 msgid "Administrator" msgstr "ადმინისტრატორი" -#: js/ui/components/polkitAgent.js:141 +#: js/ui/components/polkitAgent.js:146 msgid "Authenticate" msgstr "ავთენტიკაცია" @@ -1076,28 +1079,26 @@ #. * requested authentication was not gained; this can happen #. * because of an authentication error (like invalid password), #. * for instance. -#: js/ui/components/polkitAgent.js:252 js/ui/shellMountOperation.js:402 +#: js/ui/components/polkitAgent.js:260 js/ui/shellMountOperation.js:403 msgid "Sorry, that didn’t work. Please try again." msgstr "უკაცრავად, არ იმუშავა. კიდევ სცადეთ." -#. Translators: this is the other person changing their old IM name to their new -#. IM name. -#: js/ui/components/telepathyClient.js:819 +#: js/ui/components/telepathyClient.js:828 #, javascript-format msgid "%s is now known as %s" msgstr "%s-ს ახლა ჰქვია %s" -#: js/ui/ctrlAltTab.js:21 js/ui/overviewControls.js:404 +#: js/ui/ctrlAltTab.js:22 js/ui/overviewControls.js:417 msgid "Windows" msgstr "ფანჯრები" -#: js/ui/dash.js:204 js/ui/dash.js:247 +#: js/ui/dash.js:205 js/ui/dash.js:251 msgid "Show Applications" msgstr "აპლიკაციების ჩვენება" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: js/ui/dash.js:394 +#: js/ui/dash.js:398 msgid "Dash" msgstr "პანელი" @@ -1106,7 +1107,7 @@ #. * "Tue 9:29 AM"). The string itself should become a full date, e.g., #. * "February 17 2015". #. -#: js/ui/dateMenu.js:79 +#: js/ui/dateMenu.js:83 msgid "%B %-d %Y" msgstr "%B %-d %Y" @@ -1114,155 +1115,162 @@ #. * below the time in the shell; it should combine the weekday and the #. * date, e.g. "Tuesday February 17 2015". #. -#: js/ui/dateMenu.js:86 +#: js/ui/dateMenu.js:90 msgid "%A %B %e %Y" msgstr "%A %B %e %Y" #. Translators: Shown on calendar heading when selected day occurs on current year -#: js/ui/dateMenu.js:152 +#: js/ui/dateMenu.js:156 msgctxt "calendar heading" msgid "%B %-d" msgstr "%B %-d" #. Translators: Shown on calendar heading when selected day occurs on different year -#: js/ui/dateMenu.js:155 +#: js/ui/dateMenu.js:159 msgctxt "calendar heading" msgid "%B %-d %Y" msgstr "%B %-d %Y" -#: js/ui/dateMenu.js:161 +#: js/ui/dateMenu.js:165 msgid "Today" msgstr "დღეს" -#: js/ui/dateMenu.js:165 +#: js/ui/dateMenu.js:169 msgid "Tomorrow" msgstr "ხვალ" #. Translators: Shown in calendar event list for all day events #. * Keep it short, best if you can use less then 10 characters #. -#: js/ui/dateMenu.js:196 +#: js/ui/dateMenu.js:200 msgctxt "event list time" msgid "All Day" msgstr "მთელი დღე" -#: js/ui/dateMenu.js:267 +#. Translators: Shown in calendar event list as the start/end of events +#. * that only show day and month +#. +#: js/ui/dateMenu.js:222 +msgid "%m/%d" +msgstr "%m/%d" + +#: js/ui/dateMenu.js:273 msgid "No Events" msgstr "ღონისძიებების გარეშე" -#: js/ui/dateMenu.js:388 +#: js/ui/dateMenu.js:396 msgid "Add world clocks…" msgstr "მსოფლიო საათების დამატება…" -#: js/ui/dateMenu.js:389 +#: js/ui/dateMenu.js:397 msgid "World Clocks" msgstr "მსოფლიო საათები" -#: js/ui/dateMenu.js:665 +#: js/ui/dateMenu.js:699 msgid "Loading…" msgstr "ჩატვირთვა…" -#: js/ui/dateMenu.js:675 +#: js/ui/dateMenu.js:709 msgid "Go online for weather information" msgstr "ამინდის ინფორმაციისთვის საჭიროა ინტერნეტი" -#: js/ui/dateMenu.js:677 +#: js/ui/dateMenu.js:711 msgid "Weather information is currently unavailable" msgstr "ამინდის ინფორმაცია ხელმიუწვდომელია" -#: js/ui/dateMenu.js:687 +#: js/ui/dateMenu.js:721 msgid "Weather" msgstr "ამინდი" -#: js/ui/dateMenu.js:689 +#: js/ui/dateMenu.js:723 msgid "Select weather location…" msgstr "აირჩიეთ ამინდის მდებარეობა…" -#: js/ui/endSessionDialog.js:39 +#: js/ui/endSessionDialog.js:41 #, javascript-format msgctxt "title" msgid "Log Out %s" msgstr "%s-დან გასვლა" -#: js/ui/endSessionDialog.js:40 +#: js/ui/endSessionDialog.js:42 msgctxt "title" msgid "Log Out" msgstr "გასვლა" -#: js/ui/endSessionDialog.js:43 +#: js/ui/endSessionDialog.js:45 #, javascript-format msgid "%s will be logged out automatically in %d second." msgid_plural "%s will be logged out automatically in %d seconds." msgstr[0] "%s გამოვა ავტომატურად, %d წამში." msgstr[1] "%s გამოვა ავტომატურად, %d წამში." -#: js/ui/endSessionDialog.js:49 +#: js/ui/endSessionDialog.js:51 #, javascript-format msgid "You will be logged out automatically in %d second." msgid_plural "You will be logged out automatically in %d seconds." msgstr[0] "ავტომატური გამოსვლა %d წამში." msgstr[1] "ავტომატური გამოსვლა %d წამში." -#: js/ui/endSessionDialog.js:56 +#: js/ui/endSessionDialog.js:58 msgctxt "button" msgid "Log Out" msgstr "გასვლა" -#: js/ui/endSessionDialog.js:62 +#: js/ui/endSessionDialog.js:64 msgctxt "title" msgid "Power Off" msgstr "გამორთვა" -#: js/ui/endSessionDialog.js:63 +#: js/ui/endSessionDialog.js:65 msgctxt "title" msgid "Install Updates & Power Off" msgstr "განახლებების დაყენება და გამორთვა" -#: js/ui/endSessionDialog.js:66 +#: js/ui/endSessionDialog.js:68 #, javascript-format msgid "The system will power off automatically in %d second." msgid_plural "The system will power off automatically in %d seconds." msgstr[0] "სისტემა გამოირთვება ავტომატურად %d წამში." msgstr[1] "სისტემა გამოირთვება ავტომატურად %d წამში." -#: js/ui/endSessionDialog.js:70 js/ui/endSessionDialog.js:89 +#: js/ui/endSessionDialog.js:72 js/ui/endSessionDialog.js:91 msgctxt "checkbox" msgid "Install pending software updates" msgstr "დარჩენილი განახლებების დაყენება" -#: js/ui/endSessionDialog.js:74 +#: js/ui/endSessionDialog.js:76 msgctxt "button" msgid "Power Off" msgstr "გამორთვა" -#: js/ui/endSessionDialog.js:81 +#: js/ui/endSessionDialog.js:83 msgctxt "title" msgid "Restart" msgstr "გადატვირთვა" -#: js/ui/endSessionDialog.js:82 +#: js/ui/endSessionDialog.js:84 msgctxt "title" msgid "Install Updates & Restart" msgstr "განახლებების დაყენება და გადატვირთვა" -#: js/ui/endSessionDialog.js:85 +#: js/ui/endSessionDialog.js:87 #, javascript-format msgid "The system will restart automatically in %d second." msgid_plural "The system will restart automatically in %d seconds." msgstr[0] "სისტემა გადაიტვირთება ავტომატურად %d წამში." msgstr[1] "სისტემა გადაიტვირთება ავტომატურად %d წამში." -#: js/ui/endSessionDialog.js:93 +#: js/ui/endSessionDialog.js:95 msgctxt "button" msgid "Restart" msgstr "გადატვირთვა" -#: js/ui/endSessionDialog.js:101 +#: js/ui/endSessionDialog.js:103 msgctxt "title" msgid "Restart & Install Updates" msgstr "სისტემა გადაიტვირთება და განახლდება" -#: js/ui/endSessionDialog.js:104 +#: js/ui/endSessionDialog.js:106 #, javascript-format msgid "The system will automatically restart and install updates in %d second." msgid_plural "" @@ -1270,22 +1278,22 @@ msgstr[0] "სისტემა გადაიტვირთება და განახლდება %d წამში." msgstr[1] "სისტემა გადაიტვირთება და განახლდება %d წამში." -#: js/ui/endSessionDialog.js:111 js/ui/endSessionDialog.js:132 +#: js/ui/endSessionDialog.js:113 js/ui/endSessionDialog.js:134 msgctxt "button" msgid "Restart & Install" msgstr "გადატვირთვა & დაყენება" -#: js/ui/endSessionDialog.js:113 +#: js/ui/endSessionDialog.js:115 msgctxt "button" msgid "Install & Power Off" msgstr "განახლებების დაყენება და გამორთვა" -#: js/ui/endSessionDialog.js:114 +#: js/ui/endSessionDialog.js:116 msgctxt "checkbox" msgid "Power off after updates are installed" msgstr "გამორთვა განახლებების დაყენების შემდეგ" -#: js/ui/endSessionDialog.js:121 +#: js/ui/endSessionDialog.js:123 msgctxt "title" msgid "Restart & Install Upgrade" msgstr "გადატვირთვა და განახლება" @@ -1293,24 +1301,27 @@ #. Translators: This is the text displayed for system upgrades in the #. shut down dialog. First %s gets replaced with the distro name and #. second %s with the distro version to upgrade to -#: js/ui/endSessionDialog.js:126 +#: js/ui/endSessionDialog.js:128 #, javascript-format msgid "" "%s %s will be installed after restart. Upgrade installation can take a long " "time: ensure that you have backed up and that the computer is plugged in." msgstr "" +"%s %s დაყენებული იქნება გადატვირთვის შემდეგ. განახლებების დაყენებას საკმაოდ " +"დიდი დრო შეიძლება დასჭირდეს. დარწმუნდით, რომ გაქვთ მონაცემების მარქაფი და " +"კომპიუტერი შეერთებულია ელ-წყაროში." -#: js/ui/endSessionDialog.js:284 +#: js/ui/endSessionDialog.js:287 msgid "Low battery power: please plug in before installing updates." msgstr "" "ელემენტი თითქმის დამჯდარია. განახლებების დაყენებამდე გთხოვთ შეართოთ კვების " "კაბელი." -#: js/ui/endSessionDialog.js:293 +#: js/ui/endSessionDialog.js:296 msgid "Some applications are busy or have unsaved work" msgstr "ზოგიერთი აპლიკაცია დაკავებულია ან აქვს შეუნახავი ცვლილებები" -#: js/ui/endSessionDialog.js:298 +#: js/ui/endSessionDialog.js:301 msgid "Other users are logged in" msgstr "სხვა მომხმარებლებიც არიან შემოსული" @@ -1320,13 +1331,13 @@ msgstr "ჩატვირთვის პარამეტრები" #. Translators: Remote here refers to a remote session, like a ssh login -#: js/ui/endSessionDialog.js:686 +#: js/ui/endSessionDialog.js:688 #, javascript-format msgid "%s (remote)" msgstr "%s (დაშორებული)" #. Translators: Console here refers to a tty like a VT console -#: js/ui/endSessionDialog.js:689 +#: js/ui/endSessionDialog.js:691 #, javascript-format msgid "%s (console)" msgstr "%s (კონსოლიდან)" @@ -1344,39 +1355,39 @@ msgid "Download and install “%s” from extensions.gnome.org?" msgstr "გადმოვწერო და დავაყენო %s extensions.gnome.org-დან?" -#: js/ui/extensionSystem.js:267 +#: js/ui/extensionSystem.js:268 msgid "Extension Updates Available" msgstr "ხელმისაწვდომია გაფართოების განახლება" -#: js/ui/extensionSystem.js:268 +#: js/ui/extensionSystem.js:269 msgid "Extension updates are ready to be installed." msgstr "გაფართოების განახლება მზადაა დასაყენებლად." -#: js/ui/inhibitShortcutsDialog.js:79 +#: js/ui/inhibitShortcutsDialog.js:75 msgid "Allow inhibiting shortcuts" msgstr "მალსახმობების გათიშვის ნების დართვა" #. Translators: %s is an application name like "Settings" -#: js/ui/inhibitShortcutsDialog.js:82 +#: js/ui/inhibitShortcutsDialog.js:78 #, javascript-format msgid "The application %s wants to inhibit shortcuts" msgstr "აპლიკაცია %s-ს უნდა მალსახმობების გათიშვა" -#: js/ui/inhibitShortcutsDialog.js:83 +#: js/ui/inhibitShortcutsDialog.js:79 msgid "An application wants to inhibit shortcuts" msgstr "აპლიკაციას უნდა მალსახმობების გათიშვა" #. Translators: %s is a keyboard shortcut like "Super+x" -#: js/ui/inhibitShortcutsDialog.js:90 +#: js/ui/inhibitShortcutsDialog.js:86 #, javascript-format msgid "You can restore shortcuts by pressing %s." msgstr "მალსახმობების აღდგენა შეგიძლიათ %s-ზე დაწოლით." -#: js/ui/inhibitShortcutsDialog.js:100 +#: js/ui/inhibitShortcutsDialog.js:97 msgid "Deny" msgstr "აკრძალვა" -#: js/ui/inhibitShortcutsDialog.js:107 +#: js/ui/inhibitShortcutsDialog.js:106 msgid "Allow" msgstr "დაშვება" @@ -1393,6 +1404,8 @@ "You just held down the Shift key for 8 seconds. This is the shortcut for the " "Slow Keys feature, which affects the way your keyboard works." msgstr "" +"თქვენ Shift ღილაკს 8 წამით დააჭირეთ. ეს ნელი კლავიატურის თვისების " +"მალსახმობია, რომელიც განსაზღვრავს, როგორ მუშაობს თქვენი კლავიატურა." #: js/ui/kbdA11yDialog.js:40 msgid "Sticky Keys Turned On" @@ -1407,6 +1420,8 @@ "You just pressed the Shift key 5 times in a row. This is the shortcut for " "the Sticky Keys feature, which affects the way your keyboard works." msgstr "" +"თქვენ Shift ღილაკს 5 წამით დააჭირეთ. ეს წებოვანი კლავიატურის თვისების " +"მალსახმობია, რომელიც განსაზღვრავს, როგორ მუშაობს თქვენი კლავიატურა." #: js/ui/kbdA11yDialog.js:45 msgid "" @@ -1414,111 +1429,122 @@ "row. This turns off the Sticky Keys feature, which affects the way your " "keyboard works." msgstr "" +"თქვენ დააჭირეთ ერთდროულად ორ ღილაკს ან ზედიზედ 5-ჯერ დააჭირეთ Shift ღილაკს, " +"ეს გამორთავს წებოვანი კლავიატურის თვისებას, რომელიც განსაზღვრავს, როგორ " +"მუშაობს თქვენი კლავიატურა." -#: js/ui/kbdA11yDialog.js:54 +#: js/ui/kbdA11yDialog.js:55 msgid "Leave On" msgstr "ჩართული დატოვება" -#: js/ui/kbdA11yDialog.js:54 js/ui/status/bluetooth.js:151 -#: js/ui/status/network.js:1373 +#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:177 +#: js/ui/status/network.js:1341 msgid "Turn On" msgstr "ჩართვა" -#: js/ui/kbdA11yDialog.js:62 js/ui/status/bluetooth.js:151 -#: js/ui/status/network.js:165 js/ui/status/network.js:349 -#: js/ui/status/network.js:1373 js/ui/status/network.js:1485 +#: js/ui/kbdA11yDialog.js:65 js/ui/status/bluetooth.js:177 +#: js/ui/status/network.js:160 js/ui/status/network.js:336 +#: js/ui/status/network.js:1341 js/ui/status/network.js:1456 #: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81 #: js/ui/status/rfkill.js:110 msgid "Turn Off" msgstr "გამორთვა" -#: js/ui/kbdA11yDialog.js:62 +#: js/ui/kbdA11yDialog.js:65 msgid "Leave Off" msgstr "გამორთული დატოვება" -#: js/ui/keyboard.js:248 +#: js/ui/keyboard.js:265 msgid "Region & Language Settings" msgstr "ქვეყნისა და ენის მორგება" -#: js/ui/lookingGlass.js:677 +#: js/ui/lookingGlass.js:710 msgid "No extensions installed" msgstr "გაფართოებები დაყენებული არაა" #. Translators: argument is an extension UUID. -#: js/ui/lookingGlass.js:735 +#: js/ui/lookingGlass.js:771 #, javascript-format msgid "%s has not emitted any errors." msgstr "%s-მა შეცდომა არ დააბრუნა." -#: js/ui/lookingGlass.js:741 +#: js/ui/lookingGlass.js:777 msgid "Hide Errors" msgstr "შეცდომების დამალვა" -#: js/ui/lookingGlass.js:745 js/ui/lookingGlass.js:811 +#: js/ui/lookingGlass.js:781 js/ui/lookingGlass.js:854 msgid "Show Errors" msgstr "შეცდომების ჩვენება" -#: js/ui/lookingGlass.js:754 +#: js/ui/lookingGlass.js:790 msgid "Enabled" msgstr "ჩართულია" #. translators: #. * The device has been disabled -#: js/ui/lookingGlass.js:757 subprojects/gvc/gvc-mixer-control.c:1900 +#: js/ui/lookingGlass.js:793 subprojects/gvc/gvc-mixer-control.c:1900 msgid "Disabled" msgstr "გამორთულია" -#: js/ui/lookingGlass.js:759 +#: js/ui/lookingGlass.js:795 msgid "Error" msgstr "შეცდომა" -#: js/ui/lookingGlass.js:761 +#: js/ui/lookingGlass.js:797 msgid "Out of date" msgstr "ვადაგასული" -#: js/ui/lookingGlass.js:763 +#: js/ui/lookingGlass.js:799 msgid "Downloading" msgstr "გადმოწერა" -#: js/ui/lookingGlass.js:793 +#: js/ui/lookingGlass.js:832 msgid "View Source" msgstr "წყაროს ნახვა" -#: js/ui/lookingGlass.js:802 +#: js/ui/lookingGlass.js:843 msgid "Web Page" msgstr "ვებგვერდი" -#: js/ui/main.js:265 +#: js/ui/main.js:266 msgid "System was put in unsafe mode" msgstr "სისტემა უსაფრთხო რეჟიმზე გადაერთო" -#: js/ui/main.js:266 +#: js/ui/main.js:267 msgid "Applications now have unrestricted access" msgstr "ახლა აპლიკაციებს განუსაზღვრელი წვდომა აქვთ" -#: js/ui/main.js:267 js/ui/overview.js:58 +#: js/ui/main.js:268 js/ui/overview.js:58 msgid "Undo" msgstr "დაბრუნება" -#: js/ui/main.js:313 +#: js/ui/main.js:314 msgid "Logged in as a privileged user" msgstr "შეხვედით, როგორც პრივილეგირებული მომხმარებელი" -#: js/ui/main.js:314 +#: js/ui/main.js:315 msgid "" "Running a session as a privileged user should be avoided for security " "reasons. If possible, you should log in as a normal user." msgstr "" -#: js/ui/messageTray.js:1446 +#: js/ui/main.js:364 +msgid "Screen Lock disabled" +msgstr "" + +#: js/ui/main.js:365 +msgid "Screen Locking requires the GNOME display manager." +msgstr "" + +#: js/ui/messageTray.js:1418 msgid "System Information" msgstr "ინფორმაცია სისტემის შესახებ" -#: js/ui/mpris.js:207 +#: js/ui/mpris.js:200 msgid "Unknown artist" msgstr "უცნობი შემსრულებელი" -#: js/ui/mpris.js:217 +#: js/ui/mpris.js:210 msgid "Unknown title" msgstr "უცნობი სათაური" @@ -1526,11 +1552,11 @@ #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: js/ui/overviewControls.js:313 +#: js/ui/overviewControls.js:327 msgid "Type to search" msgstr "მოსაძებნად აკრიფეთ" -#: js/ui/overviewControls.js:392 +#: js/ui/overviewControls.js:405 msgid "Applications" msgstr "აპლიკაციები" @@ -1540,62 +1566,60 @@ msgid "Overview" msgstr "მიმოხილვა" -#: js/ui/padOsd.js:95 +#: js/ui/padOsd.js:100 msgid "New shortcut…" msgstr "ახალი მალსახმობი…" -#: js/ui/padOsd.js:142 +#: js/ui/padOsd.js:154 msgid "Application defined" msgstr "აპლიკაციის განსაზღვრულია" -#: js/ui/padOsd.js:143 +#: js/ui/padOsd.js:155 msgid "Show on-screen help" msgstr "ეკრანზე ნაჩვენები დახმარება" -#: js/ui/padOsd.js:144 +#: js/ui/padOsd.js:156 msgid "Switch monitor" msgstr "ეკრანის შეცვლა" -#: js/ui/padOsd.js:145 +#: js/ui/padOsd.js:157 msgid "Assign keystroke" msgstr "ღილაკების თანამიმდევრობის მინიჭება" -#: js/ui/padOsd.js:211 +#: js/ui/padOsd.js:226 msgid "Done" msgstr "დასრულებულია" -#: js/ui/padOsd.js:715 +#: js/ui/padOsd.js:743 msgid "Edit…" msgstr "ჩასწორება…" -#: js/ui/padOsd.js:757 js/ui/padOsd.js:874 +#: js/ui/padOsd.js:785 js/ui/padOsd.js:902 msgid "None" msgstr "არცერთი" -#: js/ui/padOsd.js:828 +#: js/ui/padOsd.js:856 msgid "Press a button to configure" msgstr "მოსარგებად დააწექით ღილაკს" -#: js/ui/padOsd.js:829 +#: js/ui/padOsd.js:857 msgid "Press Esc to exit" msgstr "დასახურად დააწექით ESC-ს" -#: js/ui/padOsd.js:832 +#: js/ui/padOsd.js:860 msgid "Press any key to exit" msgstr "გასასვლელად დააჭირეთ ნებისმიერ ღილაკს" -#. Translators: If there is no suitable word for "Activities" -#. in your language, you can use the word for "Overview". -#: js/ui/panel.js:270 +#: js/ui/panel.js:241 msgid "Activities" msgstr "ქმედებები" -#: js/ui/panel.js:392 +#: js/ui/panel.js:364 msgctxt "System menu in the top bar" msgid "System" msgstr "სისტემა" -#: js/ui/panel.js:503 +#: js/ui/panel.js:480 msgid "Top Bar" msgstr "ზედა ზოლი" @@ -1615,7 +1639,7 @@ msgid "Restarting…" msgstr "გადატვირთვა…" -#: js/ui/screenShield.js:225 +#: js/ui/screenShield.js:229 msgid "GNOME needs to lock the screen" msgstr "GNOME -ს სჭირდება თქვენი ეკრანის ჩაკეტვა" @@ -1626,111 +1650,111 @@ #. #. XXX: another option is to kick the user into the gdm login #. screen, where we're not affected by grabs -#: js/ui/screenShield.js:265 js/ui/screenShield.js:636 +#: js/ui/screenShield.js:269 js/ui/screenShield.js:646 msgid "Unable to lock" msgstr "ჩაკეტვის შეცდომა" -#: js/ui/screenShield.js:266 js/ui/screenShield.js:637 +#: js/ui/screenShield.js:270 js/ui/screenShield.js:647 msgid "Lock was blocked by an application" msgstr "ჩაკეტვა დაბლოკილია აპლიკაციის მიერ" -#: js/ui/screenshot.js:1147 +#: js/ui/screenshot.js:1149 msgid "Selection" msgstr "მონიშნული" -#: js/ui/screenshot.js:1157 +#: js/ui/screenshot.js:1159 msgid "Area Selection" msgstr "მონიშნული მონაკვეთი" -#: js/ui/screenshot.js:1162 +#: js/ui/screenshot.js:1164 msgid "Screen" msgstr "ეკრანი" -#: js/ui/screenshot.js:1172 +#: js/ui/screenshot.js:1174 msgid "Screen Selection" msgstr "ეკრანის არჩევანი" -#: js/ui/screenshot.js:1177 +#: js/ui/screenshot.js:1179 msgid "Window" msgstr "ფანჯარა" -#: js/ui/screenshot.js:1187 +#: js/ui/screenshot.js:1189 msgid "Window Selection" msgstr "ფანჯრის არჩევანი" -#: js/ui/screenshot.js:1224 +#: js/ui/screenshot.js:1227 msgid "Screenshot / Screencast" msgstr "ეკრანის ანაბეჭდი / ჩანაწერი" -#: js/ui/screenshot.js:1260 +#: js/ui/screenshot.js:1263 msgid "Show Pointer" msgstr "კურსორის ჩვენება" #. Translators: this is the folder where recorded #. screencasts are stored. -#: js/ui/screenshot.js:1827 +#: js/ui/screenshot.js:1839 msgid "Screencasts" msgstr "ეკრანის ვიდეოჩანაწერი" #. Translators: this is a filename used for screencast #. * recording, where "%d" and "%t" date and time, e.g. #. * "Screencast from 07-17-2013 10:00:46 PM.webm" -#: js/ui/screenshot.js:1832 +#: js/ui/screenshot.js:1844 #, no-c-format msgid "Screencast from %d %t.webm" msgstr "ეკრანის ვიდეოჩანაწერი %d %t-დან.webm" #. Translators: notification source name. -#: js/ui/screenshot.js:1901 js/ui/screenshot.js:2114 +#: js/ui/screenshot.js:1913 js/ui/screenshot.js:2126 msgid "Screenshot" msgstr "ეკრანის ანაბეჭდი" #. Translators: notification title. -#: js/ui/screenshot.js:1907 +#: js/ui/screenshot.js:1919 msgid "Screencast recorded" msgstr "ეკრანის ვიდეოჩანაწერი დასრულებულია" #. Translators: notification body when a screencast was recorded. -#: js/ui/screenshot.js:1909 +#: js/ui/screenshot.js:1921 msgid "Click here to view the video." msgstr "ვიდეოს სანახავად დააწკაპუნეთ აქ." #. Translators: button on the screencast notification. #. Translators: button on the screenshot notification. -#: js/ui/screenshot.js:1912 js/ui/screenshot.js:2128 +#: js/ui/screenshot.js:1924 js/ui/screenshot.js:2140 msgid "Show in Files" msgstr "ფაილებში ჩვენება" #. Translators: this is the name of the file that the screenshot is #. saved to. The placeholder is a timestamp, e.g. "2017-05-21 12-24-03". -#: js/ui/screenshot.js:2074 +#: js/ui/screenshot.js:2086 #, javascript-format msgid "Screenshot from %s" msgstr "ეკრანის ანაბეჭდი %s-დან" #. Translators: notification title. -#: js/ui/screenshot.js:2120 +#: js/ui/screenshot.js:2132 msgid "Screenshot captured" msgstr "ეკრანის ანაბეჭდი დათრეულია" #. Translators: notification body when a screenshot was captured. -#: js/ui/screenshot.js:2122 +#: js/ui/screenshot.js:2134 msgid "You can paste the image from the clipboard." msgstr "შეგიძლიათ მიმოცვლის ბაფერიდან ჩასვათ." -#: js/ui/screenshot.js:2175 js/ui/screenshot.js:2340 +#: js/ui/screenshot.js:2187 js/ui/screenshot.js:2352 msgid "Screenshot taken" msgstr "ეკრანის ანაბეჭდი აღებულია" -#: js/ui/search.js:826 +#: js/ui/search.js:815 msgid "Searching…" msgstr "ძებნა…" -#: js/ui/search.js:828 +#: js/ui/search.js:817 msgid "No results." msgstr "შედეგების გარეშე." -#: js/ui/search.js:951 +#: js/ui/search.js:948 #, javascript-format msgid "%d more" msgid_plural "%d more" @@ -1761,56 +1785,56 @@ msgid "Caps lock is on." msgstr "CapsLock ჩართულია." -#: js/ui/shellMountOperation.js:285 +#: js/ui/shellMountOperation.js:286 msgid "Hidden Volume" msgstr "დამალული საცავი" -#: js/ui/shellMountOperation.js:288 +#: js/ui/shellMountOperation.js:289 msgid "Windows System Volume" msgstr "Windows-ის სისტემური საცავი" -#: js/ui/shellMountOperation.js:291 +#: js/ui/shellMountOperation.js:292 msgid "Uses Keyfiles" msgstr "მოხმარებლის გასაღების ფაილები" #. Translators: %s is the Disks application -#: js/ui/shellMountOperation.js:298 +#: js/ui/shellMountOperation.js:299 #, javascript-format msgid "" "To unlock a volume that uses keyfiles, use the %s utility instead." msgstr "" "საცავები, რომლებიც იყენებენ გასაღებებს, განსაბლოკად გამოიყენეთ %s." -#: js/ui/shellMountOperation.js:306 +#: js/ui/shellMountOperation.js:307 msgid "PIM Number" msgstr "PIM-ის ნომერი" -#: js/ui/shellMountOperation.js:365 +#: js/ui/shellMountOperation.js:366 msgid "Remember Password" msgstr "პაროლის დამახსოვრება" -#: js/ui/shellMountOperation.js:380 +#: js/ui/shellMountOperation.js:381 msgid "Unlock" msgstr "განბლოკვა" #. Translators: %s is the Disks application -#: js/ui/shellMountOperation.js:391 +#: js/ui/shellMountOperation.js:392 #, javascript-format msgid "Open %s" msgstr "%s-ის გახსნა" -#: js/ui/shellMountOperation.js:423 +#: js/ui/shellMountOperation.js:424 msgid "The PIM must be a number or empty." msgstr "PIM უნდა იყოს ან რიცხვი, ან არაფერი." #. Translators: %s is the Disks application -#: js/ui/shellMountOperation.js:465 +#: js/ui/shellMountOperation.js:466 #, javascript-format msgid "Unable to start %s" msgstr "%s-ის გაშვების შეცდომა" #. Translators: %s is the Disks application -#: js/ui/shellMountOperation.js:467 +#: js/ui/shellMountOperation.js:468 #, javascript-format msgid "Couldn’t find the %s application" msgstr "აპლიკაცია %s ვერ ვიპოვე" @@ -1859,30 +1883,30 @@ msgid "Large Text" msgstr "დიდი ტექსტი" -#: js/ui/status/bluetooth.js:41 +#: js/ui/status/bluetooth.js:50 msgid "Bluetooth" msgstr "Bluetooth" -#: js/ui/status/bluetooth.js:52 js/ui/status/network.js:650 +#: js/ui/status/bluetooth.js:63 js/ui/status/network.js:626 msgid "Bluetooth Settings" msgstr "Bluetooth-ის მორგება" #. Translators: this is the number of connected bluetooth devices -#: js/ui/status/bluetooth.js:143 +#: js/ui/status/bluetooth.js:169 #, javascript-format msgid "%d Connected" msgid_plural "%d Connected" msgstr[0] "%d მიერთებული" msgstr[1] "%d მიერთებული" -#: js/ui/status/bluetooth.js:147 -msgid "Bluetooth Off" -msgstr "Bluetooth გამორთულია" - -#: js/ui/status/bluetooth.js:149 +#: js/ui/status/bluetooth.js:173 msgid "Bluetooth On" msgstr "Bluetooth ჩართულია" +#: js/ui/status/bluetooth.js:175 +msgid "Bluetooth Off" +msgstr "Bluetooth გამორთულია" + #: js/ui/status/brightness.js:39 msgid "Brightness" msgstr "სიკაშკაშე" @@ -1907,64 +1931,66 @@ msgid "Dwell Click" msgstr "დიდხნიანია წკაპი" -#: js/ui/status/keyboard.js:829 +#: js/ui/status/keyboard.js:830 msgid "Keyboard" msgstr "კლავიატურა" -#: js/ui/status/keyboard.js:846 +#: js/ui/status/keyboard.js:847 msgid "Show Keyboard Layout" msgstr "კლავიატურის განლაგების ჩვენება" -#: js/ui/status/location.js:234 js/ui/status/location.js:266 +#: js/ui/status/location.js:231 js/ui/status/location.js:255 msgid "Location Enabled" msgstr "მდებარეობის პოვნა ჩართულია" -#: js/ui/status/location.js:235 js/ui/status/location.js:267 +#: js/ui/status/location.js:232 js/ui/status/location.js:256 msgid "Disable" msgstr "გამორთულია" -#: js/ui/status/location.js:237 +#: js/ui/status/location.js:234 msgid "Privacy Settings" msgstr "პირადი კონფიგურაცია" -#: js/ui/status/location.js:265 +#: js/ui/status/location.js:254 msgid "Location In Use" msgstr "მდებარეობის პოვნა გამოიყენება" -#: js/ui/status/location.js:269 +#: js/ui/status/location.js:258 msgid "Location Disabled" msgstr "მდებარეობის პოვნა გამორთულია" -#: js/ui/status/location.js:270 +#: js/ui/status/location.js:259 msgid "Enable" msgstr "ჩართვა" -#: js/ui/status/location.js:397 +#: js/ui/status/location.js:386 msgid "Allow location access" msgstr "მდებარეობის პოვნის წვდომა" #. Translators: %s is an application name -#: js/ui/status/location.js:399 +#: js/ui/status/location.js:388 #, javascript-format msgid "The app %s wants to access your location" msgstr "აპლიკაციას %s უნდა თქვენი მდებარეობის გაგება" -#: js/ui/status/location.js:409 +#: js/ui/status/location.js:398 msgid "Location access can be changed at any time from the privacy settings." msgstr "" +"მდებარეობაზე წვდომა შეიძლება შეიცვალოს ნებისმიერ დროს კონფიდენციალურობის " +"პარამეტრებიდან." #: js/ui/status/network.js:71 msgid "" msgstr "<უცნობი>" #. Translators: %s is a network identifier -#: js/ui/status/network.js:454 js/ui/status/network.js:1402 +#: js/ui/status/network.js:436 js/ui/status/network.js:1370 #, javascript-format msgid "%s Off" msgstr "%s გამორთული" #. Translators: %s is a network identifier -#: js/ui/status/network.js:457 +#: js/ui/status/network.js:439 #, javascript-format msgid "%s Connected" msgstr "%s მიერთებული" @@ -1972,189 +1998,189 @@ #. Translators: this is for network devices that are physically present but are not #. under NetworkManager's control (and thus cannot be used in the menu); #. %s is a network identifier -#: js/ui/status/network.js:462 +#: js/ui/status/network.js:444 #, javascript-format msgid "%s Unmanaged" msgstr "%s უმართავი" #. Translators: %s is a network identifier -#: js/ui/status/network.js:465 +#: js/ui/status/network.js:447 #, javascript-format msgid "%s Disconnecting" msgstr "%s ითიშება" #. Translators: %s is a network identifier -#: js/ui/status/network.js:472 js/ui/status/network.js:1394 +#: js/ui/status/network.js:454 js/ui/status/network.js:1362 #, javascript-format msgid "%s Connecting" msgstr "%s ერთდება" #. Translators: this is for network connections that require some kind of key or password; %s is a network identifier -#: js/ui/status/network.js:475 +#: js/ui/status/network.js:457 #, javascript-format msgid "%s Requires Authentication" msgstr "%s-ს სჭირდება ავთენტიკაცია" #. Translators: this is for devices that require some kind of firmware or kernel #. module, which is missing; %s is a network identifier -#: js/ui/status/network.js:483 +#: js/ui/status/network.js:465 #, javascript-format msgid "Firmware Missing For %s" msgstr "პროგრამული ფაილები აკლია %s-თვის" #. Translators: this is for a network device that cannot be activated (for example it #. is disabled by rfkill, or it has no coverage; %s is a network identifier -#: js/ui/status/network.js:487 +#: js/ui/status/network.js:469 #, javascript-format msgid "%s Unavailable" msgstr "%s ხელმიუწვდომელია" #. Translators: %s is a network identifier -#: js/ui/status/network.js:490 +#: js/ui/status/network.js:472 #, javascript-format msgid "%s Connection Failed" msgstr "%s კავშირის შეცდომა" -#: js/ui/status/network.js:502 +#: js/ui/status/network.js:484 msgid "Wired Settings" msgstr "მავთულით მიერთების მორგება" -#: js/ui/status/network.js:549 +#: js/ui/status/network.js:531 msgid "Mobile Broadband Settings" msgstr "მობილური კავშირის მორგება" #. Translators: %s is a network identifier -#: js/ui/status/network.js:618 js/ui/status/network.js:1399 +#: js/ui/status/network.js:587 js/ui/status/network.js:1367 #, javascript-format msgid "%s Hardware Disabled" msgstr "%s აპარატურა გათიშულია" #. Translators: this is for a network device that cannot be activated #. because it's disabled by rfkill (airplane mode); %s is a network identifier -#: js/ui/status/network.js:622 +#: js/ui/status/network.js:591 #, javascript-format msgid "%s Disabled" msgstr "%s გათიშულია" -#: js/ui/status/network.js:662 +#: js/ui/status/network.js:638 msgid "Connect to Internet" msgstr "ინტერნეტთან მიერთება" -#: js/ui/status/network.js:869 +#: js/ui/status/network.js:836 msgid "Airplane Mode is On" msgstr "თვითმფრინავის რეჟიმი ჩართულია" -#: js/ui/status/network.js:870 +#: js/ui/status/network.js:837 msgid "Wi-Fi is disabled when airplane mode is on." msgstr "როცა თვითმფრინავის რეჟიმი ჩართულია, Wi-Fi ითიშება." -#: js/ui/status/network.js:871 +#: js/ui/status/network.js:838 msgid "Turn Off Airplane Mode" msgstr "თვითმფრინავის რეჟმის გამორთვა" -#: js/ui/status/network.js:880 +#: js/ui/status/network.js:847 msgid "Wi-Fi is Off" msgstr "Wi-Fi გამორთულია" -#: js/ui/status/network.js:881 +#: js/ui/status/network.js:848 msgid "Wi-Fi needs to be turned on in order to connect to a network." msgstr "ქსელთან მისაერთებლად საჭიროა ჩართოთ Wi-Fi." -#: js/ui/status/network.js:882 +#: js/ui/status/network.js:849 msgid "Turn On Wi-Fi" msgstr "Wi-Fi-ის ჩართვა" -#: js/ui/status/network.js:907 +#: js/ui/status/network.js:877 msgid "Wi-Fi Networks" msgstr "Wi-Fi ქსელები" -#: js/ui/status/network.js:909 +#: js/ui/status/network.js:881 msgid "Select a network" msgstr "აირჩიეთ ქსელი" -#: js/ui/status/network.js:941 +#: js/ui/status/network.js:917 msgid "No Networks" msgstr "ქსელები ნაპოვნი არაა" -#: js/ui/status/network.js:962 js/ui/status/rfkill.js:108 +#: js/ui/status/network.js:942 js/ui/status/rfkill.js:108 msgid "Use hardware switch to turn off" msgstr "გამოსართავად გამოიყენეთ აპარატურული გადამრთველი" -#: js/ui/status/network.js:1263 +#: js/ui/status/network.js:1253 msgid "Select Network" msgstr "აირჩიეთ ქსელი" -#: js/ui/status/network.js:1269 +#: js/ui/status/network.js:1259 msgid "Wi-Fi Settings" msgstr "Wi-Fi-ის მორგება" #. Translators: %s is a network identifier -#: js/ui/status/network.js:1390 +#: js/ui/status/network.js:1358 #, javascript-format msgid "%s Hotspot Active" msgstr "%s Hotspot-ი აქტიურია" #. Translators: %s is a network identifier -#: js/ui/status/network.js:1405 +#: js/ui/status/network.js:1373 #, javascript-format msgid "%s Not Connected" msgstr "%s მიერთებული არაა" -#: js/ui/status/network.js:1502 +#: js/ui/status/network.js:1473 msgid "connecting…" msgstr "დაკავშირება…" #. Translators: this is for network connections that require some kind of key or password -#: js/ui/status/network.js:1505 +#: js/ui/status/network.js:1476 msgid "authentication required" msgstr "საჭიროა ავთენტიკაცია" -#: js/ui/status/network.js:1507 +#: js/ui/status/network.js:1478 msgid "connection failed" msgstr "კავშირის შეცდომა" -#: js/ui/status/network.js:1558 +#: js/ui/status/network.js:1524 msgid "VPN Settings" msgstr "VPN-ის მორგება" -#: js/ui/status/network.js:1575 +#: js/ui/status/network.js:1541 msgid "VPN" msgstr "VPN" -#: js/ui/status/network.js:1585 +#: js/ui/status/network.js:1551 msgid "VPN Off" msgstr "VPN გამორთულია" -#: js/ui/status/network.js:1646 js/ui/status/rfkill.js:84 +#: js/ui/status/network.js:1612 js/ui/status/rfkill.js:84 msgid "Network Settings" msgstr "ქსელის მორგება" -#: js/ui/status/network.js:1674 +#: js/ui/status/network.js:1640 #, javascript-format msgid "%s Wired Connection" msgid_plural "%s Wired Connections" msgstr[0] "%s კავშირი მავთულით" msgstr[1] "%s კავშირი მავთულით" -#: js/ui/status/network.js:1678 +#: js/ui/status/network.js:1644 #, javascript-format msgid "%s Wi-Fi Connection" msgid_plural "%s Wi-Fi Connections" msgstr[0] "%s Wi-Fi კავშირი" msgstr[1] "%s Wi-Fi კავშირი" -#: js/ui/status/network.js:1682 +#: js/ui/status/network.js:1648 #, javascript-format msgid "%s Modem Connection" msgid_plural "%s Modem Connections" msgstr[0] "%s მოდემით კავშირი" msgstr[1] "%s მოდემით კავშირი" -#: js/ui/status/network.js:1826 +#: js/ui/status/network.js:1792 msgid "Connection failed" msgstr "კავშირის შეცდომა" -#: js/ui/status/network.js:1827 +#: js/ui/status/network.js:1793 msgid "Activation of network connection failed" msgstr "ქსელის კავშირის აქტივაციის შეცდომა" @@ -2202,7 +2228,7 @@ #: js/ui/status/power.js:97 #, javascript-format msgid "%d∶%02d Until Full (%d %%)" -msgstr "" +msgstr "%d∶%02d სრულამდე (%d %%)" #. The icon label #: js/ui/status/power.js:145 @@ -2225,15 +2251,15 @@ msgid "Power Saver" msgstr "ელემენტის შენახვის რეჟიმი" -#: js/ui/status/remoteAccess.js:39 +#: js/ui/status/remoteAccess.js:43 msgid "Screen is Being Shared" msgstr "ეკრანი ზიარდება" -#: js/ui/status/remoteAccess.js:41 +#: js/ui/status/remoteAccess.js:45 msgid "Turn off" msgstr "გამორთვა" -#: js/ui/status/remoteAccess.js:116 +#: js/ui/status/remoteAccess.js:149 msgid "Stop Screencast" msgstr "ეკრანის ვიდეოჩანაწერის დასრულება" @@ -2272,43 +2298,43 @@ msgid "Switch User…" msgstr "მომხმარებლის გადართვა…" -#: js/ui/status/thunderbolt.js:262 +#: js/ui/status/thunderbolt.js:263 msgid "Thunderbolt" msgstr "Thunderbolt" -#: js/ui/status/thunderbolt.js:323 +#: js/ui/status/thunderbolt.js:324 msgid "Unknown Thunderbolt device" msgstr "Thunderbolt-ის უცნობი მოწყობილობა" -#: js/ui/status/thunderbolt.js:324 +#: js/ui/status/thunderbolt.js:325 msgid "" "New device has been detected while you were away. Please disconnect and " "reconnect the device to start using it." msgstr "" -#: js/ui/status/thunderbolt.js:327 +#: js/ui/status/thunderbolt.js:328 msgid "Unauthorized Thunderbolt device" msgstr "უცნობი Thunderbolt მოწყობილობა" -#: js/ui/status/thunderbolt.js:328 +#: js/ui/status/thunderbolt.js:329 msgid "" "New device has been detected and needs to be authorized by an administrator." msgstr "" -#: js/ui/status/thunderbolt.js:334 +#: js/ui/status/thunderbolt.js:335 msgid "Thunderbolt authorization error" msgstr "Thunderbolt მოწყობილობის ავტორიზაციის შეცდომა" -#: js/ui/status/thunderbolt.js:335 +#: js/ui/status/thunderbolt.js:336 #, javascript-format msgid "Could not authorize the Thunderbolt device: %s" -msgstr "" +msgstr "Thunderbolt მოწყობილობასთან ავტორიზაციის შეცდომა: %s" -#: js/ui/status/volume.js:160 +#: js/ui/status/volume.js:159 msgid "Volume changed" msgstr "საცავი შეიცვალა" -#: js/ui/status/volume.js:222 +#: js/ui/status/volume.js:221 msgid "Volume" msgstr "საცავი" @@ -2340,11 +2366,27 @@ msgid "Built-in Only" msgstr "მხოლოდ ჩაშენებული" -#: js/ui/unlockDialog.js:572 +#. Translators: This is a time format for a date in +#. long format +#: js/ui/unlockDialog.js:364 +#| msgctxt "calendar heading" +#| msgid "%B %-d" +msgid "%A %B %-d" +msgstr "%A %B %-d" + +#: js/ui/unlockDialog.js:370 +msgid "Swipe up to unlock" +msgstr "გადაუსვით ბლოკის მოსახსნელად" + +#: js/ui/unlockDialog.js:371 +msgid "Click or press a key to unlock" +msgstr "ბლოკის მოსახსნელად წკაპი ან ღილაკს დააწექით" + +#: js/ui/unlockDialog.js:554 msgid "Unlock Window" msgstr "ფანჯრის განბლოკვა" -#: js/ui/unlockDialog.js:581 +#: js/ui/unlockDialog.js:563 msgid "Log in as another user" msgstr "სხვა მომხმარებლით შესვლა" @@ -2357,11 +2399,11 @@ msgid "If you want to learn your way around, check out the tour." msgstr "" -#: js/ui/welcomeDialog.js:45 +#: js/ui/welcomeDialog.js:46 msgid "No Thanks" msgstr "არა, მადლობა" -#: js/ui/welcomeDialog.js:50 +#: js/ui/welcomeDialog.js:51 msgid "Take Tour" msgstr "ტურის აღება" @@ -2375,18 +2417,15 @@ msgid "Keep these display settings?" msgstr "დაიტოვებთ ამ პარამეტრებს?" -#. Translators: this and the following message should be limited in length, -#. to avoid ellipsizing the labels. -#. -#: js/ui/windowManager.js:71 +#: js/ui/windowManager.js:72 msgid "Revert Settings" msgstr "პარამეტრების დაბრუნება" -#: js/ui/windowManager.js:74 +#: js/ui/windowManager.js:77 msgid "Keep Changes" msgstr "ცვლილებების დატოვება" -#: js/ui/windowManager.js:93 +#: js/ui/windowManager.js:97 #, javascript-format msgid "Settings changes will revert in %d second" msgid_plural "Settings changes will revert in %d seconds" @@ -2395,7 +2434,7 @@ #. Translators: This represents the size of a window. The first number is #. * the width of the window and the second is the height. -#: js/ui/windowManager.js:547 +#: js/ui/windowManager.js:544 #, javascript-format msgid "%d × %d" msgstr "%d × %d" @@ -2487,7 +2526,7 @@ #: src/main.c:431 msgid "Use a specific mode, e.g. “gdm” for login screen" -msgstr "" +msgstr "შესვლის ეკრანის რეჟიმის მითითება. მაგ: \"gdm\"" #: src/main.c:437 msgid "List possible modes" @@ -2498,7 +2537,7 @@ msgid "Unknown" msgstr "უცნობი" -#: src/shell-app.c:569 +#: src/shell-app.c:556 #, c-format msgid "Failed to launch “%s”" msgstr "%s-ის გაშვების შეცდომა" @@ -2517,14 +2556,14 @@ #: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5 #: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4 -#: subprojects/extensions-app/js/main.js:209 +#: subprojects/extensions-app/js/main.js:210 #: subprojects/extensions-app/data/ui/extensions-window.ui:18 #: subprojects/extensions-app/data/ui/extensions-window.ui:83 msgid "Extensions" msgstr "გაფართოებები" #: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6 -#: subprojects/extensions-app/js/main.js:210 +#: subprojects/extensions-app/js/main.js:211 msgid "Manage your GNOME Extensions" msgstr "GNOME-ის თქვენი გაფართოებების მართვა" @@ -2542,42 +2581,42 @@ msgid "Configure GNOME Shell Extensions" msgstr "GNOME-ის გარსის გაფართოებების მორგება" -#: subprojects/extensions-app/js/main.js:131 -#: subprojects/extensions-app/js/main.js:142 +#: subprojects/extensions-app/js/main.js:132 +#: subprojects/extensions-app/js/main.js:143 msgid "No Matches" msgstr "დათხვევა არ არსებობს" -#: subprojects/extensions-app/js/main.js:170 +#: subprojects/extensions-app/js/main.js:171 #, javascript-format msgid "Remove “%s”?" msgstr "წავშალო %s?" -#: subprojects/extensions-app/js/main.js:171 +#: subprojects/extensions-app/js/main.js:172 msgid "" "If you remove the extension, you need to return to download it if you want " "to enable it again" msgstr "" -#: subprojects/extensions-app/js/main.js:175 +#: subprojects/extensions-app/js/main.js:176 msgid "Remove" msgstr "წაშლა" -#: subprojects/extensions-app/js/main.js:208 +#: subprojects/extensions-app/js/main.js:209 msgid "translator-credits" -msgstr "" +msgstr "მთარგმნელის შესახებ" -#: subprojects/extensions-app/js/main.js:336 +#: subprojects/extensions-app/js/main.js:337 #, javascript-format msgid "%d extension will be updated on next login." msgid_plural "%d extensions will be updated on next login." msgstr[0] "%d გაფართოება განახლდება შემდეგი შემოსვლისას." msgstr[1] "%d გაფართოება განახლდება შემდეგი შემოსვლისას." -#: subprojects/extensions-app/js/main.js:478 +#: subprojects/extensions-app/js/main.js:479 msgid "The extension is incompatible with the current GNOME version" msgstr "" -#: subprojects/extensions-app/js/main.js:481 +#: subprojects/extensions-app/js/main.js:482 #: subprojects/extensions-app/data/ui/extension-row.ui:52 msgid "The extension had an error" msgstr "გაფართოების შეცდომა" @@ -2632,6 +2671,8 @@ "We’re very sorry, but it was not possible to get the list of installed " "extensions. Make sure you are logged into GNOME and try again." msgstr "" +"სამწუხაროდ დაყენებული გაფართოებების სიის მიღება შეუძლებელია. დარწმუნდით, რომ " +"შეხვედით GNOME-ში და თავიდან სცადეთ." #: subprojects/extensions-app/data/ui/extensions-window.ui:175 msgid "Extension Updates Ready" @@ -2680,7 +2721,7 @@ #: subprojects/extensions-tool/src/command-create.c:363 msgid "Choose one of the available templates:\n" -msgstr "" +msgstr "აირჩიეთ ერთერთი ხელმისაწვდომის შაბლონი:\n" #: subprojects/extensions-tool/src/command-create.c:377 msgid "Template" @@ -2688,7 +2729,7 @@ #: subprojects/extensions-tool/src/command-create.c:432 msgid "The unique identifier of the new extension" -msgstr "" +msgstr "ახალ გაფართოებების UID" #: subprojects/extensions-tool/src/command-create.c:435 msgid "NAME" @@ -2696,7 +2737,7 @@ #: subprojects/extensions-tool/src/command-create.c:436 msgid "The user-visible name of the new extension" -msgstr "" +msgstr "ახალი გაფართოების სასიამოვნოდ დასანახი სახელი" #: subprojects/extensions-tool/src/command-create.c:438 msgid "DESCRIPTION" @@ -2704,7 +2745,7 @@ #: subprojects/extensions-tool/src/command-create.c:440 msgid "A short description of what the extension does" -msgstr "" +msgstr "ამ გაფართოების მოკლე აღწერა" #: subprojects/extensions-tool/src/command-create.c:443 msgid "TEMPLATE" @@ -2712,7 +2753,7 @@ #: subprojects/extensions-tool/src/command-create.c:444 msgid "The template to use for the new extension" -msgstr "" +msgstr "ახალ გაფართოებებთან გამოსაყენებელი შაბლონი" #: subprojects/extensions-tool/src/command-create.c:450 msgid "Enter extension information interactively" @@ -2725,11 +2766,11 @@ #: subprojects/extensions-tool/src/command-create.c:476 #: subprojects/extensions-tool/src/command-list.c:172 msgid "Unknown arguments" -msgstr "" +msgstr "უცნობი არგუმენტები" #: subprojects/extensions-tool/src/command-create.c:501 msgid "UUID, name and description are required" -msgstr "" +msgstr "საჭიროა UUID, სახელი და აღწერა" #: subprojects/extensions-tool/src/command-disable.c:46 #: subprojects/extensions-tool/src/command-enable.c:46 @@ -2839,7 +2880,7 @@ #: subprojects/extensions-tool/src/command-pack.c:451 msgid "Additional source to include in the bundle" -msgstr "" +msgstr "დამატებით წყაროები ნაკრებში ჩასართავად" #: subprojects/extensions-tool/src/command-pack.c:454 msgid "SCHEMA" @@ -2847,7 +2888,7 @@ #: subprojects/extensions-tool/src/command-pack.c:455 msgid "A GSettings schema that should be included" -msgstr "" +msgstr "GSettings-ის თემა, რომელსაც უნდა შეიცავდეს" #: subprojects/extensions-tool/src/command-pack.c:457 #: subprojects/extensions-tool/src/command-pack.c:468 @@ -2876,11 +2917,11 @@ #: subprojects/extensions-tool/src/command-pack.c:472 msgid "SOURCE_DIRECTORY" -msgstr "" +msgstr "საწყისი_საქაღალდე" #: subprojects/extensions-tool/src/command-pack.c:481 msgid "Create an extension bundle" -msgstr "" +msgstr "გაფართოების პაკეტის შექმნა" #: subprojects/extensions-tool/src/command-pack.c:501 msgid "More than one source directory specified" @@ -2906,7 +2947,7 @@ #: subprojects/extensions-tool/src/command-uninstall.c:49 msgid "Cannot uninstall system extensions\n" -msgstr "" +msgstr "სისტემური გაფართოებების წაშლა შეუძლებელია\n" #: subprojects/extensions-tool/src/command-uninstall.c:64 #, c-format diff -Nru gnome-shell-42.5/po/LINGUAS gnome-shell-42.9/po/LINGUAS --- gnome-shell-42.5/po/LINGUAS 2022-09-17 17:58:18.443483600 +0000 +++ gnome-shell-42.9/po/LINGUAS 2023-03-19 21:13:44.310682500 +0000 @@ -1,3 +1,4 @@ +ab af an ar diff -Nru gnome-shell-42.5/po/ru.po gnome-shell-42.9/po/ru.po --- gnome-shell-42.5/po/ru.po 2022-09-17 17:58:18.518485300 +0000 +++ gnome-shell-42.9/po/ru.po 2023-03-19 21:13:44.353683700 +0000 @@ -20,9 +20,9 @@ msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n" -"POT-Creation-Date: 2022-09-01 00:02+0000\n" -"PO-Revision-Date: 2022-09-07 22:49+0300\n" -"Last-Translator: Aleksandr Melman \n" +"POT-Creation-Date: 2022-11-13 22:34+0000\n" +"PO-Revision-Date: 2022-12-09 18:53+1000\n" +"Last-Translator: Ser82-png \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" @@ -30,7 +30,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 3.1\n" +"X-Generator: Poedit 3.0.1\n" # Запуск приложений, как другой вариант #: data/50-gnome-shell-launchers.xml:6 @@ -972,7 +972,7 @@ #. * "%OB" is the new format specifier introduced in glibc 2.27, #. * in most cases you should not change it. #. -#: js/ui/calendar.js:402 +#: js/ui/calendar.js:414 msgid "%OB" msgstr "%OB" @@ -985,37 +985,37 @@ #. * in most cases you should not use the old "%B" here unless you #. * absolutely know what you are doing. #. -#: js/ui/calendar.js:412 +#: js/ui/calendar.js:424 msgid "%OB %Y" msgstr "%OB %Y" -#: js/ui/calendar.js:472 +#: js/ui/calendar.js:484 msgid "Previous month" msgstr "Предыдущий месяц" -#: js/ui/calendar.js:490 +#: js/ui/calendar.js:502 msgid "Next month" msgstr "Следующий месяц" -#: js/ui/calendar.js:642 +#: js/ui/calendar.js:654 #, no-javascript-format msgctxt "date day number format" msgid "%d" msgstr "%d" -#: js/ui/calendar.js:701 +#: js/ui/calendar.js:713 msgid "Week %V" msgstr "%V неделя" -#: js/ui/calendar.js:880 +#: js/ui/calendar.js:892 msgid "No Notifications" msgstr "Уведомлений нет" -#: js/ui/calendar.js:937 +#: js/ui/calendar.js:949 msgid "Do Not Disturb" msgstr "Не беспокоить" -#: js/ui/calendar.js:958 +#: js/ui/calendar.js:970 msgid "Clear" msgstr "Очистить" @@ -1167,7 +1167,7 @@ msgid "%s is now known as %s" msgstr "Контакт %s теперь известен как %s" -#: js/ui/ctrlAltTab.js:22 js/ui/overviewControls.js:414 +#: js/ui/ctrlAltTab.js:22 js/ui/overviewControls.js:417 msgid "Windows" msgstr "Окна" @@ -1450,31 +1450,31 @@ msgid "Extension updates are ready to be installed." msgstr "Обновления расширений готовы к установке." -#: js/ui/inhibitShortcutsDialog.js:79 +#: js/ui/inhibitShortcutsDialog.js:75 msgid "Allow inhibiting shortcuts" msgstr "Разрешить замену комбинации клавиш" #. Translators: %s is an application name like "Settings" -#: js/ui/inhibitShortcutsDialog.js:82 +#: js/ui/inhibitShortcutsDialog.js:78 #, javascript-format msgid "The application %s wants to inhibit shortcuts" msgstr "Приложение %s пытается заменить комбинации клавиш" -#: js/ui/inhibitShortcutsDialog.js:83 +#: js/ui/inhibitShortcutsDialog.js:79 msgid "An application wants to inhibit shortcuts" msgstr "Приложение пытается заменить комбинации клавиш" #. Translators: %s is a keyboard shortcut like "Super+x" -#: js/ui/inhibitShortcutsDialog.js:90 +#: js/ui/inhibitShortcutsDialog.js:86 #, javascript-format msgid "You can restore shortcuts by pressing %s." msgstr "Можете восстановить комбинации клавиш, нажав %s." -#: js/ui/inhibitShortcutsDialog.js:101 +#: js/ui/inhibitShortcutsDialog.js:97 msgid "Deny" msgstr "Отказать" -#: js/ui/inhibitShortcutsDialog.js:110 +#: js/ui/inhibitShortcutsDialog.js:106 msgid "Allow" msgstr "Разрешить" @@ -1644,11 +1644,11 @@ #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: js/ui/overviewControls.js:324 +#: js/ui/overviewControls.js:327 msgid "Type to search" msgstr "Введите для поиска" -#: js/ui/overviewControls.js:402 +#: js/ui/overviewControls.js:405 msgid "Applications" msgstr "Приложения" @@ -1935,7 +1935,7 @@ #: js/ui/status/accessibility.js:34 msgid "Accessibility" -msgstr "Доступность" +msgstr "Специальные возможности" #: js/ui/status/accessibility.js:44 msgid "High Contrast" @@ -2026,11 +2026,11 @@ msgid "Dwell Click" msgstr "Нажатие левой кнопки мыши после задержки над кнопкой" -#: js/ui/status/keyboard.js:827 +#: js/ui/status/keyboard.js:830 msgid "Keyboard" msgstr "Клавиатура" -#: js/ui/status/keyboard.js:844 +#: js/ui/status/keyboard.js:847 msgid "Show Keyboard Layout" msgstr "Показать раскладку клавиатуры" diff -Nru gnome-shell-42.5/src/shell-app-system.c gnome-shell-42.9/src/shell-app-system.c --- gnome-shell-42.5/src/shell-app-system.c 2022-09-17 17:58:18.531485600 +0000 +++ gnome-shell-42.9/src/shell-app-system.c 2023-03-19 21:13:44.365684000 +0000 @@ -169,6 +169,43 @@ return app_is_stale (value); } +static void +collect_stale_windows (gpointer key, + gpointer value, + gpointer user_data) +{ + ShellApp *app = key; + GDesktopAppInfo *info; + GPtrArray *windows = user_data; + + info = shell_app_cache_get_info (shell_app_cache_get_default (), + shell_app_get_id (app)); + + /* No info either means that the app became stale, or that it is + * window-backed. Re-tracking the app's windows allows us to reflect + * changes in either direction, i.e. from stale app to window-backed, + * or from window-backed to app-backed (if the app was launched right + * between installing the app and updating the app cache). + */ + if (info == NULL) + { + GSList *l; + + for (l = shell_app_get_windows (app); l; l = l->next) + g_ptr_array_add (windows, l->data); + } +} + +static void +retrack_window (gpointer data, + gpointer user_data) +{ + GObject *window = data; + + /* Make ShellWindowTracker retrack the window */ + g_object_notify (window, "wm-class"); +} + static gboolean rescan_icon_theme_cb (gpointer user_data) { @@ -214,10 +251,16 @@ installed_changed (ShellAppCache *cache, ShellAppSystem *self) { + GPtrArray *windows = g_ptr_array_new (); + rescan_icon_theme (self); scan_startup_wm_class_to_id (self); g_hash_table_foreach_remove (self->priv->id_to_app, stale_app_remove_func, NULL); + g_hash_table_foreach (self->priv->running_apps, collect_stale_windows, windows); + + g_ptr_array_foreach (windows, retrack_window, NULL); + g_ptr_array_free (windows, TRUE); g_signal_emit (self, signals[INSTALLED_CHANGED], 0, NULL); } diff -Nru gnome-shell-42.5/src/shell-window-preview-layout.c gnome-shell-42.9/src/shell-window-preview-layout.c --- gnome-shell-42.5/src/shell-window-preview-layout.c 2022-09-17 17:58:18.536485700 +0000 +++ gnome-shell-42.9/src/shell-window-preview-layout.c 2023-03-19 21:13:44.370684100 +0000 @@ -354,7 +354,7 @@ * to the container. If @window is already part of the preview, this * function will do nothing. * - * Returns: (transfer none): The newly created actor drawing @window + * Returns: (nullable) (transfer none): The newly created actor drawing @window */ ClutterActor * shell_window_preview_layout_add_window (ShellWindowPreviewLayout *self, @@ -366,6 +366,9 @@ GHashTableIter iter; gpointer value; + g_return_val_if_fail (SHELL_IS_WINDOW_PREVIEW_LAYOUT (self), NULL); + g_return_val_if_fail (META_IS_WINDOW (window), NULL); + priv = shell_window_preview_layout_get_instance_private (self); g_hash_table_iter_init (&iter, priv->windows); @@ -425,6 +428,9 @@ GHashTableIter iter; gpointer key, value; + g_return_if_fail (SHELL_IS_WINDOW_PREVIEW_LAYOUT (self)); + g_return_if_fail (META_IS_WINDOW (window)); + priv = shell_window_preview_layout_get_instance_private (self); g_hash_table_iter_init (&iter, priv->windows); @@ -473,6 +479,8 @@ GHashTableIter iter; gpointer value; + g_return_val_if_fail (SHELL_IS_WINDOW_PREVIEW_LAYOUT (self), NULL); + priv = shell_window_preview_layout_get_instance_private (self); g_hash_table_iter_init (&iter, priv->windows); diff -Nru gnome-shell-42.5/src/st/croco/cr-additional-sel.c gnome-shell-42.9/src/st/croco/cr-additional-sel.c --- gnome-shell-42.5/src/st/croco/cr-additional-sel.c 2022-09-17 17:58:18.538485800 +0000 +++ gnome-shell-42.9/src/st/croco/cr-additional-sel.c 2023-03-19 21:13:44.371684000 +0000 @@ -323,8 +323,7 @@ } if (str_buf) { - result = (guchar *) str_buf->str; - g_string_free (str_buf, FALSE); + result = (guchar *) g_string_free (str_buf, FALSE); str_buf = NULL; } @@ -422,8 +421,7 @@ } if (str_buf) { - result = (guchar *) str_buf->str; - g_string_free (str_buf, FALSE); + result = (guchar *) g_string_free (str_buf, FALSE); str_buf = NULL; } diff -Nru gnome-shell-42.5/src/st/croco/cr-attr-sel.c gnome-shell-42.9/src/st/croco/cr-attr-sel.c --- gnome-shell-42.5/src/st/croco/cr-attr-sel.c 2022-09-17 17:58:18.538485800 +0000 +++ gnome-shell-42.9/src/st/croco/cr-attr-sel.c 2023-03-19 21:13:44.371684000 +0000 @@ -168,8 +168,7 @@ } if (str_buf) { - result = (guchar *) str_buf->str; - g_string_free (str_buf, FALSE); + result = (guchar *) g_string_free (str_buf, FALSE); } return result; diff -Nru gnome-shell-42.5/src/st/croco/cr-declaration.c gnome-shell-42.9/src/st/croco/cr-declaration.c --- gnome-shell-42.5/src/st/croco/cr-declaration.c 2022-09-17 17:58:18.538485800 +0000 +++ gnome-shell-42.9/src/st/croco/cr-declaration.c 2023-03-19 21:13:44.372684000 +0000 @@ -539,8 +539,7 @@ } } if (stringue && stringue->str) { - result = stringue->str; - g_string_free (stringue, FALSE); + result = g_string_free (stringue, FALSE); } return result; @@ -586,8 +585,7 @@ break; } if (stringue && stringue->str) { - result = (guchar *) stringue->str; - g_string_free (stringue, FALSE); + result = (guchar *) g_string_free (stringue, FALSE); } return result; @@ -639,8 +637,7 @@ break; } if (stringue && stringue->str) { - result = (guchar *) stringue->str; - g_string_free (stringue, FALSE); + result = (guchar *) g_string_free (stringue, FALSE); } return result; diff -Nru gnome-shell-42.5/src/st/croco/cr-fonts.c gnome-shell-42.9/src/st/croco/cr-fonts.c --- gnome-shell-42.5/src/st/croco/cr-fonts.c 2022-09-17 17:58:18.539485700 +0000 +++ gnome-shell-42.9/src/st/croco/cr-fonts.c 2023-03-19 21:13:44.372684000 +0000 @@ -196,8 +196,7 @@ &stringue); if (status == CR_OK && stringue) { - result = (guchar *) stringue->str; - g_string_free (stringue, FALSE); + result = (guchar *) g_string_free (stringue, FALSE); stringue = NULL; } else { diff -Nru gnome-shell-42.5/src/st/croco/cr-parsing-location.c gnome-shell-42.9/src/st/croco/cr-parsing-location.c --- gnome-shell-42.5/src/st/croco/cr-parsing-location.c 2022-09-17 17:58:18.541485800 +0000 +++ gnome-shell-42.9/src/st/croco/cr-parsing-location.c 2023-03-19 21:13:44.374684000 +0000 @@ -126,8 +126,7 @@ a_this->byte_offset) ; } if (result->len) { - str = result->str ; - g_string_free (result, FALSE) ; + str = g_string_free (result, FALSE) ; } else { g_string_free (result, TRUE) ; } diff -Nru gnome-shell-42.5/src/st/croco/cr-pseudo.c gnome-shell-42.9/src/st/croco/cr-pseudo.c --- gnome-shell-42.5/src/st/croco/cr-pseudo.c 2022-09-17 17:58:18.541485800 +0000 +++ gnome-shell-42.9/src/st/croco/cr-pseudo.c 2023-03-19 21:13:44.374684000 +0000 @@ -107,8 +107,7 @@ } if (str_buf) { - result = (guchar *) str_buf->str; - g_string_free (str_buf, FALSE); + result = (guchar *) g_string_free (str_buf, FALSE); str_buf = NULL; } diff -Nru gnome-shell-42.5/src/st/croco/cr-rgb.c gnome-shell-42.9/src/st/croco/cr-rgb.c --- gnome-shell-42.5/src/st/croco/cr-rgb.c 2022-09-17 17:58:18.541485800 +0000 +++ gnome-shell-42.9/src/st/croco/cr-rgb.c 2023-03-19 21:13:44.374684000 +0000 @@ -273,8 +273,7 @@ } if (str_buf) { - result = (guchar *) str_buf->str; - g_string_free (str_buf, FALSE); + result = (guchar *) g_string_free (str_buf, FALSE); } return result; diff -Nru gnome-shell-42.5/src/st/croco/cr-selector.c gnome-shell-42.9/src/st/croco/cr-selector.c --- gnome-shell-42.5/src/st/croco/cr-selector.c 2022-09-17 17:58:18.541485800 +0000 +++ gnome-shell-42.9/src/st/croco/cr-selector.c 2023-03-19 21:13:44.374684000 +0000 @@ -171,8 +171,7 @@ } if (str_buf) { - result = (guchar *) str_buf->str; - g_string_free (str_buf, FALSE); + result = (guchar *) g_string_free (str_buf, FALSE); str_buf = NULL; } diff -Nru gnome-shell-42.5/src/st/croco/cr-simple-sel.c gnome-shell-42.9/src/st/croco/cr-simple-sel.c --- gnome-shell-42.5/src/st/croco/cr-simple-sel.c 2022-09-17 17:58:18.542486000 +0000 +++ gnome-shell-42.9/src/st/croco/cr-simple-sel.c 2023-03-19 21:13:44.375684300 +0000 @@ -152,8 +152,7 @@ } if (str_buf) { - result = (guchar *) str_buf->str; - g_string_free (str_buf, FALSE); + result = (guchar *) g_string_free (str_buf, FALSE); str_buf = NULL; } @@ -194,8 +193,7 @@ } if (str_buf) { - result = (guchar *) str_buf->str; - g_string_free (str_buf, FALSE); + result = (guchar *) g_string_free (str_buf, FALSE); str_buf = NULL; } diff -Nru gnome-shell-42.5/src/st/croco/cr-statement.c gnome-shell-42.9/src/st/croco/cr-statement.c --- gnome-shell-42.5/src/st/croco/cr-statement.c 2022-09-17 17:58:18.542486000 +0000 +++ gnome-shell-42.9/src/st/croco/cr-statement.c 2023-03-19 21:13:44.375684300 +0000 @@ -623,12 +623,8 @@ cr_utils_dump_n_chars2 (' ', stringue, a_indent); } g_string_append (stringue, "}"); - result = stringue->str; + result = g_string_free (stringue, FALSE); - if (stringue) { - g_string_free (stringue, FALSE); - stringue = NULL; - } if (tmp_str) { g_free (tmp_str); tmp_str = NULL; @@ -679,8 +675,7 @@ g_string_append (stringue, "\n}"); } if (stringue) { - result = stringue->str ; - g_string_free (stringue, FALSE) ; + result = g_string_free (stringue, FALSE); stringue = NULL ; } return result ; @@ -726,8 +721,7 @@ } } if (stringue) { - str = stringue->str ; - g_string_free (stringue, FALSE) ; + str = g_string_free (stringue, FALSE); } return str ; } @@ -780,8 +774,7 @@ } g_string_append (stringue, "\n}\n"); } - result = stringue->str ; - g_string_free (stringue, FALSE) ; + result = g_string_free (stringue, FALSE) ; stringue = NULL ; return result ; } @@ -842,8 +835,7 @@ g_string_append (stringue, "\n}"); } if (stringue) { - str = stringue->str ; - g_string_free (stringue, FALSE) ; + str = g_string_free (stringue, FALSE) ; } return str ; } @@ -903,8 +895,7 @@ g_string_append (stringue, " ;"); } if (stringue) { - str = stringue->str ; - g_string_free (stringue, FALSE) ; + str = g_string_free (stringue, FALSE) ; stringue = NULL ; } return str ; @@ -2562,8 +2553,7 @@ str = NULL ; } } - str = stringue->str ; - g_string_free (stringue, FALSE) ; + str = g_string_free (stringue, FALSE) ; return str ; } diff -Nru gnome-shell-42.5/src/st/croco/cr-stylesheet.c gnome-shell-42.9/src/st/croco/cr-stylesheet.c --- gnome-shell-42.5/src/st/croco/cr-stylesheet.c 2022-09-17 17:58:18.542486000 +0000 +++ gnome-shell-42.9/src/st/croco/cr-stylesheet.c 2023-03-19 21:13:44.375684300 +0000 @@ -82,8 +82,7 @@ } } if (stringue) { - str = stringue->str ; - g_string_free (stringue, FALSE) ; + str = g_string_free (stringue, FALSE) ; stringue = NULL ; } return str ; diff -Nru gnome-shell-42.5/src/st/croco/cr-term.c gnome-shell-42.9/src/st/croco/cr-term.c --- gnome-shell-42.5/src/st/croco/cr-term.c 2022-09-17 17:58:18.542486000 +0000 +++ gnome-shell-42.9/src/st/croco/cr-term.c 2023-03-19 21:13:44.375684300 +0000 @@ -462,8 +462,7 @@ } if (str_buf) { - result =(guchar *) str_buf->str; - g_string_free (str_buf, FALSE); + result = (guchar *) g_string_free (str_buf, FALSE); str_buf = NULL; } @@ -657,8 +656,7 @@ } if (str_buf) { - result = (guchar *) str_buf->str; - g_string_free (str_buf, FALSE); + result = (guchar *) g_string_free (str_buf, FALSE); str_buf = NULL; } diff -Nru gnome-shell-42.5/src/st/st-widget.c gnome-shell-42.9/src/st/st-widget.c --- gnome-shell-42.5/src/st/st-widget.c 2022-09-17 17:58:18.552486200 +0000 +++ gnome-shell-42.9/src/st/st-widget.c 2023-03-19 21:13:44.384684300 +0000 @@ -494,6 +494,8 @@ CLUTTER_ACTOR_CLASS (st_widget_parent_class)->unmap (actor); + st_widget_remove_transition (self); + if (priv->track_hover && priv->hover) st_widget_set_hover (self, FALSE); } diff -Nru gnome-shell-42.5/subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in gnome-shell-42.9/subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in --- gnome-shell-42.5/subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in 2022-09-17 17:58:18.555486200 +0000 +++ gnome-shell-42.9/subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in 2023-03-19 21:13:44.387684300 +0000 @@ -39,6 +39,10 @@ + + + + diff -Nru gnome-shell-42.5/subprojects/extensions-app/meson.build gnome-shell-42.9/subprojects/extensions-app/meson.build --- gnome-shell-42.5/subprojects/extensions-app/meson.build 2022-09-17 17:58:18.556486100 +0000 +++ gnome-shell-42.9/subprojects/extensions-app/meson.build 2023-03-19 21:13:44.388684500 +0000 @@ -1,5 +1,5 @@ project('gnome-extensions-app', - version: '42.5', + version: '42.9', meson_version: '>= 0.58.0', license: 'GPLv2+' ) diff -Nru gnome-shell-42.5/subprojects/extensions-app/po/LINGUAS gnome-shell-42.9/subprojects/extensions-app/po/LINGUAS --- gnome-shell-42.5/subprojects/extensions-app/po/LINGUAS 2022-09-17 17:58:18.443483600 +0000 +++ gnome-shell-42.9/subprojects/extensions-app/po/LINGUAS 2023-03-19 21:13:44.310682500 +0000 @@ -1,3 +1,4 @@ +ab af an ar diff -Nru gnome-shell-42.5/subprojects/extensions-app/subprojects/shew/meson.build gnome-shell-42.9/subprojects/extensions-app/subprojects/shew/meson.build --- gnome-shell-42.5/subprojects/extensions-app/subprojects/shew/meson.build 2022-09-17 17:58:18.559486200 +0000 +++ gnome-shell-42.9/subprojects/extensions-app/subprojects/shew/meson.build 2023-03-19 21:13:44.391684500 +0000 @@ -1,5 +1,5 @@ project('shew', 'c', - version: '42.5', + version: '42.9', meson_version: '>= 0.58.0', license: 'LGPLv2+', ) diff -Nru gnome-shell-42.5/subprojects/extensions-tool/meson.build gnome-shell-42.9/subprojects/extensions-tool/meson.build --- gnome-shell-42.5/subprojects/extensions-tool/meson.build 2022-09-17 17:58:18.557486300 +0000 +++ gnome-shell-42.9/subprojects/extensions-tool/meson.build 2023-03-19 21:13:44.389684400 +0000 @@ -1,5 +1,5 @@ project('gnome-extensions-tool', 'c', - version: '42.5', + version: '42.9', meson_version: '>= 0.58.0', license: 'GPLv2+' ) diff -Nru gnome-shell-42.5/subprojects/extensions-tool/po/LINGUAS gnome-shell-42.9/subprojects/extensions-tool/po/LINGUAS --- gnome-shell-42.5/subprojects/extensions-tool/po/LINGUAS 2022-09-17 17:58:18.443483600 +0000 +++ gnome-shell-42.9/subprojects/extensions-tool/po/LINGUAS 2023-03-19 21:13:44.310682500 +0000 @@ -1,3 +1,4 @@ +ab af an ar diff -Nru gnome-shell-42.5/subprojects/extensions-tool/src/command-disable.c gnome-shell-42.9/subprojects/extensions-tool/src/command-disable.c --- gnome-shell-42.5/subprojects/extensions-tool/src/command-disable.c 2022-09-17 17:58:18.557486300 +0000 +++ gnome-shell-42.9/subprojects/extensions-tool/src/command-disable.c 2023-03-19 21:13:44.389684400 +0000 @@ -26,6 +26,18 @@ #include "config.h" static gboolean +disable_extension_gsettings (const char *uuid) +{ + g_autoptr(GSettings) settings = get_shell_settings (); + + if (settings == NULL) + return FALSE; + + return settings_list_remove (settings, "enabled-extensions", uuid) && + settings_list_add (settings, "disabled-extensions", uuid); +} + +static gboolean disable_extension_dbus (GDBusProxy *proxy, const char *uuid) { @@ -42,10 +54,7 @@ &error); if (response == NULL) - { - g_printerr (_("Failed to connect to GNOME Shell\n")); - return FALSE; - } + return disable_extension_gsettings (uuid); g_variant_get (response, "(b)", &success); @@ -56,18 +65,6 @@ } static gboolean -disable_extension_gsettings (const char *uuid) -{ - g_autoptr(GSettings) settings = get_shell_settings (); - - if (settings == NULL) - return FALSE; - - return settings_list_remove (settings, "enabled-extensions", uuid) && - settings_list_add (settings, "disabled-extensions", uuid); -} - -static gboolean disable_extension (const char *uuid) { g_autoptr (GDBusProxy) proxy = NULL; diff -Nru gnome-shell-42.5/subprojects/extensions-tool/src/command-enable.c gnome-shell-42.9/subprojects/extensions-tool/src/command-enable.c --- gnome-shell-42.5/subprojects/extensions-tool/src/command-enable.c 2022-09-17 17:58:18.557486300 +0000 +++ gnome-shell-42.9/subprojects/extensions-tool/src/command-enable.c 2023-03-19 21:13:44.389684400 +0000 @@ -26,6 +26,18 @@ #include "config.h" static gboolean +enable_extension_gsettings (const char *uuid) +{ + g_autoptr(GSettings) settings = get_shell_settings (); + + if (settings == NULL) + return FALSE; + + return settings_list_add (settings, "enabled-extensions", uuid) && + settings_list_remove (settings, "disabled-extensions", uuid); +} + +static gboolean enable_extension_dbus (GDBusProxy *proxy, const char *uuid) { @@ -42,10 +54,7 @@ &error); if (response == NULL) - { - g_printerr (_("Failed to connect to GNOME Shell\n")); - return FALSE; - } + return enable_extension_gsettings (uuid); g_variant_get (response, "(b)", &success); @@ -56,18 +65,6 @@ } static gboolean -enable_extension_gsettings (const char *uuid) -{ - g_autoptr(GSettings) settings = get_shell_settings (); - - if (settings == NULL) - return FALSE; - - return settings_list_add (settings, "enabled-extensions", uuid) && - settings_list_remove (settings, "disabled-extensions", uuid); -} - -static gboolean enable_extension (const char *uuid) { g_autoptr (GDBusProxy) proxy = NULL; diff -Nru gnome-shell-42.5/subprojects/gvc/gvc-mixer-control.c gnome-shell-42.9/subprojects/gvc/gvc-mixer-control.c --- gnome-shell-42.5/subprojects/gvc/gvc-mixer-control.c 2022-09-17 17:58:19.998518500 +0000 +++ gnome-shell-42.9/subprojects/gvc/gvc-mixer-control.c 2023-03-19 21:13:45.260705000 +0000 @@ -1250,28 +1250,36 @@ "port-name", &device_port_name, NULL); - card_id = gvc_mixer_card_get_index (card); + if (card == NULL) { + if (device_stream_id == stream_id) { + g_debug ("Matched stream %u with card-less device '%s', with stream already setup", + stream_id, description); + in_possession = TRUE; + } + } else { + card_id = gvc_mixer_card_get_index (card); - g_debug ("Attempt to match_stream update_with_existing_outputs - Try description : '%s', origin : '%s', device port name : '%s', card : %p, AGAINST stream port: '%s', sink card id %i", - description, - origin, - device_port_name, - card, - stream_port->port, - stream_card_id); - - if (stream_card_id == card_id && - g_strcmp0 (device_port_name, stream_port->port) == 0) { - g_debug ("Match device with stream: We have a match with description: '%s', origin: '%s', cached already with device id %u, so set stream id to %i", + g_debug ("Attempt to match_stream update_with_existing_outputs - Try description : '%s', origin : '%s', device port name : '%s', card : %p, AGAINST stream port: '%s', sink card id %i", description, origin, - gvc_mixer_ui_device_get_id (device), - stream_id); + device_port_name, + card, + stream_port->port, + stream_card_id); + + if (stream_card_id == card_id && + g_strcmp0 (device_port_name, stream_port->port) == 0) { + g_debug ("Match device with stream: We have a match with description: '%s', origin: '%s', cached already with device id %u, so set stream id to %i", + description, + origin, + gvc_mixer_ui_device_get_id (device), + stream_id); - g_object_set (G_OBJECT (device), - "stream-id", (gint)stream_id, - NULL); - in_possession = TRUE; + g_object_set (G_OBJECT (device), + "stream-id", (gint)stream_id, + NULL); + in_possession = TRUE; + } } g_free (device_port_name); @@ -2582,7 +2590,6 @@ } card = gvc_mixer_card_new (control->priv->pa_context, info->index); - gvc_mixer_card_set_profiles (card, profile_list); for (i = 0; i < info->n_ports; i++) { GvcMixerCardPort *port; @@ -2596,6 +2603,8 @@ port->profiles = determine_profiles_for_port (info->ports[i], profile_list); port_list = g_list_prepend (port_list, port); } + + gvc_mixer_card_set_profiles (card, profile_list); gvc_mixer_card_set_ports (card, port_list); is_new = TRUE; } diff -Nru gnome-shell-42.5/subprojects/shew/meson.build gnome-shell-42.9/subprojects/shew/meson.build --- gnome-shell-42.5/subprojects/shew/meson.build 2022-09-17 17:58:18.559486200 +0000 +++ gnome-shell-42.9/subprojects/shew/meson.build 2023-03-19 21:13:44.391684500 +0000 @@ -1,5 +1,5 @@ project('shew', 'c', - version: '42.5', + version: '42.9', meson_version: '>= 0.58.0', license: 'LGPLv2+', )