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+',
)