Compare commits

...

47 Commits

Author SHA1 Message Date
Florian Müllner
eeb86824f0 Bump version to 49.beta
Update NEWS.
2025-08-03 12:38:46 +02:00
Jordi Mas i Hernandez
b433b00344 Update Catalan translation 2025-08-03 08:47:37 +00:00
Florian Müllner
96031ee1e7 lint: Remove old configuration
It is now unused after the switch to the new flat config format.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/408>
2025-07-30 17:44:23 +00:00
Florian Müllner
f4bf96cbbc ci: Use script from tools to run eslint
Now that we include a more public version of the script, there
is no reason to keep the original script just for CI.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/408>
2025-07-30 17:44:23 +00:00
Florian Müllner
7d41858bab tools: Switch to flat config for eslint
Both the .json and .yml config formats are deprecated in favor
of flat configs exported from eslint.config.js files.

The good news is that gjs' config is now available as a shared
config from the `eslint-config-gnome` package in World/javascript,
so we no longer have to copy the entire thing.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/408>
2025-07-30 17:44:23 +00:00
Florian Müllner
f1e0058e67 tools: Add run-eslint.sh script
The script is a small wrapper around the `ci-run-eslint` package
from World/javascript, which is a generalized and improved version
of the .gitlab-ci/run-eslint script from gnome-shell.

It only requires `npm` to be available, so it simplifies running
eslint locally quite a lot

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/408>
2025-07-30 17:44:23 +00:00
Danial Behzadi
c03a76bb77 Update Persian translation 2025-07-29 10:32:26 +00:00
Makoto Sakaguchi
ed3db834b3 Update Japanese translation 2025-07-14 08:54:41 +00:00
Anders Jonsson
b8baead85b Update Swedish translation 2025-07-02 21:26:16 +00:00
Florian Müllner
9fd7f7a939 Bump version to 49.alpha.1
Update NEWS.
2025-06-29 01:15:46 +02:00
Sergej A.
7466de0f20 Update Russian translation 2025-06-28 16:37:22 +00:00
Álvaro Burns
6f7dabe3f0 Update Brazilian Portuguese translation 2025-06-24 14:53:46 +00:00
Vasil Pupkin
0f4121ee71 Update Belarusian translation 2025-06-21 12:53:28 +00:00
Ekaterine Papava
8797f13694 Update Georgian translation 2025-06-21 04:44:06 +00:00
Florian Müllner
9e11ec9940 cleanup: Remove unused eslint-disable directives
The 'camelcase' rule only applies to variables and properties,
not to function names are getter/setter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/413>
2025-06-18 23:31:15 +00:00
Florian Müllner
3a76b9eec4 cleanup: Remove unused catch bindings
Optional catch bindings have been supported for quite a while now,
so we can treat unused error bindings in catch statements like
any other unused variable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/413>
2025-06-18 23:31:15 +00:00
Yago Raña
5a84fe0051 Update Galician translation 2025-06-18 18:11:24 +00:00
Luming Zh
01f7a6e32c Update Chinese (China) translation 2025-06-18 00:43:48 +00:00
Yuri Chornoivan
a3d27dd674 Update Ukrainian translation 2025-06-17 16:14:35 +00:00
Florian Müllner
0081bd0d99 window-list: Animate transitions to/from overview
Instead of abruptly hiding/showing the window list, slide it out/in
when transitioning to/from the overview.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/568
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/412>
2025-06-17 15:44:23 +00:00
Emin Tufan Çetin
c59d6cdad8 Update Turkish translation 2025-06-17 15:17:08 +00:00
Martin
7d48bcc845 Update Slovenian translation 2025-06-17 15:10:34 +00:00
Florian Müllner
76514e8b23 window-list: Adjust to workspace-indicator changes
Keep the `.panel-button` class to get the expected hover/focus/active
styling when using a regular menu button, but remove the horizontal
padding when using previews for fittsability.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:12 +02:00
Florian Müllner
1899d502a9 workspace-indicator: Remove workspace names from prefs
Now that names can be changed from the extension itself, we no
longer need to expose them in the prefs dialog.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
762903618d workspace-indicator: Allow changing workspace names from menu
Instead of requiring the user to open the prefs dialog to change
workspace names, make the menu items themselves editable.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
b5ac041c1a workspace-indicator: Include workspace settings
While the "Multitasking" panel in Settings already exposes workspace
settings, it makes sense to expose them in our prefs dialog as well
where they are more in context.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
83d7ae031b workspace-indicator: Refine preview settings
Add a group title, and change the single switch row to radio rows
to explicitly choose between "Previews" and "Workspace Name".

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
17b37ff577 workspace-indicator: Add background when using name label
Panel buttons are flat, so the name+arrow are not immediately
recognizable as a single control. Address this by adding a
background to the button when using the name label.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
ee2c76de1d workspace-indicator: Show full name when using menu
With workspace names becoming a more prominent feature, it makes
sense to expose them without opening the menu.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
01d8d4871e workspace-indicator: Expose active workspace name on menu
When not using previews, we currently use a numerical presentation
like "1 / 4" for the top bar button. We will change that to use
the active workspace name instead.

As the menu already has to track workspace switches and name changes,
expose the active workspace name there, so that the button doesn't
have to duplicate the tracking.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
1186b2a7a0 workspace-indicator: Include menu with previews
The menu is currently only used when previews are disabled. But
as we are going to use the menu for changing workspace names, it
should be always available. So add it unconditionally, and show
it on right-click when using previews.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
2840a6b364 workspace-indicator: Remove preview labels
Previews are no longer used in the menu, so they are never
shown with labels.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
990e340366 workspace-indicator: Add back plain workspaces menu
Unlike in the top bar, the previews in the menu were not too
successful. Change back to a regular menu with a list of workspace
names.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
c9678e89d2 workspace-indicator: Split out WorkspacesMenu
The menu currently only contains the previews without any logic
on its own. This is about to change, so split the menu into a
separate class.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
53ba3ce620 workspace-indicator: Remove left-over variable
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/405>
2025-06-17 17:02:11 +02:00
Florian Müllner
301017904b lint: Require dangling comma in multi-line imports
This keeps the config in line with gjs, which added the option
in gjs@f7d3b5d4c8.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/411>
2025-06-17 15:59:58 +02:00
Florian Müllner
0ad959de1e window-list: Only remove fullscreen tracking in overview
Since commit 981e8e42e2, we untrack chrome in the overview to avoid
fullscreen tracking interfering with hiding the window list in the
overview.

However this also means that we no longer contribute to the struts
while in the overview, which can lead to unwanted window resizes
around the transition.

So instead of fully untracking the actor, retrack without fullscreen
tracking.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/409>
2025-06-17 13:13:09 +02:00
Florian Müllner
a3ff3c79b2 Revert "window-list: Fix initial visibility"
Since we no longer track fullscreen state in the overview,
the workaround is no longer necessary.

This reverts commit 6ee4205f1e.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/409>
2025-06-17 13:13:09 +02:00
Florian Müllner
8819ed01c8 Bump version to 49.alpha.0
Update NEWS.
2025-06-08 13:40:14 +02:00
Florian Müllner
59e6aefd5e build: Use build-aux for auxiliary build scripts
This is the name most projects have settled on, so let's use that
as well.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/406>
2025-06-08 13:22:39 +02:00
Emilio Sepúlveda
7c6c4f0ef9 Update Interlingua translation 2025-05-27 00:22:06 +00:00
Neal Gompa
2552c92fe1 build: Do not install anything in xsessions when X11 is disabled
Fixes: b05eb4eb6d ("build: Allow disabling the X11 session")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/400>
2025-05-12 21:45:26 +00:00
Jordan Petridis
d6b605e801 meson: Switch the x11 default value to false
We might remove it completely this cycle, but till then we certainly want
to disable it by default regardless

Mirror change of gnome-session [1]

[1] 21f10a9eda

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/399>
2025-05-12 22:49:54 +03:00
Florian Müllner
b0b0f527be screenshot-window-sizer: Adapt to maximization changes
Mutter now exposes the is_maximized() method for checking for
full maximization, and the plain (un)maximize() methods no
longer cover partial maximization.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/398>
2025-05-07 13:17:56 +02:00
Florian Müllner
30f4beb3e1 window-list: Adapt to maximization changes
Mutter now exposes the is_maximized() method for checking for
full maximization, and the plain (un)maximize() methods no
longer cover partial maximization.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/398>
2025-05-07 13:16:34 +02:00
Neal Gompa
b05eb4eb6d build: Allow disabling the X11 session
This is consistent with gnome-session and the rest of the GNOME
session stack.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/396>
2025-04-24 09:40:01 -04:00
Daniel Buch Hansen
e06b1e8236 windowsNavigator: Adjust to get_key_focus() changes in Clutter
Clutter.Stage.get_key_focus() now always returns the value of
the Clutter.Stage.keyFocus property, whereas previously it
would return the stage itself when no explicit focus was set.

Adjust the code accordingly.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/561
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/395>
2025-04-14 18:57:14 +02:00
42 changed files with 1797 additions and 1368 deletions

View File

@@ -1,7 +0,0 @@
# SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
extends:
- ./lint/eslintrc-gjs.yml
- ./lint/eslintrc-shell.yml

4
.gitattributes vendored Normal file
View File

@@ -0,0 +1,4 @@
# SPDX-FileCopyrightText: No rights reserved
# SPDX-License-Identifier: CC0-1.0
package-lock.json -diff

2
.gitignore vendored
View File

@@ -9,4 +9,6 @@ zip-files/
*.patch
*.sw?
.buildconfig
.eslintcache
.vscode
node_modules

View File

@@ -101,11 +101,8 @@ eslint:
variables:
LINT_LOG: "eslint-report.xml"
script:
- export NODE_PATH=$(npm root -g)
- ./.gitlab-ci/run-eslint --output-file "$LINT_LOG" --format junit --stdout
- ./tools/run-eslint.sh --output-file "$LINT_LOG" --format junit --stdout
artifacts:
paths:
- "$LINT_LOG"
reports:
junit: "$LINT_LOG"

View File

@@ -1,58 +0,0 @@
#!/usr/bin/env node
// SPDX-FileCopyrightText: 2023 Florian Müllner <fmuellner@gnome.org>
//
// SPDX-License-Identifier: GPL-2.0-or-later
const {ESLint} = require('eslint');
console.log(`Running ESLint version ${ESLint.version}...`);
const fs = require('fs');
const path = require('path');
function hasOption(...names) {
return process.argv.some(arg => names.includes(arg));
}
function getOption(...names) {
const optIndex =
process.argv.findIndex(arg => names.includes(arg)) + 1;
if (optIndex === 0)
return undefined;
return process.argv[optIndex];
}
(async function main() {
const outputOption = getOption('--output-file', '-o');
const outputPath = outputOption ? path.resolve(outputOption) : null;
const sourceDir = path.dirname(process.argv[1]);
process.chdir(path.resolve(sourceDir, '..'));
const sources = ['extensions'];
const eslint = new ESLint();
const results = await eslint.lintFiles(sources);
const formatter = await eslint.loadFormatter(getOption('--format', '-f'));
const resultText = formatter.format(results);
if (outputPath) {
fs.mkdirSync(path.dirname(outputPath), {recursive: true});
fs.writeFileSync(outputPath, resultText);
if (hasOption('--stdout')) {
const consoleFormatter = await eslint.loadFormatter();
console.log(consoleFormatter.format(results));
}
} else {
console.log(resultText);
}
process.exitCode = results.some(r => r.errorCount > 0) ? 1 : 0;
})().catch((error) => {
process.exitCode = 1;
console.error(error);
});

39
NEWS
View File

@@ -1,3 +1,42 @@
49.beta
=======
* Misc. bug fixes and cleanups [Florian; !408]
Contributors:
Florian Müllner
Translators:
Anders Jonsson [sv], Makoto Sakaguchi [ja], Danial Behzadi [fa],
Jordi Mas i Hernandez [ca]
49.alpha.1
==========
* workspaces-indicator, window-list: Better expose workspace names
[Florian; !405]
* window-list: Animate transition to/from overview [Florian; !412]
* Misc. bug fixes and cleanups [Florian; !409, !411, !413]
Contributors:
Florian Müllner
Translators:
Martin [sl], Emin Tufan Çetin [tr], Yuri Chornoivan [uk], Luming Zh [zh_CN],
Yago Raña [gl], Ekaterine Papava [ka], Vasil Pupkin [be],
Álvaro Burns [pt_BR], Sergej A. [ru]
49.alpha.0
==========
* windowsNavigator: Fix handling keyboard shortcuts [Daniel; !395]
* build: Allow disabling the X11 session [Neal; !396, !400]
* Disable X11 session by default [Jordan; !399]
* Misc. bug fixes and cleanups [Florian; !398, !406]
Contributors:
Daniel Buch Hansen, Neal Gompa, Florian Müllner, Jordan Petridis
Translators:
Emilio Sepúlveda [ia]
48.1
====

View File

@@ -29,3 +29,13 @@ SPDX-License-Identifier = "GPL-2.0-or-later"
path = ["po/LINGUAS", "po/POTFILES.in"]
SPDX-FileCopyrightText = "No rights reserved"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = "tools/package.json"
SPDX-FileCopyrightText = "2025 Florian Müllner <fmuellner@gnome.org>"
SPDX-License-Identifier = "MIT OR LGPL-2.0-or-later"
[[annotations]]
path = "**package-lock.json"
SPDX-FileCopyrightText = "No rights reserved"
SPDX-License-Identifier = "CC0-1.0"

View File

@@ -15,10 +15,10 @@ else:
# FIXME: Meson is unable to copy a generated target file:
# https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
dst_dir = os.path.join(install_root, 'wayland-sessions')
dst_dir = os.path.join(install_root, 'xsessions')
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
src = os.path.join(install_root, 'xsessions', 'gnome-classic.desktop')
src = os.path.join(install_root, 'wayland-sessions', 'gnome-classic.desktop')
dst = os.path.join(dst_dir, 'gnome-classic.desktop')
shutil.copyfile(src, dst)

View File

@@ -2,14 +2,19 @@
#
# SPDX-License-Identifier: GPL-2.0-or-later
have_x11 = get_option('x11')
session_desktop_base = 'gnome-classic'
session_desktops = [
session_desktop_base,
session_desktop_base + '-xorg',
session_desktop_base + '-wayland',
]
if have_x11
session_desktops += [session_desktop_base + '-xorg']
endif
foreach name : session_desktops
session_desktop = name + '.desktop'
if name.endswith('-xorg')
@@ -18,10 +23,10 @@ foreach name : session_desktops
session_instdir = wlsessiondir
else
# FIXME: The same target can not be copied into two directories.
# There is a workaround in meson/session-post-install.py until proper
# There is a workaround in build-aux/session-post-install.py until proper
# solution arises:
# https://github.com/mesonbuild/meson/issues/2416
session_instdir = xsessiondir
session_instdir = wlsessiondir
#session_instdir = [ xesssiondir, wlsessiondir ]
endif
i18n.merge_file(

1
eslint.config.js Symbolic link
View File

@@ -0,0 +1 @@
tools/eslint.config.js

View File

@@ -488,7 +488,7 @@ class ApplicationsButton extends PanelMenu.Button {
let id;
try {
id = entry.get_desktop_file_id(); // catch non-UTF8 filenames
} catch (e) {
} catch {
continue;
}
let app = appSys.lookup_app(id);

View File

@@ -70,8 +70,8 @@ export default class ScreenshotWindowSizerExtension extends Extension {
const backwards = binding.is_reversed();
// Unmaximize first
if (window.get_maximized() !== 0)
window.unmaximize(Meta.MaximizeFlags.BOTH);
if (window.is_maximized())
window.unmaximize();
let workArea = window.get_work_area_current_monitor();
let outerRect = window.get_frame_rect();

View File

@@ -20,6 +20,9 @@ import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
import {DashItemContainer} from 'resource:///org/gnome/shell/ui/dash.js';
import {
ANIMATION_TIME as SLIDE_ANIMATION_TIME,
} from 'resource:///org/gnome/shell/ui/overview.js';
import {WorkspaceIndicator} from './workspaceIndicator.js';
@@ -85,10 +88,10 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
this._maximizeItem = new PopupMenu.PopupMenuItem('');
this._maximizeItem.connect('activate', () => {
if (this._metaWindow.get_maximized() === Meta.MaximizeFlags.BOTH)
this._metaWindow.unmaximize(Meta.MaximizeFlags.BOTH);
if (this._metaWindow.is_maximized())
this._metaWindow.unmaximize();
else
this._metaWindow.maximize(Meta.MaximizeFlags.BOTH);
this._metaWindow.maximize();
});
this.addMenuItem(this._maximizeItem);
@@ -123,9 +126,7 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
}
_updateMaximizeItem() {
let maximized = this._metaWindow.maximized_vertically &&
this._metaWindow.maximized_horizontally;
this._maximizeItem.label.text = maximized
this._maximizeItem.label.text = this._metaWindow.is_maximized()
? _('Unmaximize') : _('Maximize');
}
}
@@ -432,12 +433,10 @@ class BaseButton extends DashItemContainer {
return this._button.has_style_class_name('focused');
}
// eslint-disable-next-line camelcase
get ignore_workspace() {
return this._ignoreWorkspace;
}
// eslint-disable-next-line camelcase
set ignore_workspace(ignore) {
if (this._ignoreWorkspace === ignore)
return;
@@ -733,7 +732,7 @@ class AppContextMenu extends PopupMenu.PopupMenu {
this._maximizeItem = new PopupMenu.PopupMenuItem(_('Maximize all'));
this._maximizeItem.connect('activate', () => {
this._appButton.getWindowList().forEach(w => {
w.maximize(Meta.MaximizeFlags.BOTH);
w.maximize();
});
});
this.addMenuItem(this._maximizeItem);
@@ -741,7 +740,7 @@ class AppContextMenu extends PopupMenu.PopupMenu {
this._unmaximizeItem = new PopupMenu.PopupMenuItem(_('Unmaximize all'));
this._unmaximizeItem.connect('activate', () => {
this._appButton.getWindowList().forEach(w => {
w.unmaximize(Meta.MaximizeFlags.BOTH);
w.unmaximize();
});
});
this.addMenuItem(this._unmaximizeItem);
@@ -760,10 +759,10 @@ class AppContextMenu extends PopupMenu.PopupMenu {
this._minimizeItem.visible = windows.some(w => !w.minimized);
this._unminimizeItem.visible = windows.some(w => w.minimized);
this._maximizeItem.visible = windows.some(w => {
return w.get_maximized() !== Meta.MaximizeFlags.BOTH;
return !w.is_maximized();
});
this._unmaximizeItem.visible = windows.some(w => {
return w.get_maximized() === Meta.MaximizeFlags.BOTH;
return w.is_maximized();
});
super.open(animate);
@@ -983,14 +982,25 @@ class WindowList extends St.Widget {
() => this._onWorkspaceMenuSet(), this);
this._onWorkspaceMenuSet();
const chromeOptions = {
const inOverview = Main.overview.visible ||
(Main.layoutManager._startingUp && Main.sessionMode.hasOverview);
const overviewChromeOptions = {
affectsStruts: true,
};
const chromeOptions = {
...overviewChromeOptions,
trackFullscreen: true,
};
Main.layoutManager.addChrome(this, chromeOptions);
Main.layoutManager.addChrome(this, inOverview
? overviewChromeOptions
: chromeOptions);
Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox);
Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic');
this.visible = !inOverview;
this.width = this._monitor.width;
this.connect('notify::height', this._updatePosition.bind(this));
this._updatePosition();
@@ -1024,20 +1034,20 @@ class WindowList extends St.Widget {
Main.overview.connectObject(
'showing', () => {
Main.layoutManager.untrackChrome(this);
this.hide();
this._retrackChrome(overviewChromeOptions);
this._slideOut();
this._updateKeyboardAnchor();
},
'hiding', () => {
if (!this._monitor.inFullscreen)
this._slideIn();
},
'hidden', () => {
Main.layoutManager.trackChrome(this, chromeOptions);
this.visible = !this._monitor.inFullscreen;
this._retrackChrome(chromeOptions);
this._updateKeyboardAnchor();
}, this);
global.display.connectObject('in-fullscreen-changed', () => {
// Work-around for initial change from unknown to !fullscreen
if (Main.overview.visible)
this.hide();
this._updateKeyboardAnchor();
}, this);
@@ -1075,6 +1085,13 @@ class WindowList extends St.Widget {
this._groupingModeChanged();
}
get_transformed_position() {
// HACK: Remove translation we use for animations
// to keep struts stable
const [x, y] = super.get_transformed_position();
return [x, y - this.translation_y];
}
_onScrollEvent(actor, event) {
let direction = event.get_scroll_direction();
let diff = 0;
@@ -1103,6 +1120,29 @@ class WindowList extends St.Widget {
this._monitor.y + this._monitor.height - this.height);
}
_retrackChrome(options) {
Main.layoutManager.untrackChrome(this);
Main.layoutManager.trackChrome(this, options);
}
_slideIn() {
this.show();
this.ease({
translation_y: 0,
duration: SLIDE_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
});
}
_slideOut() {
this.ease({
translation_y: this.height,
duration: SLIDE_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => this.hide(),
});
}
_updateWorkspaceIndicatorVisibility() {
let workspaceManager = global.workspace_manager;
let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') ||
@@ -1463,12 +1503,6 @@ class BottomWorkspaceIndicator extends WorkspaceIndicator {
GObject.registerClass(this);
}
constructor(params) {
super(params);
this.remove_style_class_name('panel-button');
}
setMenu(menu) {
super.setMenu(menu);

View File

@@ -6,6 +6,11 @@
*/
@import url("stylesheet-workspace-switcher-dark.css");
.window-list-workspace-indicator.previews {
-natural-hpadding: 0 !important;
-minimum-hpadding: 0 !important;
}
.window-list {
spacing: 2px;
font-size: 10pt;

View File

@@ -173,7 +173,7 @@ export default class Extension {
this._injectionManager.overrideMethod(viewProto, '_hideTooltips', () => {
/* eslint-disable no-invalid-this */
return function () {
if (global.stage.get_key_focus() === global.stage)
if (global.stage.get_key_focus() === null)
global.stage.set_key_focus(this._prevFocusActor);
this._pickWindow = false;
for (let i = 0; i < this._workspaces.length; i++)
@@ -235,7 +235,7 @@ export default class Extension {
return true;
}
if (global.stage.get_key_focus() !== global.stage)
if (global.stage.get_key_focus() !== null)
return false;
// ignore shift presses, they're required to get numerals in azerty keyboards

View File

@@ -5,27 +5,45 @@
* SPDX-License-Identifier: GPL-2.0-or-later
*/
.workspace-indicator.previews:active {
background-color: none !important;
box-shadow: none !important;
}
.workspace-indicator.name-label {
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17) !important;
}
.workspace-indicator.name-label:hover,
.workspace-indicator.name-label:focus {
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28) !important;
}
.workspace-indicator.name-label:active {
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32) !important;
}
.workspace-indicator.name-label:active:hover {
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.36) !important;
}
.workspace-indicator .status-label {
width: 8em;
padding: 0 8px;
}
.workspace-indicator .status-label:ltr { padding-right: 4px; }
.workspace-indicator .status-label:rtl { padding-left: 4px; }
.workspace-indicator .system-status-icon {
padding: 0 !important;
margin: 0 !important;
}
.workspace-indicator .workspaces-view.hfade {
-st-hfade-offset: 20px;
}
.workspace-indicator-menu .workspaces-view {
max-width: 480px;
}
.workspace-indicator .workspaces-box {
spacing: 3px;
}
.workspace-indicator-menu .workspaces-box {
padding: 5px;
spacing: 6px;
}
.workspace-indicator .workspace-box {
padding-top: 5px;
padding-bottom: 5px;
@@ -40,11 +58,6 @@
padding-right: 5px;
}
.workspace-indicator-menu .workspace-box {
spacing: 6px;
}
.workspace-indicator-menu .workspace,
.workspace-indicator .workspace {
border: 1px solid transparent;
border-radius: 4px;
@@ -55,12 +68,6 @@
width: 52px;
}
.workspace-indicator-menu .workspace {
height: 80px;
width: 160px;
}
.workspace-indicator-menu .workspace.active,
.workspace-indicator .workspace.active {
border-color: #fff;
}
@@ -74,3 +81,50 @@
.workspace-indicator-window-preview.active {
background-color: #d4d4d4;
}
.workspace-indicator-menu {
min-width: 17em;
}
.workspace-indicator-menu .editable-menu-item.popup-menu-item {
padding: 3px 12px;
}
.workspace-indicator-menu .editable-menu-item .icon-button {
padding: 6px;
}
.workspace-indicator-menu .editable-menu-item .icon-button.flat {
background-color: transparent;
}
.workspace-indicator-menu .editable-menu-item .icon-button.flat:hover {
background-color: st-transparentize(white, 90%);
}
.workspace-indicator-menu .editable-menu-item .icon-button.flat:active {
background-color: st-transparentize(white, 85%);
}
.workspace-indicator-menu .editable-menu-item .icon-button.flat:checked {
color: -st-accent-fg-color;
background-color: -st-accent-color;
}
.workspace-indicator-menu .editable-menu-item .icon-button.flat:checked:hover {
background-color: st-lighten(-st-accent-color, 10%);
}
.workspace-indicator-menu .editable-menu-item .icon-button.flat:checked:active {
background-color: st-lighten(-st-accent-color, 15%);
}
.workspace-indicator-menu .editable-menu-item StLabel {
padding: 0 11px;
width: 6.5em;
}
.workspace-indicator-menu .editable-menu-item StEntry {
padding: 9px 9px;
width: 6.5em;
}

View File

@@ -7,6 +7,20 @@
@import url("stylesheet-dark.css");
.workspace-indicator.name-label {
box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.17) !important;
}
.workspace-indicator.name-label:hover,
.workspace-indicator.name-label:focus {
box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.28) !important;
}
.workspace-indicator.name-label:active {
box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.32) !important;
}
.workspace-indicator.name-label:active:hover {
box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.36) !important;
}
.workspace-indicator .workspace {
background-color: #ccc;
}
@@ -23,3 +37,19 @@
.workspace-indicator-window-preview.active {
background-color: #f6f5f4;
}
.workspace-indicator-menu .editable-menu-item .icon-button.flat:hover {
background-color: st-transparentize(black, 90%);
}
.workspace-indicator-menu .editable-menu-item .icon-button.flat:active {
background-color: st-transparentize(black, 85%);
}
.workspace-indicator-menu .editable-menu-item .icon-button.flat:checked:hover {
background-color: st-darken(-st-accent-color, 10%);
}
.workspace-indicator-menu .editable-menu-item .icon-button.flat:checked:active {
background-color: st-darken(-st-accent-color, 15%);
}

View File

@@ -8,9 +8,10 @@ import Clutter from 'gi://Clutter';
import Gio from 'gi://Gio';
import GObject from 'gi://GObject';
import Meta from 'gi://Meta';
import Shell from 'gi://Shell';
import St from 'gi://St';
import {gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
@@ -116,10 +117,6 @@ class WorkspaceThumbnail extends St.Button {
'active', null, null,
GObject.ParamFlags.READWRITE,
false),
'show-label': GObject.ParamSpec.boolean(
'show-label', null, null,
GObject.ParamFlags.READWRITE,
false),
};
static {
@@ -148,31 +145,15 @@ class WorkspaceThumbnail extends St.Button {
});
box.add_child(this._preview);
this._label = new St.Label({
x_align: Clutter.ActorAlign.CENTER,
text: Meta.prefs_get_workspace_name(index),
});
box.add_child(this._label);
this._tooltip = new St.Label({
style_class: 'dash-label',
visible: false,
});
Main.uiGroup.add_child(this._tooltip);
this.bind_property('show-label',
this._label, 'visible',
GObject.BindingFlags.SYNC_CREATE);
this.connect('destroy', this._onDestroy.bind(this));
this.connect('notify::hover', this._syncTooltip.bind(this));
const desktopSettings =
new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
desktopSettings.connectObject('changed::workspace-names', () => {
this._label.text = Meta.prefs_get_workspace_name(index);
}, this);
this._index = index;
this._delegate = this; // needed for DND
@@ -270,9 +251,6 @@ class WorkspaceThumbnail extends St.Button {
}
_syncTooltip() {
if (this.showLabel)
return;
if (this.hover) {
this._tooltip.set({
text: Meta.prefs_get_workspace_name(this._index),
@@ -309,13 +287,6 @@ class WorkspaceThumbnail extends St.Button {
}
class WorkspacePreviews extends Clutter.Actor {
static [GObject.properties] = {
'show-labels': GObject.ParamSpec.boolean(
'show-labels', null, null,
GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY,
false),
};
static {
GObject.registerClass(this);
}
@@ -367,13 +338,8 @@ class WorkspacePreviews extends Clutter.Actor {
this._thumbnailsBox.destroy_all_children();
for (let i = 0; i < nWorkspaces; i++) {
const thumb = new WorkspaceThumbnail(i);
this.bind_property('show-labels',
thumb, 'show-label',
GObject.BindingFlags.SYNC_CREATE);
this._thumbnailsBox.add_child(thumb);
}
for (let i = 0; i < nWorkspaces; i++)
this._thumbnailsBox.add_child(new WorkspaceThumbnail(i));
if (this.mapped)
this._updateScrollPosition();
@@ -421,6 +387,202 @@ class WorkspacePreviews extends Clutter.Actor {
}
}
class EditableMenuItem extends PopupMenu.PopupBaseMenuItem {
static [GObject.signals] = {
'edited': {},
};
static {
GObject.registerClass(this);
}
constructor() {
super({
style_class: 'editable-menu-item',
});
this.get_accessible()?.set_description(
_('Press %s to edit').format('e'));
const stack = new Shell.Stack({
x_expand: true,
x_align: Clutter.ActorAlign.START,
});
this.add_child(stack);
this.label = new St.Label({
y_align: Clutter.ActorAlign.CENTER,
});
stack.add_child(this.label);
this.label_actor = this.label;
this._entry = new St.Entry({
opacity: 0,
reactive: false,
});
stack.add_child(this._entry);
this.label.bind_property('text',
this._entry, 'text',
GObject.BindingFlags.DEFAULT);
this._entry.clutter_text.connect('activate',
() => this._stopEditing());
this._editButton = new St.Button({
style_class: 'icon-button flat',
icon_name: 'document-edit-symbolic',
button_mask: St.ButtonMask.ONE,
toggle_mode: true,
x_align: Clutter.ActorAlign.END,
y_align: Clutter.ActorAlign.CENTER,
});
this.add_child(this._editButton);
this._editButton.connect('notify::checked', () => {
if (this._editButton.checked) {
this._editButton.icon_name = 'ornament-check-symbolic';
this._startEditing();
} else {
this._editButton.icon_name = 'document-edit-symbolic';
this._stopEditing();
}
});
this.connect('key-release-event', (o, event) => {
if (event.get_key_symbol() === Clutter.KEY_e)
this._editButton.checked = true;
});
global.stage.connectObject('notify::key-focus', () => {
const {keyFocus} = global.stage;
if (!keyFocus || !this.contains(keyFocus))
this._stopEditing();
}, this);
}
_switchActor(from, to) {
to.reactive = true;
to.ease({
opacity: 255,
duration: 300,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
});
from.ease({
opacity: 0,
duration: 300,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => {
from.reactive = false;
},
});
}
_startEditing() {
this._switchActor(this.label, this._entry);
this._entry.clutter_text.set_selection(0, -1);
this._entry.clutter_text.grab_key_focus();
}
_stopEditing() {
if (this.label.text !== this._entry.text) {
this.label.text = this._entry.text;
this.emit('edited');
}
if (this._editButton.checked)
this._editButton.checked = false;
this._switchActor(this._entry, this.label);
this.navigate_focus(this, St.DirectionType.TAB_FORWARD, false);
}
}
class WorkspacesMenu extends PopupMenu.PopupMenu {
constructor(sourceActor) {
super(sourceActor, 0.5, St.Side.TOP);
this.actor.add_style_class_name(`${baseStyleClassName}-menu`);
this._workspacesSection = new PopupMenu.PopupMenuSection();
this.addMenuItem(this._workspacesSection);
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.addAction(_('Settings'), () => {
const extension = Extension.lookupByURL(import.meta.url);
extension.openPreferences();
});
this._desktopSettings =
new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
this._desktopSettings.connectObject('changed::workspace-names', () => {
this._updateWorkspaceLabels();
this.emit('active-name-changed');
}, this);
const {workspaceManager} = global;
workspaceManager.connectObject(
'notify::n-workspaces', () => this._updateWorkspaceItems(),
'workspace-switched', () => this._updateActiveIndicator(),
this.actor);
this._updateWorkspaceItems();
}
get activeName() {
const {workspaceManager} = global;
const active = workspaceManager.get_active_workspace_index();
return Meta.prefs_get_workspace_name(active);
}
_updateWorkspaceItems() {
const {workspaceManager} = global;
const {nWorkspaces} = workspaceManager;
const section = this._workspacesSection.actor;
while (section.get_n_children() < nWorkspaces) {
const item = new EditableMenuItem();
item.connect('activate', (o, event) => {
const index = [...section].indexOf(item);
const workspace = workspaceManager.get_workspace_by_index(index);
workspace?.activate(event.get_time());
});
item.connect('edited', () => {
const nLabels = section.get_n_children();
const oldNames = this._desktopSettings.get_strv('workspace-names');
const newNames = [...section].map(c => c.label.text);
this._desktopSettings.set_strv('workspace-names',
[...newNames, ...oldNames.slice(nLabels)]);
});
this._workspacesSection.addMenuItem(item);
}
[...section].splice(nWorkspaces).forEach(item => item.destroy());
this._updateWorkspaceLabels();
this._updateActiveIndicator();
}
_updateWorkspaceLabels() {
const items = [...this._workspacesSection.actor];
items.forEach(
(item, i) => (item.label.text = Meta.prefs_get_workspace_name(i)));
}
_updateActiveIndicator() {
const {workspaceManager} = global;
const active = workspaceManager.get_active_workspace_index();
const items = [...this._workspacesSection.actor];
items.forEach((item, i) => {
item.setOrnament(i === active
? PopupMenu.Ornament.CHECK
: PopupMenu.Ornament.NONE);
});
this.emit('active-name-changed');
}
}
export class WorkspaceIndicator extends PanelMenu.Button {
static {
GObject.registerClass(this);
@@ -439,6 +601,8 @@ export class WorkspaceIndicator extends PanelMenu.Button {
baseStyleClassName = baseStyleClass;
this.add_style_class_name(baseStyleClassName);
this.setMenu(new WorkspacesMenu(this));
let container = new St.Widget({
layout_manager: new Clutter.BinLayout(),
x_expand: true,
@@ -446,24 +610,34 @@ export class WorkspaceIndicator extends PanelMenu.Button {
});
this.add_child(container);
let workspaceManager = global.workspace_manager;
this._statusBox = new St.BoxLayout();
container.add_child(this._statusBox);
this._currentWorkspace = workspaceManager.get_active_workspace_index();
this._statusLabel = new St.Label({
style_class: 'status-label',
x_expand: true,
y_align: Clutter.ActorAlign.CENTER,
text: this._getStatusText(),
text: this.menu.activeName,
});
container.add_child(this._statusLabel);
this._statusBox.add_child(this._statusLabel);
this._statusBox.add_child(new St.Icon({
icon_name: 'pan-down-symbolic',
style_class: 'system-status-icon',
}));
this.menu.connect('active-name-changed',
() => this._statusLabel.set_text(this.menu.activeName));
this._thumbnails = new WorkspacePreviews();
container.add_child(this._thumbnails);
this._workspacesItems = [];
this._thumbnails.connect('button-press-event', (a, event) => {
if (event.get_button() !== Clutter.BUTTON_SECONDARY)
return Clutter.EVENT_PROPAGATE;
workspaceManager.connectObject(
'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER,
this);
this.menu.toggle();
return Clutter.EVENT_STOP;
});
this.connect('scroll-event',
(a, event) => Main.wm.handleWorkspaceScroll(event));
@@ -491,15 +665,19 @@ export class WorkspaceIndicator extends PanelMenu.Button {
}
_updateThumbnailVisibility() {
const useMenu = !this._settings.get_boolean('embed-previews');
this.reactive = useMenu;
const usePreviews = this._settings.get_boolean('embed-previews');
this.reactive = !usePreviews;
this._statusLabel.visible = useMenu;
this._thumbnails.visible = !useMenu;
this._thumbnails.visible = usePreviews;
this._statusBox.visible = !usePreviews;
this.setMenu(useMenu
? this._createPreviewMenu()
: null);
if (usePreviews) {
this.add_style_class_name('previews');
this.remove_style_class_name('name-label');
} else {
this.remove_style_class_name('previews');
this.add_style_class_name('name-label');
}
this._updateTopBarRedirect();
}
@@ -514,24 +692,4 @@ export class WorkspaceIndicator extends PanelMenu.Button {
? Clutter.OffscreenRedirect.ALWAYS
: Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
}
_onWorkspaceSwitched() {
this._currentWorkspace = global.workspace_manager.get_active_workspace_index();
this._statusLabel.set_text(this._getStatusText());
}
_getStatusText() {
const {nWorkspaces} = global.workspace_manager;
const current = this._currentWorkspace + 1;
return `${current} / ${nWorkspaces}`;
}
_createPreviewMenu() {
const menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.TOP);
const previews = new WorkspacePreviews({show_labels: true});
menu.box.add_child(previews);
menu.actor.add_style_class_name(`${baseStyleClassName}-menu`);
return menu;
}
}

View File

@@ -5,213 +5,116 @@
import Adw from 'gi://Adw';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
import Gtk from 'gi://Gtk';
import {gettext as _} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
const N_ = e => e;
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
const WORKSPACE_KEY = 'workspace-names';
class GeneralGroup extends Adw.PreferencesGroup {
static {
GObject.registerClass(this);
}
constructor(settings) {
super();
const row = new Adw.SwitchRow({
title: _('Show Previews'),
super({
title: _('Indicator'),
});
this.add(row);
const previewCheck = new Gtk.CheckButton();
const previewRow = new Adw.ActionRow({
title: _('Previews'),
activatable_widget: previewCheck,
});
previewRow.add_prefix(previewCheck);
this.add(previewRow);
const nameCheck = new Gtk.CheckButton({
group: previewCheck,
});
const nameRow = new Adw.ActionRow({
title: _('Workspace Name'),
activatable_widget: nameCheck,
});
nameRow.add_prefix(nameCheck);
this.add(nameRow);
if (settings.get_boolean('embed-previews'))
previewCheck.active = true;
else
nameCheck.active = true;
settings.bind('embed-previews',
row, 'active',
previewCheck, 'active',
Gio.SettingsBindFlags.DEFAULT);
}
}
class NewItem extends GObject.Object {}
GObject.registerClass(NewItem);
class NewItemModel extends GObject.Object {
static [GObject.interfaces] = [Gio.ListModel];
class BehaviorGroup extends Adw.PreferencesGroup {
static {
GObject.registerClass(this);
}
#item = new NewItem();
vfunc_get_item_type() {
return NewItem;
}
vfunc_get_n_items() {
return 1;
}
vfunc_get_item(_pos) {
return this.#item;
}
}
class WorkspacesList extends GObject.Object {
static [GObject.interfaces] = [Gio.ListModel];
static {
GObject.registerClass(this);
}
#settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
#names = this.#settings.get_strv(WORKSPACE_KEY);
#items = Gtk.StringList.new(this.#names);
#changedId;
constructor() {
super();
this.#changedId =
this.#settings.connect(`changed::${WORKSPACE_KEY}`, () => {
const removed = this.#names.length;
this.#names = this.#settings.get_strv(WORKSPACE_KEY);
this.#items.splice(0, removed, this.#names);
this.items_changed(0, removed, this.#names.length);
});
}
append() {
const name = _('Workspace %d').format(this.#names.length + 1);
this.#names.push(name);
this.#settings.block_signal_handler(this.#changedId);
this.#settings.set_strv(WORKSPACE_KEY, this.#names);
this.#settings.unblock_signal_handler(this.#changedId);
const pos = this.#items.get_n_items();
this.#items.append(name);
this.items_changed(pos, 0, 1);
}
remove(name) {
const pos = this.#names.indexOf(name);
if (pos < 0)
return;
this.#names.splice(pos, 1);
this.#settings.block_signal_handler(this.#changedId);
this.#settings.set_strv(WORKSPACE_KEY, this.#names);
this.#settings.unblock_signal_handler(this.#changedId);
this.#items.remove(pos);
this.items_changed(pos, 1, 0);
}
rename(oldName, newName) {
const pos = this.#names.indexOf(oldName);
if (pos < 0)
return;
this.#names.splice(pos, 1, newName);
this.#items.splice(pos, 1, [newName]);
this.#settings.block_signal_handler(this.#changedId);
this.#settings.set_strv(WORKSPACE_KEY, this.#names);
this.#settings.unblock_signal_handler(this.#changedId);
}
vfunc_get_item_type() {
return Gtk.StringObject;
}
vfunc_get_n_items() {
return this.#items.get_n_items();
}
vfunc_get_item(pos) {
return this.#items.get_item(pos);
}
}
class WorkspacesGroup extends Adw.PreferencesGroup {
static {
GObject.registerClass(this);
this.install_action('workspaces.add', null,
self => self._workspaces.append());
this.install_action('workspaces.remove', 's',
(self, name, param) => self._workspaces.remove(param.unpack()));
this.install_action('workspaces.rename', '(ss)',
(self, name, param) => self._workspaces.rename(...param.deepUnpack()));
}
constructor() {
super({
title: _('Workspace Names'),
title: _('Behavior'),
});
this._workspaces = new WorkspacesList();
const store = new Gio.ListStore({item_type: Gio.ListModel});
const listModel = new Gtk.FlattenListModel({model: store});
store.append(this._workspaces);
store.append(new NewItemModel());
this._list = new Gtk.ListBox({
selection_mode: Gtk.SelectionMode.NONE,
css_classes: ['boxed-list'],
const dynamicCheck = new Gtk.CheckButton();
const dynamicRow = new Adw.ActionRow({
title: _('Dynamic'),
subtitle: _('Automatically removes empty workspaces.'),
activatable_widget: dynamicCheck,
});
this.add(this._list);
dynamicRow.add_prefix(dynamicCheck);
this.add(dynamicRow);
const newRowProps = {
title: _('Add Workspace'),
action_name: 'workspaces.add',
start_icon_name: 'list-add-symbolic',
};
this._list.bind_model(listModel, item => {
return item instanceof NewItem
? new Adw.ButtonRow({...newRowProps})
: new WorkspaceRow(item.string);
const fixedCheck = new Gtk.CheckButton({
group: dynamicCheck,
});
}
}
const fixedRow = new Adw.ActionRow({
title: _('Fixed Number'),
subtitle: _('Specify a number of permanent workspaces.'),
activatable_widget: fixedCheck,
});
fixedRow.add_prefix(fixedCheck);
this.add(fixedRow);
class WorkspaceRow extends Adw.EntryRow {
static {
GObject.registerClass(this);
}
const adjustment = new Gtk.Adjustment({
lower: 1,
step_increment: 1,
value: 4,
upper: 36, // hard limit in mutter
});
const numRow = new Adw.SpinRow({
title: _('Number of Workspaces'),
adjustment,
});
this.add(numRow);
constructor(name) {
super({
name,
text: name,
const mutterSettings = new Gio.Settings({
schema_id: 'org.gnome.mutter',
});
const button = new Gtk.Button({
tooltip_text: _('Remove'),
action_name: 'workspaces.remove',
icon_name: 'edit-delete-symbolic',
has_frame: false,
halign: Gtk.Align.CENTER,
valign: Gtk.Align.CENTER,
});
this.add_suffix(button);
if (mutterSettings.get_boolean('dynamic-workspaces'))
dynamicCheck.active = true;
else
fixedCheck.active = true;
this.bind_property_full('name',
button, 'action-target',
GObject.BindingFlags.SYNC_CREATE,
(bind, target) => [true, new GLib.Variant('s', target)],
null);
mutterSettings.bind('dynamic-workspaces',
dynamicCheck, 'active',
Gio.SettingsBindFlags.DEFAULT);
this.connect('changed', () => {
this.activate_action('workspaces.rename',
new GLib.Variant('(ss)', [this.name, this.text]));
this.name = this.text;
const desktopSettings = new Gio.Settings({
schema_id: 'org.gnome.desktop.wm.preferences',
});
desktopSettings.bind('num-workspaces',
numRow, 'value',
Gio.SettingsBindFlags.DEFAULT);
fixedCheck.bind_property('active',
numRow, 'sensitive',
GObject.BindingFlags.SYNC_CREATE);
}
}
@@ -227,6 +130,6 @@ export class WorkspacesPage extends Adw.PreferencesPage {
});
this.add(new GeneralGroup(settings));
this.add(new WorkspacesGroup());
this.add(new BehaviorGroup());
}
}

View File

@@ -1,273 +0,0 @@
---
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
# SPDX-FileCopyrightText: 2018 Claudio André <claudioandre.br@gmail.com>
env:
es2021: true
extends: 'eslint:recommended'
plugins:
- jsdoc
rules:
array-bracket-newline:
- error
- consistent
array-bracket-spacing:
- error
- never
array-callback-return: error
arrow-parens:
- error
- as-needed
arrow-spacing: error
block-scoped-var: error
block-spacing: error
brace-style: error
# Waiting for this to have matured a bit in eslint
# camelcase:
# - error
# - properties: never
# allow: [^vfunc_, ^on_, _instance_init]
comma-dangle:
- error
- arrays: always-multiline
objects: always-multiline
functions: never
comma-spacing:
- error
- before: false
after: true
comma-style:
- error
- last
computed-property-spacing: error
curly:
- error
- multi-or-nest
- consistent
dot-location:
- error
- property
eol-last: error
eqeqeq: error
func-call-spacing: error
func-name-matching: error
func-style:
- error
- declaration
- allowArrowFunctions: true
indent:
- error
- 4
- ignoredNodes:
# Allow not indenting the body of GObject.registerClass, since in the
# future it's intended to be a decorator
- 'CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child'
# Allow dedenting chained member expressions
MemberExpression: 'off'
jsdoc/check-alignment: error
jsdoc/check-param-names: error
jsdoc/check-tag-names: error
jsdoc/check-types: error
jsdoc/implements-on-classes: error
jsdoc/tag-lines:
- error
- any
- startLines: 1
jsdoc/require-jsdoc: error
jsdoc/require-param: error
jsdoc/require-param-description: error
jsdoc/require-param-name: error
jsdoc/require-param-type: error
key-spacing:
- error
- beforeColon: false
afterColon: true
keyword-spacing:
- error
- before: true
after: true
linebreak-style:
- error
- unix
lines-between-class-members:
- error
- always
- exceptAfterSingleLine: true
max-nested-callbacks: error
max-statements-per-line: error
new-parens: error
no-array-constructor: error
no-await-in-loop: error
no-caller: error
no-constant-condition:
- error
- checkLoops: false
no-div-regex: error
no-empty:
- error
- allowEmptyCatch: true
no-extra-bind: error
no-extra-parens:
- error
- all
- conditionalAssign: false
nestedBinaryExpressions: false
returnAssign: false
no-implicit-coercion:
- error
- allow:
- '!!'
no-invalid-this: error
no-iterator: error
no-label-var: error
no-lonely-if: error
no-loop-func: error
no-nested-ternary: error
no-new-object: error
no-new-wrappers: error
no-octal-escape: error
no-proto: error
no-prototype-builtins: 'off'
no-restricted-globals: [error, window]
no-restricted-properties:
- error
- object: imports
property: format
message: Use template strings
- object: pkg
property: initFormat
message: Use template strings
- object: Lang
property: copyProperties
message: Use Object.assign()
- object: Lang
property: bind
message: Use arrow notation or Function.prototype.bind()
- object: Lang
property: Class
message: Use ES6 classes
no-restricted-syntax:
- error
- selector: >-
MethodDefinition[key.name="_init"] >
FunctionExpression[params.length=1] >
BlockStatement[body.length=1]
CallExpression[arguments.length=1][callee.object.type="Super"][callee.property.name="_init"] >
Identifier:first-child
message: _init() that only calls super._init() is unnecessary
- selector: >-
MethodDefinition[key.name="_init"] >
FunctionExpression[params.length=0] >
BlockStatement[body.length=1]
CallExpression[arguments.length=0][callee.object.type="Super"][callee.property.name="_init"]
message: _init() that only calls super._init() is unnecessary
- selector: BinaryExpression[operator="instanceof"][right.name="Array"]
message: Use Array.isArray()
no-return-assign: error
no-return-await: error
no-self-compare: error
no-shadow: error
no-shadow-restricted-names: error
no-spaced-func: error
no-tabs: error
no-template-curly-in-string: error
no-throw-literal: error
no-trailing-spaces: error
no-undef-init: error
no-unneeded-ternary: error
no-unused-expressions: error
no-unused-vars:
- error
# Vars use a suffix _ instead of a prefix because of file-scope private vars
- varsIgnorePattern: (^unused|_$)
argsIgnorePattern: ^(unused|_)
no-useless-call: error
no-useless-computed-key: error
no-useless-concat: error
no-useless-constructor: error
no-useless-rename: error
no-useless-return: error
no-whitespace-before-property: error
no-with: error
nonblock-statement-body-position:
- error
- below
object-curly-newline:
- error
- consistent: true
multiline: true
object-curly-spacing: error
object-shorthand: error
operator-assignment: error
operator-linebreak: error
padded-blocks:
- error
- never
# These may be a bit controversial, we can try them out and enable them later
# prefer-const: error
# prefer-destructuring: error
prefer-numeric-literals: error
prefer-promise-reject-errors: error
prefer-rest-params: error
prefer-spread: error
prefer-template: error
quotes:
- error
- single
- avoidEscape: true
require-await: error
rest-spread-spacing: error
semi:
- error
- always
semi-spacing:
- error
- before: false
after: true
semi-style: error
space-before-blocks: error
space-before-function-paren:
- error
- named: never
# for `function ()` and `async () =>`, preserve space around keywords
anonymous: always
asyncArrow: always
space-in-parens: error
space-infix-ops:
- error
- int32Hint: false
space-unary-ops: error
spaced-comment: error
switch-colon-spacing: error
symbol-description: error
template-curly-spacing: error
template-tag-spacing: error
unicode-bom: error
wrap-iife:
- error
- inside
yield-star-spacing: error
yoda: error
settings:
jsdoc:
mode: typescript
globals:
ARGV: readonly
Debugger: readonly
GIRepositoryGType: readonly
globalThis: readonly
imports: readonly
Intl: readonly
log: readonly
logError: readonly
print: readonly
printerr: readonly
window: readonly
TextEncoder: readonly
TextDecoder: readonly
console: readonly
setTimeout: readonly
setInterval: readonly
clearTimeout: readonly
clearInterval: readonly
parserOptions:
ecmaVersion: 2022

View File

@@ -1,24 +0,0 @@
# SPDX-FileCopyrightText: 2019 Florian Müllner <fmuellner@gnome.org>
#
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
rules:
camelcase:
- error
- properties: never
allow: [^vfunc_, ^on_]
consistent-return: error
eqeqeq:
- error
- smart
prefer-arrow-callback: error
jsdoc/require-param-description: off
jsdoc/require-jsdoc:
- error
- exemptEmptyFunctions: true
publicOnly:
esm: true
globals:
global: readonly
parserOptions:
sourceType: module

View File

@@ -4,7 +4,7 @@
project(
'gnome-shell-extensions',
version: '48.1',
version: '49.beta',
meson_version: '>= 1.1.0',
license: 'GPL-2.0-or-later',
)
@@ -31,6 +31,8 @@ shell_version = ver_arr[0]
uuid_suffix = '@gnome-shell-extensions.gcampax.github.com'
have_x11 = get_option('x11')
classic_extensions = [
'apps-menu',
'places-menu',
@@ -86,10 +88,12 @@ endforeach
if classic_mode_enabled
subdir('data')
meson.add_install_script(
'meson/session-post-install.py',
join_paths(get_option('prefix'), datadir),
)
if have_x11
meson.add_install_script(
'build-aux/session-post-install.py',
join_paths(get_option('prefix'), datadir),
)
endif
endif
subdir('extensions')
@@ -97,7 +101,7 @@ subdir('po')
gnome.post_install(glib_compile_schemas: true)
meson.add_dist_script('meson/check-version.py', meson.project_version(), 'NEWS')
meson.add_dist_script('build-aux/check-version.py', meson.project_version(), 'NEWS')
summary_options = {
'extensions': enabled_extensions,

View File

@@ -20,3 +20,9 @@ option('classic_mode',
value: false,
description: 'Enable installing data files for classic mode.'
)
option('x11',
type: 'boolean',
value: false,
description: 'Enable X11 session support.'
)

136
po/be.po
View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-10-16 14:41+0000\n"
"PO-Revision-Date: 2024-10-22 16:27+0300\n"
"POT-Creation-Date: 2025-06-18 23:32+0000\n"
"PO-Revision-Date: 2025-06-21 15:51+0300\n"
"Last-Translator: Yuras Shumovich <shumovichy@gmail.com>\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
"Language: be\n"
@@ -37,11 +37,11 @@ msgstr "Класічны GNOME на Wayland"
msgid "GNOME Classic on Xorg"
msgstr "Класічны GNOME на Xorg"
#: extensions/apps-menu/extension.js:126
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Абраныя"
#: extensions/apps-menu/extension.js:400
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Праграмы"
@@ -57,17 +57,17 @@ msgstr ""
"Спіс радкоў, кожны з якіх змяшчае ідэнтыфікатар праграмы (імя файла *."
"desktop), затым двукроп'е і нумар працоўнай прасторы"
#: extensions/auto-move-windows/prefs.js:159
#: extensions/auto-move-windows/prefs.js:156
msgid "Workspace Rules"
msgstr "Правілы для працоўнай прасторы"
#: extensions/auto-move-windows/prefs.js:314
#: extensions/auto-move-windows/prefs.js:311
msgid "Add Rule"
msgstr "Дадаць правіла"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:187
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Не ўдалося выняць дыск «%s»:"
@@ -109,38 +109,38 @@ msgstr ""
"перадвызначана). Каб змена налады ўступіла ў сілу, трэба перазапусціць "
"абалонку."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Месцы"
#: extensions/places-menu/placeDisplay.js:53
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Не ўдалося запусціць «%s»"
#: extensions/places-menu/placeDisplay.js:68
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Не ўдалося прымацаваць том для «%s»."
#: extensions/places-menu/placeDisplay.js:316
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Хатняя папка"
#: extensions/places-menu/placeDisplay.js:322
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Нядаўнія"
#: extensions/places-menu/placeDisplay.js:328
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "Абраныя"
#: extensions/places-menu/placeDisplay.js:348
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Сетка"
#: extensions/places-menu/placeDisplay.js:355
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Сметніца"
@@ -232,47 +232,47 @@ msgstr "Назва тэмы"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Назва тэмы, што загрузіцца з ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:92
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Закрыць"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Скасаваць згортванне"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Згарнуць"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Скасаваць разгортванне"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Разгарнуць"
#: extensions/window-list/extension.js:641
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "Згарнуць усе"
#: extensions/window-list/extension.js:647
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "Скасаваць згортванне для ўсіх"
#: extensions/window-list/extension.js:653
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "Разгарнуць усе"
#: extensions/window-list/extension.js:661
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "Скасаваць разгортванне для ўсіх"
#: extensions/window-list/extension.js:669
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "Закрыць усе"
#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Спіс вокнаў"
@@ -289,7 +289,7 @@ msgstr ""
"значэнні: «never» (ніколі), «auto» (аўтаматычна), «always» (заўсёды)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Паказваць вокны з усіх працоўных прастор"
@@ -312,23 +312,23 @@ msgstr ""
msgid "Show workspace previews in window list"
msgstr "Паказваць папярэдні прагляд працоўных прастор у спісе акон"
#: extensions/window-list/prefs.js:42
#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "Групаванне вокнаў"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Ніколі не групаваць вокны"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Групаваць вокны калі не хапае месца"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Заўсёды групаваць вокны"
#: extensions/window-list/prefs.js:69
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "Паказваць на ўсіх маніторах"
@@ -336,35 +336,69 @@ msgstr "Паказваць на ўсіх маніторах"
msgid "Show workspace previews in top bar"
msgstr "Паказваць папярэдні прагляд працоўных прастор у верхняй панэлі"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Націсніце %s, каб змяніць"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "Налады"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "Індыкатар працоўнай прасторы"
#: extensions/workspace-indicator/workspacePrefs.js:29
msgid "Show Previews"
msgstr "Паказваць папярэдні прагляд"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Індыкатар"
#: extensions/workspace-indicator/workspacePrefs.js:87
#, javascript-format
msgid "Workspace %d"
msgstr "Працоўная прастора %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Перадпрагляд"
#: extensions/workspace-indicator/workspacePrefs.js:154
msgid "Workspace Names"
msgstr "Назвы працоўных прастор"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Назва працоўнай прасторы"
#: extensions/workspace-indicator/workspacePrefs.js:171
msgid "Add Workspace"
msgstr "Дадаць працоўную прастору"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Паводзіны"
#: extensions/workspace-indicator/workspacePrefs.js:196
msgid "Remove"
msgstr "Выдаліць"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Дынамічная"
#: extensions/workspace-indicator/workspacePrefs.js:226
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Пустыя працоўныя прасторы выдаляюцца аўтаматычна."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Фіксаваная колькасць'"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Вызначыце колькасць пастаянных працоўных прастор."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Колькасць працоўных прастор"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Працоўныя прасторы"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "Працоўная прастора %d"
#~ msgid "Add Workspace"
#~ msgstr "Дадаць працоўную прастору"
#~ msgid "Remove"
#~ msgstr "Выдаліць"
#~ msgid "Computer"
#~ msgstr "Камп'ютар"

138
po/ca.po
View File

@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-10-16 14:41+0000\n"
"PO-Revision-Date: 2024-10-20 21:54+0200\n"
"POT-Creation-Date: 2025-06-18 23:32+0000\n"
"PO-Revision-Date: 2025-06-29 09:56+0200\n"
"Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
"Language: ca\n"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-DamnedLies-Scope: partial\n"
"X-Generator: Poedit 2.4.2\n"
"X-Generator: Poedit 3.2.2\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
@@ -38,11 +38,11 @@ msgstr "GNOME clàssic amb Wayland"
msgid "GNOME Classic on Xorg"
msgstr "GNOME clàssic amb Xorg"
#: extensions/apps-menu/extension.js:126
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Preferides"
#: extensions/apps-menu/extension.js:400
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Aplicacions"
@@ -59,17 +59,17 @@ msgstr ""
"d'aplicació (nom del fitxer de l'escriptori), seguit de dos punts i el "
"número de l'espai de treball"
#: extensions/auto-move-windows/prefs.js:159
#: extensions/auto-move-windows/prefs.js:156
msgid "Workspace Rules"
msgstr "Regles dels espais de treball"
#: extensions/auto-move-windows/prefs.js:314
#: extensions/auto-move-windows/prefs.js:311
msgid "Add Rule"
msgstr "Afegeix una regla"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:187
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Ha fallat l'expulsió de la unitat «%s»:"
@@ -113,38 +113,38 @@ msgstr ""
"posicionar-lo a baix. Cal reiniciar el Shell per tal que aquest canvi tingui "
"efecte."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Llocs"
#: extensions/places-menu/placeDisplay.js:53
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "No s'ha pogut iniciar «%s»"
#: extensions/places-menu/placeDisplay.js:68
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "No s'ha pogut muntar el volum «%s»"
#: extensions/places-menu/placeDisplay.js:316
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Inici"
#: extensions/places-menu/placeDisplay.js:322
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Recent"
#: extensions/places-menu/placeDisplay.js:328
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "Destacat"
#: extensions/places-menu/placeDisplay.js:348
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Xarxa"
#: extensions/places-menu/placeDisplay.js:355
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Paperera"
@@ -236,47 +236,47 @@ msgstr "Nom del tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "El nom del tema que es carregarà des de ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:92
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Tanca"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Desminimitza"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Minimitza"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Desmaximitza"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Maximitza"
#: extensions/window-list/extension.js:641
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "Minimitza-ho tot"
#: extensions/window-list/extension.js:647
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "Desminimitza-ho tot"
#: extensions/window-list/extension.js:653
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "Maximitza-ho tot"
#: extensions/window-list/extension.js:661
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "Desmaximitza-ho tot"
#: extensions/window-list/extension.js:669
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "Tanca-ho tot"
#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Llista de finestres"
@@ -294,7 +294,7 @@ msgstr ""
"«auto» (automàticament) i «always» (sempre)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Mostra les finestres de tots els espais de treball"
@@ -321,23 +321,23 @@ msgid "Show workspace previews in window list"
msgstr ""
"Mostra les previsualitzacions dels espais de treball a la llista de finestres"
#: extensions/window-list/prefs.js:42
#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "Agrupació de finestres"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Mai agrupis les finestres"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Agrupa les finestres quan l'espai estigui limitat"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Agrupa les finestres sempre"
#: extensions/window-list/prefs.js:69
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "Mostra a tots els monitors"
@@ -346,35 +346,69 @@ msgid "Show workspace previews in top bar"
msgstr ""
"Mostra les previsualitzacions dels espais de treball a la barra superior"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Premeu %s per editar"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "Paràmetres"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "Indicador de l'espai de treball"
#: extensions/workspace-indicator/workspacePrefs.js:29
msgid "Show Previews"
msgstr "Mostra previsualitzacions"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Indicador"
#: extensions/workspace-indicator/workspacePrefs.js:87
#, javascript-format
msgid "Workspace %d"
msgstr "Espai de treball %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Previsualitzacions"
#: extensions/workspace-indicator/workspacePrefs.js:154
msgid "Workspace Names"
msgstr "Noms dels espais de treball"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Nom de l'espai de treball"
#: extensions/workspace-indicator/workspacePrefs.js:171
msgid "Add Workspace"
msgstr "Afegeix un espai de treball"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Comportament"
#: extensions/workspace-indicator/workspacePrefs.js:196
msgid "Remove"
msgstr "Suprimeix"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Dinàmica"
#: extensions/workspace-indicator/workspacePrefs.js:226
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Suprimeix automàticament els espais de treball buits."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Nombre fix"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Especifiqueu un nombre d'espais de treball permanents."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Nombre d'espais de treball"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Espais de treball"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "Espai de treball %d"
#~ msgid "Add Workspace"
#~ msgstr "Afegeix un espai de treball"
#~ msgid "Remove"
#~ msgstr "Suprimeix"
#~ msgid "Computer"
#~ msgstr "Ordinador"

View File

@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2025-03-14 00:48+0000\n"
"PO-Revision-Date: 2025-04-01 07:14+0330\n"
"POT-Creation-Date: 2025-07-01 22:52+0000\n"
"PO-Revision-Date: 2025-07-29 14:01+0330\n"
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
"Language-Team: Persian <>\n"
"Language: fa\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.5\n"
"X-Generator: Poedit 3.6\n"
"X-DamnedLies-Scope: partial\n"
"X-Poedit-SourceCharset: utf-8\n"
@@ -232,47 +232,47 @@ msgstr "نام تم"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "نام تم، جهت بارگیری از شاخه themes/name/gnome-shell./~"
#: extensions/window-list/extension.js:95
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "خروج"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "ناکمینه"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "کمینه"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "نابیشینه"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "بیشنه"
#: extensions/window-list/extension.js:721
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "کمینهٔ همه"
#: extensions/window-list/extension.js:727
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "ناکمینهٔ همه"
#: extensions/window-list/extension.js:733
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "بیشینهٔ همه"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "نابیشینهٔ همه"
#: extensions/window-list/extension.js:749
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "بستن همه"
#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "فهرست پنجره"
@@ -337,35 +337,69 @@ msgstr "نمایش در تمام نمایشگرها"
msgid "Show workspace previews in top bar"
msgstr "پیش‌نمایش فضاهای کاری در نوار بالایی"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "زدن %s برای ویرایش"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "تنظیمات"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "نشانگر فضای‌کاری"
#: extensions/workspace-indicator/workspacePrefs.js:28
msgid "Show Previews"
msgstr "نمایش پیش‌نمایش‌ها"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "نشانگر"
#: extensions/workspace-indicator/workspacePrefs.js:86
#, javascript-format
msgid "Workspace %d"
msgstr "فضای کاری %Id"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "پیش‌نمایش‌ها"
#: extensions/workspace-indicator/workspacePrefs.js:153
msgid "Workspace Names"
msgstr "نام‌های فضای کاری"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "نام فضای کاری"
#: extensions/workspace-indicator/workspacePrefs.js:170
msgid "Add Workspace"
msgstr "افزودن فضای‌کاری"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "رفتار"
#: extensions/workspace-indicator/workspacePrefs.js:195
msgid "Remove"
msgstr "برداشتن"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "پویا"
#: extensions/workspace-indicator/workspacePrefs.js:225
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "برداشتن خودکار فضاهای کاری خالی."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "تعداد ثابت"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "تعیین تعدادی فضای کاری ثابت."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "شمار فضاهای کاری"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "فضاهای کاری"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "فضای کاری %Id"
#~ msgid "Add Workspace"
#~ msgstr "افزودن فضای‌کاری"
#~ msgid "Remove"
#~ msgstr "برداشتن"
#~ msgid "Computer"
#~ msgstr "رایانه"

143
po/gl.po
View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-04-29 15:27+0000\n"
"PO-Revision-Date: 2024-09-02 20:15+0200\n"
"POT-Creation-Date: 2025-04-11 01:52+0000\n"
"PO-Revision-Date: 2025-04-15 21:11+0200\n"
"Last-Translator: Fran Dieguez <fran.dieguez@gnome.org>\n"
"Language-Team: Galician <proxecto@trasno.gal>\n"
"Language: gl\n"
@@ -44,11 +44,11 @@ msgstr "GNOME clásico en Wayland"
msgid "GNOME Classic on Xorg"
msgstr "GNOME clásico en Xorg"
#: extensions/apps-menu/extension.js:126
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Favoritos"
#: extensions/apps-menu/extension.js:400
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Aplicacións"
@@ -64,17 +64,17 @@ msgstr ""
"Unha lista de cadeas, cada unha das cales contén un id de aplicación (nome "
"de ficheiro desktop), seguido por unha coma e o número do espazo de traballo"
#: extensions/auto-move-windows/prefs.js:159
#: extensions/auto-move-windows/prefs.js:156
msgid "Workspace Rules"
msgstr "Regras da área de traballo"
#: extensions/auto-move-windows/prefs.js:314
#: extensions/auto-move-windows/prefs.js:311
msgid "Add Rule"
msgstr "Engadir regra"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:218
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Fallo ao extraer a unidade «%s»:"
@@ -97,10 +97,9 @@ msgid ""
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Tente usar mais pantalla para dispor as miniaturas das xanelas adaptándose "
"á taxa de aspecto da pantalla e consolidalas para reducir a caixa "
"envolvente. Esta configuración aplícase só para a estratexia de disposición "
"natural."
"Tente usar mais pantalla para dispor as miniaturas das xanelas adaptándose á "
"taxa de aspecto da pantalla e consolidalas para reducir a caixa envolvente. "
"Esta configuración aplícase só para a estratexia de disposición natural."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top"
@@ -116,33 +115,40 @@ msgstr ""
"respectiva, omitindo a disposición inferior por omisión do shell. Se cambia "
"esta configuración deberá reiniciar o shell para que se apliquen os cambios."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Lugares"
#: extensions/places-menu/placeDisplay.js:60
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Produciuse un fallo ao iniciar «%s»"
#: extensions/places-menu/placeDisplay.js:75
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Produciuse un fallo ao montar o volume para «%s»"
#: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:158
msgid "Computer"
msgstr "Computador"
#: extensions/places-menu/placeDisplay.js:333
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Cartafol persoal"
#: extensions/places-menu/placeDisplay.js:378
msgid "Browse Network"
msgstr "Explorar a rede"
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Recente"
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr ""
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Rede"
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Lixo"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes"
@@ -232,47 +238,47 @@ msgstr "Nome do tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "O nome do tema, a cargar desde ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:72
#: extensions/window-list/extension.js:95
msgid "Close"
msgstr "Pechar"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:122
msgid "Unminimize"
msgstr "Restabelecer"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:122
msgid "Minimize"
msgstr "Minimizar"
#: extensions/window-list/extension.js:106
#: extensions/window-list/extension.js:129
msgid "Unmaximize"
msgstr "Restaurar"
#: extensions/window-list/extension.js:106
#: extensions/window-list/extension.js:129
msgid "Maximize"
msgstr "Maximizar"
#: extensions/window-list/extension.js:471
#: extensions/window-list/extension.js:721
msgid "Minimize all"
msgstr "Minimizar todo"
#: extensions/window-list/extension.js:477
#: extensions/window-list/extension.js:727
msgid "Unminimize all"
msgstr "Restaurar todo"
#: extensions/window-list/extension.js:483
#: extensions/window-list/extension.js:733
msgid "Maximize all"
msgstr "Maximizar todo"
#: extensions/window-list/extension.js:491
#: extensions/window-list/extension.js:741
msgid "Unmaximize all"
msgstr "Restaurar todo"
#: extensions/window-list/extension.js:499
#: extensions/window-list/extension.js:749
msgid "Close all"
msgstr "Pechar todo"
#: extensions/window-list/extension.js:778
#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Lista de xanelas"
@@ -290,15 +296,14 @@ msgstr ""
"(sempre)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:79
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Mostrar as xanelas de todos os espazos de traballo"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Whether to show windows from all workspaces or only the current one."
msgstr ""
"Indica se mostrar as xanelas de todos os espazos de traballo ou só no "
"actual."
"Indica se mostrar as xanelas de todos os espazos de traballo ou só no actual."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors"
@@ -316,47 +321,26 @@ msgstr ""
msgid "Show workspace previews in window list"
msgstr "Mostras as vistas previas do espazo de traballo na lista de xanelas"
#: extensions/window-list/prefs.js:35
#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "Agrupación de xanelas"
#: extensions/window-list/prefs.js:40
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Non agrupar nunca as xanelas"
#: extensions/window-list/prefs.js:41
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Agrupar as xanelas cando o espazo é limitado"
#: extensions/window-list/prefs.js:42
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Agrupar sempre as xanelas"
#: extensions/window-list/prefs.js:66
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "Mostrar en todos os monitores"
#: extensions/window-list/prefs.js:92
msgid "Show workspace previews"
msgstr "Mostrar a vista previa dos espazo de traballo"
#: extensions/workspace-indicator/prefs.js:30
msgid "Show Previews In Top Bar"
msgstr "Mostrar as vistas previas na barra superior"
#: extensions/workspace-indicator/prefs.js:88
#, javascript-format
msgid "Workspace %d"
msgstr "Espazos de traballo %d"
#: extensions/workspace-indicator/prefs.js:155
msgid "Workspace Names"
msgstr "Nomes dos espazos de traballo"
#: extensions/workspace-indicator/prefs.js:281
msgid "Add Workspace"
msgstr "Engadir área de traballo"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Mostrar as vistas previas do espazo de traballo na barra superior"
@@ -365,6 +349,37 @@ msgstr "Mostrar as vistas previas do espazo de traballo na barra superior"
msgid "Workspace Indicator"
msgstr "Indicador de espazo de traballo"
#: extensions/workspace-indicator/workspacePrefs.js:28
msgid "Show Previews"
msgstr "Mostrar vistas previas"
#: extensions/workspace-indicator/workspacePrefs.js:86
#, javascript-format
msgid "Workspace %d"
msgstr "Espazos de traballo %d"
#: extensions/workspace-indicator/workspacePrefs.js:153
msgid "Workspace Names"
msgstr "Nomes dos espazos de traballo"
#: extensions/workspace-indicator/workspacePrefs.js:170
msgid "Add Workspace"
msgstr "Engadir área de traballo"
#: extensions/workspace-indicator/workspacePrefs.js:195
msgid "Remove"
msgstr "Eliminar"
#: extensions/workspace-indicator/workspacePrefs.js:225
msgid "Workspaces"
msgstr "Espazos de traballo"
#~ msgid "Computer"
#~ msgstr "Computador"
#~ msgid "Show workspace previews"
#~ msgstr "Mostrar a vista previa dos espazo de traballo"
#~ msgid "Applications"
#~ msgstr "Aplicacións"

View File

@@ -9,10 +9,10 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions main\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2025-02-13 00:15+0000\n"
"PO-Revision-Date: 2025-02-14 10:36-0300\n"
"POT-Creation-Date: 2025-05-15 14:23+0000\n"
"PO-Revision-Date: 2025-05-26 20:20-0400\n"
"Last-Translator: Emilio Sepúlveda <emism.translations@gmail.com>\n"
"Language-Team: Interlingua\n"
"Language-Team: Interlingua <softinterlingua@gmail.com>\n"
"Language: ia\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,7 +23,7 @@ msgstr ""
"X-DL-Domain: po\n"
"X-DL-State: Translating\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Gtranslator 47.1\n"
"X-Generator: Gtranslator 48.0\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
@@ -42,11 +42,11 @@ msgstr "GNOME Classic sur Wayland"
msgid "GNOME Classic on Xorg"
msgstr "GNOME Classic sur Xorg"
#: extensions/apps-menu/extension.js:125
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Favoritos"
#: extensions/apps-menu/extension.js:399
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Applicationes"
@@ -172,7 +172,7 @@ msgstr "Statos del intercambio"
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "Statisticas de carga"
msgstr "Statisticas de incarga"
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
@@ -200,7 +200,7 @@ msgstr "Intercambio"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "Carga"
msgstr "Incarga"
#: extensions/system-monitor/extension.js:422
msgid "Download"
@@ -224,7 +224,7 @@ msgstr "Monstrar usage del intercambio"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "Monstrar carga"
msgstr "Monstrar incarga"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
@@ -236,7 +236,7 @@ msgstr "Nomine de thema"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Le nomine del thema a cargar desde ~/.themes/nomine/gnome-shell"
msgstr "Le nomine del thema a cargar ab ~/.themes/nomine/gnome-shell"
#: extensions/window-list/extension.js:95
msgid "Close"
@@ -250,35 +250,35 @@ msgstr "Disminimisar"
msgid "Minimize"
msgstr "Minimisar"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:127
msgid "Unmaximize"
msgstr "Dismaximisar"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:127
msgid "Maximize"
msgstr "Maximisar"
#: extensions/window-list/extension.js:721
#: extensions/window-list/extension.js:719
msgid "Minimize all"
msgstr "Minimisar toto"
#: extensions/window-list/extension.js:727
#: extensions/window-list/extension.js:725
msgid "Unminimize all"
msgstr "Disminimisar toto"
#: extensions/window-list/extension.js:733
#: extensions/window-list/extension.js:731
msgid "Maximize all"
msgstr "Maximisar toto"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:739
msgid "Unmaximize all"
msgstr "Dismaximisar toto"
#: extensions/window-list/extension.js:749
#: extensions/window-list/extension.js:747
msgid "Close all"
msgstr "Clauder toto"
#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23
#: extensions/window-list/extension.js:990 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Lista de fenestras"

353
po/ja.po
View File

@@ -1,5 +1,5 @@
# gnome-shell-extensions ja.po
# Copyright (C) 2011, 2013-2015, 2019-2020, 2022 gnome-shell-extensions's COPYRIGHT HOLDER
# Copyright (C) 2011, 2013-2015, 2019-2020, 2022, 2025 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package.
# Takeshi AIHANA <takeshi.aihana@gmail.com>, 2011.
# Jiro Matsuzawa <jmatsuzawa@gnome.org>, 2011, 2013, 2015
@@ -7,27 +7,30 @@
# Ikuya Awashiro <ikuya@fruitsbasket.info>, 2014.
# Hajime Taira <htaira@redhat.com>, 2014, 2015.
# sicklylife <translation@sicklylife.jp>, 2019-2020, 2022.
# Makoto Sakaguchi <ycco34vx@gmail.com>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Project-Id-Version: gnome-shell-extensions main\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2022-03-12 19:00+0900\n"
"Last-Translator: sicklylife <translation@sicklylife.jp>\n"
"POT-Creation-Date: 2025-06-17 16:15+0000\n"
"PO-Revision-Date: 2025-06-18 10:00+0900\n"
"Last-Translator: Makoto Sakaguchi <ycco34vx@gmail.com>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.6\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
msgstr "GNOME クラシック"
#: data/gnome-classic.desktop.in:4
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
#: data/gnome-classic-xorg.desktop.in:4
msgid "This session logs you into GNOME Classic"
msgstr "GNOME クラシックモードでログインします"
@@ -39,239 +42,368 @@ msgstr "GNOME クラシック on Wayland"
msgid "GNOME Classic on Xorg"
msgstr "GNOME クラシック on Xorg"
#: extensions/apps-menu/extension.js:113
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "お気に入り"
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "アプリケーション"
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "アプリ"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:12
msgid "Application and workspace list"
msgstr "アプリケーションとワークスペースのリスト"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:13
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"アプリケーションの識別子 (.desktop ファイル名) とコロンの後にワークスペース番"
"号を付与した文字列を要素とするリストです"
"アプリケーション ID (.desktop ファイル名) とコロンの後にワークスペース番号を"
"付与した文字列リストです"
#: extensions/auto-move-windows/prefs.js:35
#: extensions/auto-move-windows/prefs.js:156
msgid "Workspace Rules"
msgstr "ワークスペースのルール"
#: extensions/auto-move-windows/prefs.js:243
#: extensions/auto-move-windows/prefs.js:311
msgid "Add Rule"
msgstr "ルールを追加"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "ドライブ“%s”の取り出しに失敗しました:"
#: extensions/drive-menu/extension.js:128
#: extensions/drive-menu/extension.js:142
msgid "Removable devices"
msgstr "リムーバブルデバイス"
#: extensions/drive-menu/extension.js:155
#: extensions/drive-menu/extension.js:164
msgid "Open Files"
msgstr "ファイルを開く"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Use more screen for windows"
msgstr "ウィンドウにたくさんの画面を使うかどうか"
msgstr "ウィンドウ表示により多くの画面を使用"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"ウィンドウサムネイルを複数配置する際に、画面のアスペクト比に合わせて、境界"
"部分を減らすことにより、ウィンドウを統合することで、さらにたくさんの画面を使"
"用できるようにするかどうかです。この設定は 'natural' の配置アルゴリズムを採用"
"している場合にのみ適用されます。"
"ウィンドウサムネイルの配置時に、画面のアスペクト比に合わせて配置を最適化し、"
"表示領域を効率的に使用します。この設定は 'natural' 配置アルゴリズムを採用して"
"いる場合にのみ適用されます。"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17
msgid "Place window captions on top"
msgstr "ウィンドウタイトルバーを上端に表示するかどうか"
msgstr "ウィンドウタイトルを上部に配置"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:18
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"TRUE にすると、ウィンドウのサムネイルの上端にそのウィンドウのタイトルバーを表"
"示します (これは、サムネイルの下端にタイトルバーを表示する GNOME shellのデ"
"フォルト値よりも優先されます)。この設定を適用する際は GNOME shell再起動して"
"ください。"
"true にすると、ウィンドウタイトルを対応するサムネイルの上部に配置します "
"(GNOME Shell のデフォルト設定である下部配置よりも優先されます)。この設定を変"
"更した場合、効果を反映するために GNOME Shell再起動が必要です。"
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
#: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "場所"
#: extensions/places-menu/placeDisplay.js:46
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "“%s”の起動に失敗しました"
#: extensions/places-menu/placeDisplay.js:61
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "“%s”のマウントに失敗しました"
#: extensions/places-menu/placeDisplay.js:148
#: extensions/places-menu/placeDisplay.js:171
msgid "Computer"
msgstr "コンピューター"
#: extensions/places-menu/placeDisplay.js:359
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "ホーム"
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "ネットワークを表示"
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "最近"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "お気に入り"
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "ネットワーク"
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "ゴミ箱"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14
msgid "Cycle Screenshot Sizes"
msgstr "スクリーンショットサイズを変更する"
msgstr "スクリーンショットサイズの切り替え"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:18
msgid "Cycle Screenshot Sizes Backward"
msgstr ""
msgstr "スクリーンショットサイズの逆順切り替え"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
#: extensions/system-monitor/extension.js:135
msgid "CPU stats"
msgstr "CPU 統計"
#: extensions/system-monitor/extension.js:159
msgid "Memory stats"
msgstr "メモリ統計"
#: extensions/system-monitor/extension.js:177
msgid "Swap stats"
msgstr "スワップ統計"
#: extensions/system-monitor/extension.js:336
msgid "Upload stats"
msgstr "アップロード統計"
#: extensions/system-monitor/extension.js:350
msgid "Download stats"
msgstr "ダウンロード統計"
#: extensions/system-monitor/extension.js:364
msgid "System stats"
msgstr "システム統計"
#: extensions/system-monitor/extension.js:412
msgid "Show"
msgstr "表示"
#: extensions/system-monitor/extension.js:414
msgid "CPU"
msgstr "CPU"
#: extensions/system-monitor/extension.js:416
msgid "Memory"
msgstr "メモリ"
#: extensions/system-monitor/extension.js:418
msgid "Swap"
msgstr "スワップ"
#: extensions/system-monitor/extension.js:420
msgid "Upload"
msgstr "アップロード"
#: extensions/system-monitor/extension.js:422
msgid "Download"
msgstr "ダウンロード"
#: extensions/system-monitor/extension.js:427
msgid "Open System Monitor"
msgstr "システムモニターを開く"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:12
msgid "Show CPU usage"
msgstr "CPU 使用率を表示"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:16
msgid "Show memory usage"
msgstr "メモリ使用率を表示"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:20
msgid "Show swap usage"
msgstr "スワップ使用率を表示"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24
msgid "Show upload"
msgstr "アップロード速度を表示"
#: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28
msgid "Show download"
msgstr "ダウンロード速度を表示"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:11
msgid "Theme name"
msgstr "テーマの名前"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "テーマの名前です (~/.themes/name/gnome-shell 配下に格納します)"
msgstr ""
"~/.themes/[テーマ名]/gnome-shell ディレクトリから読み込まれるテーマの名前"
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "閉じる"
#: extensions/window-list/extension.js:118
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "最小化解除"
msgstr "最小化を元に戻す"
#: extensions/window-list/extension.js:118
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "最小化"
#: extensions/window-list/extension.js:125
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "最大化解除"
msgstr "最大化を元に戻す"
#: extensions/window-list/extension.js:125
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "最大化"
#: extensions/window-list/extension.js:428
#: extensions/window-list/extension.js:722
msgid "Minimize all"
msgstr "すべて最小化"
#: extensions/window-list/extension.js:434
#: extensions/window-list/extension.js:728
msgid "Unminimize all"
msgstr "すべて最小化解除"
msgstr "すべて最小化を元に戻す"
#: extensions/window-list/extension.js:440
#: extensions/window-list/extension.js:734
msgid "Maximize all"
msgstr "すべて最大化"
#: extensions/window-list/extension.js:448
#: extensions/window-list/extension.js:742
msgid "Unmaximize all"
msgstr "すべて最大化解除"
msgstr "すべて最大化を元に戻す"
#: extensions/window-list/extension.js:456
#: extensions/window-list/extension.js:750
msgid "Close all"
msgstr "すべて閉じる"
#: extensions/window-list/extension.js:734
#: extensions/window-list/extension.js:1002 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "ウィンドウのリスト"
msgstr "ウィンドウ一覧"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:18
msgid "When to group windows"
msgstr "ウインドウをグループ化する条件"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:19
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
msgstr ""
"ウィンドウ一覧にある同じアプリケーションをグループ化する条件を指定します。"
"定可能な値は、“never”, “auto”, “always”です。"
"ウィンドウ一覧同じアプリケーションをグループ化する条件を指定します。設定可"
"能な値は \"never\"(しない)、\"auto\"(自動)、\"always\"(常に)です。"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:100
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "すべてのワークスペースのウィンドウを表示する"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
msgid "Whether to show windows from all workspaces or only the current one."
msgstr ""
"ウィンドウをすべてのワークスペースから表示するか現在のワークスペースにある"
"ウィンドウのみ表示するかの設定です。"
msgstr "すべてのワークスペースのウィンドウを表示"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
msgstr "すべてのモニターにウィンドウリストを表示する"
msgid "Whether to show windows from all workspaces or only the current one."
msgstr ""
"すべてのワークスペースのウィンドウを表示するか、現在のワークスペースのみを表"
"示するかを設定します。"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33
msgid "Show the window list on all monitors"
msgstr "すべてのモニターにウィンドウリストを表示"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:34
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
msgstr ""
"ウィンドウリストをすべての接続モニターに表示するかプライマリモニターにのみ"
"表示するか設定す。"
"ウィンドウ一覧を接続されているすべてのモニターに表示するかプライマリモニ"
"ターのみに表示するか設定します。"
#: extensions/window-list/prefs.js:29
# 設定項目であるため、「表示する」ではなく「表示」を採用
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "ウィンドウ一覧でワークスペースプレビューを表示"
#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "ウィンドウのグループ化"
#: extensions/window-list/prefs.js:58
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "ウィンドウをグループ化しない"
#: extensions/window-list/prefs.js:59
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "ウィンドウ一覧の幅が制限される時にグループ化する"
msgstr "スペースが限られている場合にウィンドウをグループ化する"
#: extensions/window-list/prefs.js:60
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "ウィンドウをグループ化する"
msgstr "常にウィンドウをグループ化する"
#: extensions/window-list/prefs.js:94
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "すべてのモニターに表示する"
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "トップバーでワークスペースプレビューを表示"
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "%s キーを押すと編集モードに入ります"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "設定"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "ワークスペースインジケーター"
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "インジケーター"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "プレビュー"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "ワークスペース名"
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "ワークスペース %d"
# もしくは「振る舞い」
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "動作"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "ワークスペースを追加"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "動的"
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "空のワークスペースを自動的に削除します。"
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "固定数"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "固定ワークスペースの数を指定します。"
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "ワークスペース数"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "ワークスペース"
#~ msgid "Applications"
#~ msgstr "アプリケーション"
#~ msgid "Computer"
#~ msgstr "コンピューター"
#~ msgid "Application"
#~ msgstr "アプリケーション"
@@ -359,12 +491,6 @@ msgstr "ワークスペースを追加"
#~ msgid "Window management and application launching"
#~ msgstr "ウィンドウ管理とアプリケーション起動"
#~ msgid "CPU"
#~ msgstr "CPU"
#~ msgid "Memory"
#~ msgstr "メモリ"
#~ msgid "Normal"
#~ msgstr "標準"
@@ -380,9 +506,6 @@ msgstr "ワークスペースを追加"
#~ msgid "Display"
#~ msgstr "ディスプレイ"
#~ msgid "Display Settings"
#~ msgstr "ディスプレイ設定"
#~ msgid "Suspend"
#~ msgstr "サスペンド"

102
po/ka.po
View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2025-02-13 00:15+0000\n"
"PO-Revision-Date: 2025-02-23 06:57+0100\n"
"POT-Creation-Date: 2025-06-18 23:32+0000\n"
"PO-Revision-Date: 2025-06-21 06:43+0200\n"
"Last-Translator: Ekaterine Papava <papava.e@gtu.ge>\n"
"Language-Team: \n"
"Language: ka\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 3.5\n"
"X-Generator: Poedit 3.6\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
@@ -36,11 +36,11 @@ msgstr "GNOME CLassic Wayland-ზე"
msgid "GNOME Classic on Xorg"
msgstr "GNOME Classic Xorg"
#: extensions/apps-menu/extension.js:125
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "რჩეულები"
#: extensions/apps-menu/extension.js:399
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "აპები"
@@ -231,47 +231,47 @@ msgstr "თემის სახელი"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "თემის სახელი, ~/.themes/name/gnome-shell-დან ჩასატვირთად"
#: extensions/window-list/extension.js:95
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "დახურვა"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "ამოკეცვა"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "ჩაკეცვა"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "საწყის ზომაზე დაბრუნება"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "მთელ ეკრანზე გაშლა"
#: extensions/window-list/extension.js:721
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "ყველას ჩაკეცვა"
#: extensions/window-list/extension.js:727
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "ყველას ამოკეცვა"
#: extensions/window-list/extension.js:733
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "ყველას მთელ ეკრანზე გაშლა"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "ყველას საწყის ზომაზე დაბრუნება"
#: extensions/window-list/extension.js:749
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "ყველას დახურვა"
#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "ფანჯრების სია"
@@ -334,35 +334,69 @@ msgstr "ყველა ეკრანზე ჩვენება"
msgid "Show workspace previews in top bar"
msgstr "სამუშაო სივრცის მინიატურების ჩვენება ზედა პანელზე"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "ჩასწორებისთვის დააჭირეთ ღილაკს %s"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "მორგება"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "სამუშაო სივრცის ინდიკატორი"
#: extensions/workspace-indicator/workspacePrefs.js:28
msgid "Show Previews"
msgstr "მინიატურების ჩვენებ"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "მჩვენებელი"
#: extensions/workspace-indicator/workspacePrefs.js:86
#, javascript-format
msgid "Workspace %d"
msgstr "სამუშაო სივრცე %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "მინიატურები"
#: extensions/workspace-indicator/workspacePrefs.js:153
msgid "Workspace Names"
msgstr "სამუშაო სივრცის სახელები"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "სამუშაო სივრცის სახელი"
#: extensions/workspace-indicator/workspacePrefs.js:170
msgid "Add Workspace"
msgstr "სამუშაო სივრცის დამატება"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "ქცევა"
#: extensions/workspace-indicator/workspacePrefs.js:195
msgid "Remove"
msgstr "წაშლა"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "დინამიკური"
#: extensions/workspace-indicator/workspacePrefs.js:225
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "ცარიელი სამუშაო სივრცეების ავტომატური წაშლა."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "ფიქსირებული ნომერი"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "მიუთითეთ სამუშაო სივრცეების ფიქსირებული რაოდენობა."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "სამუშაო სივრცეების რაოდენობა"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "სამუშაო სივრცეები"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "სამუშაო სივრცე %d"
#~ msgid "Add Workspace"
#~ msgstr "სამუშაო სივრცის დამატება"
#~ msgid "Remove"
#~ msgstr "წაშლა"
#~ msgid "Computer"
#~ msgstr "კომპიუტერი"

View File

@@ -10,22 +10,23 @@
# Enrico Nicoletto <liverig@gmail.com>, 2013, 2014.
# Matheus Polkorny <mpolkorny@ipt.br>, 2024.
# Rafael Fontenelle <rafaelff@gnome.org>, 2013-2025.
# Álvaro Burns <>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2025-01-13 16:23+0000\n"
"PO-Revision-Date: 2025-01-19 21:11-0300\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <https://br.gnome.org/traducao>\n"
"POT-Creation-Date: 2025-06-18 23:32+0000\n"
"PO-Revision-Date: 2025-06-24 11:27-0300\n"
"Last-Translator: Álvaro Burns <>\n"
"Language-Team: Brazilian Portuguese <https://br.gnome.org/traducao/>\n"
"Language: pt_BR\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-Generator: Gtranslator 47.1\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Gtranslator 48.0\n"
"X-Project-Style: gnome\n"
#: data/gnome-classic.desktop.in:3
@@ -45,11 +46,11 @@ msgstr "GNOME Clássico no Wayland"
msgid "GNOME Classic on Xorg"
msgstr "GNOME Clássico no Xorg"
#: extensions/apps-menu/extension.js:125
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Favoritos"
#: extensions/apps-menu/extension.js:399
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Aplicativos"
@@ -240,47 +241,47 @@ msgstr "Nome do tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "O nome do tema, para ser carregado de ~/.themes/nome/gnome-shell"
#: extensions/window-list/extension.js:95
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Fechar"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Desfazer janelas minimizadas"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Minimizar"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Desfazer janelas maximizadas"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Maximizar"
#: extensions/window-list/extension.js:721
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "Minimizar todas"
#: extensions/window-list/extension.js:727
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "Desfazer todas as janelas minimizadas"
#: extensions/window-list/extension.js:733
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "Maximizar todas"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "Desfazer todas as janelas maximizadas"
#: extensions/window-list/extension.js:749
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "Fechar todas"
#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Lista de janelas"
@@ -347,35 +348,69 @@ msgstr "Mostrar em todos os monitores"
msgid "Show workspace previews in top bar"
msgstr "Mostra prévias do espaço de trabalho na barra superior"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Clique em %s para editar"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "Configurações"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "Indicador de espaços de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:28
msgid "Show Previews"
msgstr "Mostrar prévias"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Indicador"
#: extensions/workspace-indicator/workspacePrefs.js:86
#, javascript-format
msgid "Workspace %d"
msgstr "Espaço de trabalho %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Prévias"
#: extensions/workspace-indicator/workspacePrefs.js:153
msgid "Workspace Names"
msgstr "Nomes de espaços de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Nome do espaço de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:170
msgid "Add Workspace"
msgstr "Adicionar espaço de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Comportamento"
#: extensions/workspace-indicator/workspacePrefs.js:195
msgid "Remove"
msgstr "Remove"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Dinâmica"
#: extensions/workspace-indicator/workspacePrefs.js:225
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Remover espaços de trabalho automaticamente."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Número fixo"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Especifique um número permanente de espaços de trabalho."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Número de espaços de trabalho"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Espaços de trabalho"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "Espaço de trabalho %d"
#~ msgid "Add Workspace"
#~ msgstr "Adicionar espaço de trabalho"
#~ msgid "Remove"
#~ msgstr "Remove"
#~ msgid "Computer"
#~ msgstr "Computador"
@@ -513,9 +548,6 @@ msgstr "Espaços de trabalho"
#~ msgid "Display"
#~ msgstr "Tela"
#~ msgid "Display Settings"
#~ msgstr "Configurações de tela"
#~ msgid "The application icon mode."
#~ msgstr "O modo de ícone do aplicativo."
@@ -706,9 +738,6 @@ msgstr "Espaços de trabalho"
#~ "alternador de Alt-Tab, apenas desative a extensão de extensions.gnome.org "
#~ "ou nas configurações avançadas do aplicativo."
#~ msgid "Alt Tab Behaviour"
#~ msgstr "Comportamento do Alt Tab"
#~ msgid "Cancel"
#~ msgstr "Cancelar"

148
po/ru.po
View File

@@ -9,9 +9,9 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-10-16 14:41+0000\n"
"PO-Revision-Date: 2024-10-27 14:01+0300\n"
"Last-Translator: Artur So <arturios2005@mail.ru>\n"
"POT-Creation-Date: 2025-06-18 23:32+0000\n"
"PO-Revision-Date: 2025-06-20 09:30+1000\n"
"Last-Translator: Ser82-png <asvmail.as@gmail.com>\n"
"Language-Team: Русский <gnome-cyr@gnome.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
"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.5\n"
"X-Generator: Poedit 3.0.1\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
@@ -38,11 +38,11 @@ msgstr "Классический GNOME на Wayland"
msgid "GNOME Classic on Xorg"
msgstr "Классический GNOME на Xorg"
#: extensions/apps-menu/extension.js:126
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Избранное"
#: extensions/apps-menu/extension.js:400
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Приложения"
@@ -55,20 +55,20 @@ msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Список строк, содержащих идентификатор приложения (имя desktop-файла), за "
"которым следует двоеточие и номер рабочего стола"
"Список строк, содержащих идентификатор приложения (название desktop-файла), "
"за которым следует двоеточие и номер рабочего стола"
#: extensions/auto-move-windows/prefs.js:159
#: extensions/auto-move-windows/prefs.js:156
msgid "Workspace Rules"
msgstr "Правила для рабочих столов"
#: extensions/auto-move-windows/prefs.js:314
#: extensions/auto-move-windows/prefs.js:311
msgid "Add Rule"
msgstr "Добавить правило"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:187
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Не удалось извлечь диск «%s»:"
@@ -110,38 +110,38 @@ msgstr ""
"умолчанию заголовки располагаются снизу). При изменении этого параметра, "
"чтобы оно вступило в силу, необходимо перезапустить Shell."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Места"
#: extensions/places-menu/placeDisplay.js:53
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Не удалось запустить «%s»"
#: extensions/places-menu/placeDisplay.js:68
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Не удалось смонтировать том для «%s»"
#: extensions/places-menu/placeDisplay.js:316
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Домашняя папка"
#: extensions/places-menu/placeDisplay.js:322
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Недавние"
#: extensions/places-menu/placeDisplay.js:328
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "Избранные"
#: extensions/places-menu/placeDisplay.js:348
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Сеть"
#: extensions/places-menu/placeDisplay.js:355
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Корзина"
@@ -233,49 +233,49 @@ msgstr "Название темы"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Название темы, загружаемой из ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:92
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Закрыть"
# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Вернуть"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Свернуть"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Восстановить"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Развернуть"
#: extensions/window-list/extension.js:641
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "Свернуть все"
# ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
#: extensions/window-list/extension.js:647
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "Вернуть все"
#: extensions/window-list/extension.js:653
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "Развернуть все"
#: extensions/window-list/extension.js:661
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "Восстановить все"
#: extensions/window-list/extension.js:669
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "Закрыть все"
#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Список окон"
@@ -293,7 +293,7 @@ msgstr ""
"«always» — всегда."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Показывать окна со всех рабочих столов"
@@ -316,61 +316,95 @@ msgstr ""
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
msgid "Show workspace previews in window list"
msgstr "Показывать предпросмотры рабочих столов в списке окон"
msgstr "Показывать предварительный просмотр рабочих столов в списке окон"
#: extensions/window-list/prefs.js:42
#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "Группировка окон"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Никогда не группировать окна"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Группировать окна, если место ограничено"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Всегда группировать окна"
#: extensions/window-list/prefs.js:69
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "Показывать на всех мониторах"
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
msgid "Show workspace previews in top bar"
msgstr "Показывать предпросмотры рабочих столов в верхней панели"
msgstr "Показывать предварительный просмотр рабочих столов в верхней панели"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Нажмите %s для редактирования"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "Настройки"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "Индикатор рабочих столов"
#: extensions/workspace-indicator/workspacePrefs.js:29
msgid "Show Previews"
msgstr "Показывать предпросмотры"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Индикатор"
#: extensions/workspace-indicator/workspacePrefs.js:87
#, javascript-format
msgid "Workspace %d"
msgstr "Рабочий стол %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Предварительный просмотр"
#: extensions/workspace-indicator/workspacePrefs.js:154
msgid "Workspace Names"
msgstr "Названия рабочих столов"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Название рабочего стола"
#: extensions/workspace-indicator/workspacePrefs.js:171
msgid "Add Workspace"
msgstr "Добавить рабочий стол"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Поведение"
#: extensions/workspace-indicator/workspacePrefs.js:196
msgid "Remove"
msgstr "Удалить"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Динамичный"
#: extensions/workspace-indicator/workspacePrefs.js:226
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Автоматически удалять пустые рабочие столы."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Фиксированное количество"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Укажите количество постоянных рабочих столов."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Количество рабочих столов"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Рабочие столы"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "Рабочий стол %d"
#~ msgid "Add Workspace"
#~ msgstr "Добавить рабочий стол"
#~ msgid "Remove"
#~ msgstr "Удалить"
#~ msgid "Computer"
#~ msgstr "Компьютер"

126
po/sl.po
View File

@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-10-16 14:41+0000\n"
"PO-Revision-Date: 2024-10-16 23:41+0200\n"
"POT-Creation-Date: 2025-06-17 15:04+0000\n"
"PO-Revision-Date: 2025-06-17 17:09+0200\n"
"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: sl_SI\n"
@@ -39,11 +39,11 @@ msgstr "Klasično namizje GNOME na sistemu Wayland"
msgid "GNOME Classic on Xorg"
msgstr "Klasično namizje GNOME na sistemu Xorg"
#: extensions/apps-menu/extension.js:126
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Priljubljeno"
#: extensions/apps-menu/extension.js:400
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Programi"
@@ -59,17 +59,17 @@ msgstr ""
"Seznam nizov z določilom ID programa (ime programa), ki mu sledi dvopičje in "
"nato številka delovne površine."
#: extensions/auto-move-windows/prefs.js:159
#: extensions/auto-move-windows/prefs.js:156
msgid "Workspace Rules"
msgstr "Pravila delovnih površin"
#: extensions/auto-move-windows/prefs.js:314
#: extensions/auto-move-windows/prefs.js:311
msgid "Add Rule"
msgstr "Dodaj pravilo"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:187
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Izmetavanje pogona »%s« je spodletelo:"
@@ -110,38 +110,38 @@ msgstr ""
"tem prepiše privzeti izpis pod sličico. Za uveljavitev sprememb je treba "
"lupino ponovno zagnati."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Mesta"
#: extensions/places-menu/placeDisplay.js:53
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Zaganjanje »%s« je spodletelo."
#: extensions/places-menu/placeDisplay.js:68
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Priklapljanje nosilca za »%s« je spodletelo"
#: extensions/places-menu/placeDisplay.js:316
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Osebna mapa"
#: extensions/places-menu/placeDisplay.js:322
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Nedavno"
#: extensions/places-menu/placeDisplay.js:328
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "Z zvezdico"
#: extensions/places-menu/placeDisplay.js:348
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Omrežje"
#: extensions/places-menu/placeDisplay.js:355
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Koš"
@@ -233,47 +233,47 @@ msgstr "Ime teme"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Ime teme, ki bo naložena iz ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:92
#: extensions/window-list/extension.js:95
msgid "Close"
msgstr "Zapri"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:122
msgid "Unminimize"
msgstr "Povečaj"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:122
msgid "Minimize"
msgstr "Skrči"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:127
msgid "Unmaximize"
msgstr "Pomanjšaj"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:127
msgid "Maximize"
msgstr "Razpni"
#: extensions/window-list/extension.js:641
#: extensions/window-list/extension.js:719
msgid "Minimize all"
msgstr "Skrči vse"
#: extensions/window-list/extension.js:647
#: extensions/window-list/extension.js:725
msgid "Unminimize all"
msgstr "Pomanjšaj vse"
#: extensions/window-list/extension.js:653
#: extensions/window-list/extension.js:731
msgid "Maximize all"
msgstr "Razpni vse"
#: extensions/window-list/extension.js:661
#: extensions/window-list/extension.js:739
msgid "Unmaximize all"
msgstr "Pomanjšaj vse"
#: extensions/window-list/extension.js:669
#: extensions/window-list/extension.js:747
msgid "Close all"
msgstr "Zapri vse"
#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24
#: extensions/window-list/extension.js:999 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Seznam oken"
@@ -290,7 +290,7 @@ msgstr ""
"Veljavne vrednosti so »nikoli«, »samodejno« in »vedno«."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Pokaži okna vseh delovnih površin"
@@ -314,23 +314,23 @@ msgstr ""
msgid "Show workspace previews in window list"
msgstr "Pokaži predoglede delovne površine na seznamu oken"
#: extensions/window-list/prefs.js:42
#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "Združevanje oken"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Nikoli ne združuj oken"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Združi okna, ko je prostor omejen"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Okna vedno združuj"
#: extensions/window-list/prefs.js:69
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "Pokaži na vseh zaslonih"
@@ -338,31 +338,55 @@ msgstr "Pokaži na vseh zaslonih"
msgid "Show workspace previews in top bar"
msgstr "Pokaži predoglede delovne površine v zgornji vrstici"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Pritisnite %s za urejanje"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "Nastavitve"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "Kazalnik delovnih površin"
#: extensions/workspace-indicator/workspacePrefs.js:29
msgid "Show Previews"
msgstr "Pokaži predoglede"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Pokazatelj"
#: extensions/workspace-indicator/workspacePrefs.js:87
#, javascript-format
msgid "Workspace %d"
msgstr "Delovna površina %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Predogledi"
#: extensions/workspace-indicator/workspacePrefs.js:154
msgid "Workspace Names"
msgstr "Imena delovnih površin"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Ime delovne površine"
#: extensions/workspace-indicator/workspacePrefs.js:171
msgid "Add Workspace"
msgstr "Dodaj delovno površino"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Vedenje"
#: extensions/workspace-indicator/workspacePrefs.js:196
msgid "Remove"
msgstr "Odstrani"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Dinamično"
#: extensions/workspace-indicator/workspacePrefs.js:226
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Samodejno odstrani prazne delovne površine"
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Fiksno število"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Določite število prikazanih delovnih površin"
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Število delovnih površin"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Delovne površine"

142
po/sv.po
View File

@@ -1,9 +1,9 @@
# Swedish translation for gnome-shell-extensions.
# Copyright © 2011-2024 Free Software Foundation, Inc.
# Copyright © 2011-2025 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnome-shell-extensions package.
# Daniel Nylander <po@danielnylander.se>, 2011, 2012.
# Mattias Eriksson <snaggen@gmail.com>, 2014.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2017, 2019, 2020, 2021, 2024.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2017, 2019, 2020, 2021, 2024, 2025.
# Luna Jernberg <droidbittin@gmail.com>, 2021.
#
msgid ""
@@ -11,15 +11,15 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-10-16 14:41+0000\n"
"PO-Revision-Date: 2024-10-19 16:07+0200\n"
"POT-Creation-Date: 2025-06-18 23:32+0000\n"
"PO-Revision-Date: 2025-07-02 23:24+0200\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.5\n"
"X-Generator: Poedit 3.6\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
@@ -38,11 +38,11 @@ msgstr "GNOME Klassisk på Wayland"
msgid "GNOME Classic on Xorg"
msgstr "GNOME Klassisk på Xorg"
#: extensions/apps-menu/extension.js:126
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Favoriter"
#: extensions/apps-menu/extension.js:400
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Program"
@@ -58,17 +58,17 @@ msgstr ""
"En lista över strängar, var och en innehållande ett program-id "
"(skrivbordsfilnamn), följt av ett kolontecken och arbetsytans nummer"
#: extensions/auto-move-windows/prefs.js:159
#: extensions/auto-move-windows/prefs.js:156
msgid "Workspace Rules"
msgstr "Regler för arbetsyta"
#: extensions/auto-move-windows/prefs.js:314
#: extensions/auto-move-windows/prefs.js:311
msgid "Add Rule"
msgstr "Lägg till regel"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:187
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Utmatning av disk ”%s” misslyckades:"
@@ -110,38 +110,38 @@ msgstr ""
"skalets standardplacering under miniatyrbilden. För att ändra denna "
"inställning krävs att skalet startas om för att den ska få effekt."
#: extensions/places-menu/extension.js:91
#: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:75
#: extensions/places-menu/extension.js:78
msgid "Places"
msgstr "Platser"
#: extensions/places-menu/placeDisplay.js:53
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Misslyckades med att starta ”%s”"
#: extensions/places-menu/placeDisplay.js:68
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Misslyckades med att montera volym för ”%s”"
#: extensions/places-menu/placeDisplay.js:316
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Hem"
#: extensions/places-menu/placeDisplay.js:322
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Senaste"
#: extensions/places-menu/placeDisplay.js:328
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "Stjärnmärkt"
#: extensions/places-menu/placeDisplay.js:348
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Nätverk"
#: extensions/places-menu/placeDisplay.js:355
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Papperskorg"
@@ -233,47 +233,47 @@ msgstr "Temanamn"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Namnet på temat, kommer att läsas in från ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:92
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Stäng"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Avminimera"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Minimera"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Avmaximera"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Maximera"
#: extensions/window-list/extension.js:641
#: extensions/window-list/extension.js:720
msgid "Minimize all"
msgstr "Minimera alla"
#: extensions/window-list/extension.js:647
#: extensions/window-list/extension.js:726
msgid "Unminimize all"
msgstr "Avminimera alla"
#: extensions/window-list/extension.js:653
#: extensions/window-list/extension.js:732
msgid "Maximize all"
msgstr "Maximera alla"
#: extensions/window-list/extension.js:661
#: extensions/window-list/extension.js:740
msgid "Unmaximize all"
msgstr "Avmaximera alla"
#: extensions/window-list/extension.js:669
#: extensions/window-list/extension.js:748
msgid "Close all"
msgstr "Stäng alla"
#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24
#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Fönsterlista"
@@ -290,7 +290,7 @@ msgstr ""
"värden är ”never” (aldrig), ”auto” och ”always” (alltid)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:74
msgid "Show windows from all workspaces"
msgstr "Visa fönster från alla arbetsytor"
@@ -315,23 +315,23 @@ msgstr ""
msgid "Show workspace previews in window list"
msgstr "Visa förhandsgranskningar av arbetsytor i fönsterlistan"
#: extensions/window-list/prefs.js:42
#: extensions/window-list/prefs.js:41
msgid "Window Grouping"
msgstr "Fönstergruppering"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:46
msgid "Never group windows"
msgstr "Gruppera aldrig fönster"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:47
msgid "Group windows when space is limited"
msgstr "Gruppera fönster när utrymmet är begränsat"
#: extensions/window-list/prefs.js:49
#: extensions/window-list/prefs.js:48
msgid "Always group windows"
msgstr "Gruppera alltid fönster"
#: extensions/window-list/prefs.js:69
#: extensions/window-list/prefs.js:68
msgid "Show on all monitors"
msgstr "Visa på alla skärmar"
@@ -339,35 +339,69 @@ msgstr "Visa på alla skärmar"
msgid "Show workspace previews in top bar"
msgstr "Visa förhandsgranskningar av arbetsytor i systemraden"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Tryck %s för att redigera"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "Inställningar"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "Arbetsyteindikator"
#: extensions/workspace-indicator/workspacePrefs.js:29
msgid "Show Previews"
msgstr "Visa förhandsgranskningar"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Indikator"
#: extensions/workspace-indicator/workspacePrefs.js:87
#, javascript-format
msgid "Workspace %d"
msgstr "Arbetsyta %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Förhandsgranskningar"
#: extensions/workspace-indicator/workspacePrefs.js:154
msgid "Workspace Names"
msgstr "Namn på arbetsytor"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Namn på arbetsyta"
#: extensions/workspace-indicator/workspacePrefs.js:171
msgid "Add Workspace"
msgstr "Lägg till arbetsyta"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Beteende"
#: extensions/workspace-indicator/workspacePrefs.js:196
msgid "Remove"
msgstr "Ta bort"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Dynamiskt"
#: extensions/workspace-indicator/workspacePrefs.js:226
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Tar automatiskt bort tomma arbetsytor."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Fast antal"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Ange ett antal permanenta arbetsytor."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Antal arbetsytor"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Arbetsytor"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "Arbetsyta %d"
#~ msgid "Add Workspace"
#~ msgstr "Lägg till arbetsyta"
#~ msgid "Remove"
#~ msgstr "Ta bort"
#~ msgid "Computer"
#~ msgstr "Dator"

114
po/tr.po
View File

@@ -7,16 +7,16 @@
# Muhammet Kara <muhammetk@gmail.com>, 2013-2015.
# Furkan Tokaç <developmentft@gmail.com>, 2017.
# Sabri Ünal <yakushabb@gmail.com>, 2014, 2019, 2022-2024.
# Emin Tufan Çetin <etcetin@gmail.com>, 2017, 2019, 2020, 2022, 2024.
# Emin Tufan Çetin <etcetin@gmail.com>, 2017, 2019, 2020, 2022, 2024, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2024-11-25 08:47+0000\n"
"PO-Revision-Date: 2024-11-30 23:58+0300\n"
"Last-Translator: Sabri Ünal <yakushabb@gmail.com>\n"
"POT-Creation-Date: 2025-06-17 15:04+0000\n"
"PO-Revision-Date: 2025-06-17 08:00+0300\n"
"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
"Language-Team: Turkish <takim@gnome.org.tr>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
@@ -42,11 +42,11 @@ msgstr "Wayland üstünde GNOME Klasik"
msgid "GNOME Classic on Xorg"
msgstr "Xorg üstünde GNOME Klasik"
#: extensions/apps-menu/extension.js:125
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Gözdeler"
#: extensions/apps-menu/extension.js:399
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Uygulamalar"
@@ -72,7 +72,7 @@ msgstr "Kural Ekle"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123
#: extensions/places-menu/placeDisplay.js:187
#: extensions/places-menu/placeDisplay.js:186
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "“%s” sürücüsü çıkarılamadı:"
@@ -120,33 +120,33 @@ msgstr ""
msgid "Places"
msgstr "Yerler"
#: extensions/places-menu/placeDisplay.js:53
#: extensions/places-menu/placeDisplay.js:52
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "“%s” başlatılamadı"
#: extensions/places-menu/placeDisplay.js:68
#: extensions/places-menu/placeDisplay.js:67
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "“%s” için birim bağlanamadı"
#: extensions/places-menu/placeDisplay.js:316
#: extensions/places-menu/placeDisplay.js:315
msgid "Home"
msgstr "Ev"
#: extensions/places-menu/placeDisplay.js:322
#: extensions/places-menu/placeDisplay.js:321
msgid "Recent"
msgstr "Son"
#: extensions/places-menu/placeDisplay.js:328
#: extensions/places-menu/placeDisplay.js:327
msgid "Starred"
msgstr "Yıldızlı"
#: extensions/places-menu/placeDisplay.js:348
#: extensions/places-menu/placeDisplay.js:347
msgid "Network"
msgstr "Ağ"
#: extensions/places-menu/placeDisplay.js:355
#: extensions/places-menu/placeDisplay.js:354
msgid "Trash"
msgstr "Çöp"
@@ -238,47 +238,47 @@ msgstr "Tema adı"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "~/.themes/name/gnome-shell konumundan edinilen tema adı"
#: extensions/window-list/extension.js:92
#: extensions/window-list/extension.js:95
msgid "Close"
msgstr "Kapat"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:122
msgid "Unminimize"
msgstr "Önceki duruma getir"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:122
msgid "Minimize"
msgstr "Simge durumuna küçült"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:127
msgid "Unmaximize"
msgstr "Önceki duruma getir"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:127
msgid "Maximize"
msgstr "En büyük duruma getir"
#: extensions/window-list/extension.js:641
#: extensions/window-list/extension.js:719
msgid "Minimize all"
msgstr "Tümünü simge durumuna küçült"
#: extensions/window-list/extension.js:647
#: extensions/window-list/extension.js:725
msgid "Unminimize all"
msgstr "Tümünü önceki duruma getir"
#: extensions/window-list/extension.js:653
#: extensions/window-list/extension.js:731
msgid "Maximize all"
msgstr "Tümünü en büyük duruma getir"
#: extensions/window-list/extension.js:661
#: extensions/window-list/extension.js:739
msgid "Unmaximize all"
msgstr "Tümünü önceki duruma getir"
#: extensions/window-list/extension.js:669
#: extensions/window-list/extension.js:747
msgid "Close all"
msgstr "Tümünü kapat"
#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:23
#: extensions/window-list/extension.js:999 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Pencere Listesi"
@@ -292,8 +292,8 @@ msgid ""
"Possible values are “never”, “auto” and “always”."
msgstr ""
"Pencere listesinde aynı uygulamaların ne zaman kümeleneceğine karar verir. "
"Olası değerler: “never” (hiçbir zaman), “auto” (kendiliğinden) ve "
"“always” (her zaman)."
"Olası değerler: “never” (hiçbir zaman), “auto” (kendiliğinden) ve “always” "
"(her zaman)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
#: extensions/window-list/prefs.js:74
@@ -346,31 +346,55 @@ msgstr "Tüm monitörlerde göster"
msgid "Show workspace previews in top bar"
msgstr "Çalışma alanı ön izlemelerini üst çubukta göster"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Düzenlemek için şuna bas: %s"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "Ayarlar"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "Çalışma Alanı Belirteci"
#: extensions/workspace-indicator/workspacePrefs.js:28
msgid "Show Previews"
msgstr "Ön İzlemeleri Göster"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "Belirteç"
#: extensions/workspace-indicator/workspacePrefs.js:86
#, javascript-format
msgid "Workspace %d"
msgstr "Çalışma Alanı %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "Ön İzlemeler"
#: extensions/workspace-indicator/workspacePrefs.js:153
msgid "Workspace Names"
msgstr "Çalışma Alanı Adları"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "Çalışma Alanı Adı"
#: extensions/workspace-indicator/workspacePrefs.js:170
msgid "Add Workspace"
msgstr "Çalışma Alanı Ekle"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "Davranış"
#: extensions/workspace-indicator/workspacePrefs.js:195
msgid "Remove"
msgstr "Kaldır"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Devimsel"
#: extensions/workspace-indicator/workspacePrefs.js:225
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Boş çalışma alanlarını kendiliğinden kaldırır."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Ayarlı Sayı"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Kalıcı çalışma alanı sayısı belirle."
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "Çalışma Alanı Sayısı"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Çalışma Alanları"

111
po/uk.po
View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/i"
"ssues\n"
"POT-Creation-Date: 2025-02-13 00:15+0000\n"
"PO-Revision-Date: 2025-02-23 22:16+0200\n"
"POT-Creation-Date: 2025-06-17 15:45+0000\n"
"PO-Revision-Date: 2025-06-17 19:14+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
"Language: uk\n"
@@ -40,11 +40,11 @@ msgstr "Класичний GNOME на Wayland"
msgid "GNOME Classic on Xorg"
msgstr "Класичний GNOME на Xorg"
#: extensions/apps-menu/extension.js:125
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Улюблене"
#: extensions/apps-menu/extension.js:399
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "Програми"
@@ -140,7 +140,6 @@ msgid "Starred"
msgstr "З зірочками"
#: extensions/places-menu/placeDisplay.js:347
#| msgid "Browse Network"
msgid "Network"
msgstr "Мережа"
@@ -236,47 +235,47 @@ msgstr "Назва теми"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Назва теми, що завантажується з ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:95
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Закрити"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "Відновити згорнуте"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "Згорнути"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "Відновити розгорнуте"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "Розгорнути"
#: extensions/window-list/extension.js:721
#: extensions/window-list/extension.js:722
msgid "Minimize all"
msgstr "Згорнути все"
#: extensions/window-list/extension.js:727
#: extensions/window-list/extension.js:728
msgid "Unminimize all"
msgstr "Відновити все згорнуте"
#: extensions/window-list/extension.js:733
#: extensions/window-list/extension.js:734
msgid "Maximize all"
msgstr "Розгорнути все"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:742
msgid "Unmaximize all"
msgstr "Відновити все розгорнуте"
#: extensions/window-list/extension.js:749
#: extensions/window-list/extension.js:750
msgid "Close all"
msgstr "Закрити все"
#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23
#: extensions/window-list/extension.js:1002 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "Перелік вікон"
@@ -341,37 +340,74 @@ msgstr "Показувати на всіх моніторах"
msgid "Show workspace previews in top bar"
msgstr "Показувати мініатюри робочого простору на верхній панелі"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "Натисніть %s для редагування"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "Параметри"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "Покажчик робочого простору"
#: extensions/workspace-indicator/workspacePrefs.js:28
#| msgid "Show Previews In Top Bar"
msgid "Show Previews"
msgstr "Показувати мініатюри"
#: extensions/workspace-indicator/workspacePrefs.js:20
#| msgid "Workspace Indicator"
msgid "Indicator"
msgstr "Індикатор"
#: extensions/workspace-indicator/workspacePrefs.js:86
#, javascript-format
msgid "Workspace %d"
msgstr "Робочий простір %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
#| msgid "Show Previews"
msgid "Previews"
msgstr "Попередній перегляд"
#: extensions/workspace-indicator/workspacePrefs.js:153
msgid "Workspace Names"
msgstr "Назви робочих просторів"
#: extensions/workspace-indicator/workspacePrefs.js:35
#| msgid "Workspace Names"
msgid "Workspace Name"
msgstr "Назва робочої області"
#: extensions/workspace-indicator/workspacePrefs.js:170
msgid "Add Workspace"
msgstr "Додати робочий простір"
#: extensions/workspace-indicator/workspacePrefs.js:59
#| msgid "Alt Tab Behaviour"
msgid "Behavior"
msgstr "Поведінка"
#: extensions/workspace-indicator/workspacePrefs.js:195
msgid "Remove"
msgstr "Вилучити"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "Динамічний"
#: extensions/workspace-indicator/workspacePrefs.js:225
#| msgid "Workspace"
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "Автоматично вилучає порожні робочі простори."
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "Фіксована кількість"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "Вкажіть кількість сталих робочих просторів."
#: extensions/workspace-indicator/workspacePrefs.js:89
#| msgid "Workspaces"
msgid "Number of Workspaces"
msgstr "Кількість робочих просторів"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "Робочі простори"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "Робочий простір %d"
#~ msgid "Add Workspace"
#~ msgstr "Додати робочий простір"
#~ msgid "Remove"
#~ msgstr "Вилучити"
#~ msgid "Computer"
#~ msgstr "Комп'ютер"
@@ -539,9 +575,6 @@ msgstr "Робочі простори"
#~ "просто\n"
#~ "вимкнути розширення з extensions.gnome.org або в додаткових параметрах ."
#~ msgid "Alt Tab Behaviour"
#~ msgstr "Режим Alt Tab"
#~ msgid "Cancel"
#~ msgstr "Скасувати"

View File

@@ -14,8 +14,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2025-02-13 00:15+0000\n"
"PO-Revision-Date: 2025-03-02 14:19+0800\n"
"POT-Creation-Date: 2025-06-17 15:45+0000\n"
"PO-Revision-Date: 2025-06-18 08:42+0800\n"
"Last-Translator: lumingzh <lumingzh@qq.com>\n"
"Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
@@ -23,7 +23,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Gtranslator 47.1\n"
"X-Generator: Gtranslator 48.0\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
@@ -42,11 +42,11 @@ msgstr "GNOME Wayland 经典模式"
msgid "GNOME Classic on Xorg"
msgstr "GNOME Xorg 经典模式"
#: extensions/apps-menu/extension.js:125
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "收藏"
#: extensions/apps-menu/extension.js:399
#: extensions/apps-menu/extension.js:392
msgid "Apps"
msgstr "应用"
@@ -233,47 +233,47 @@ msgstr "主题名称"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "从 ~/.themes/name/gnome-shell 加载的主题名称"
#: extensions/window-list/extension.js:95
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "关闭"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Unminimize"
msgstr "取消最小化"
#: extensions/window-list/extension.js:122
#: extensions/window-list/extension.js:125
msgid "Minimize"
msgstr "最小化"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Unmaximize"
msgstr "取消最大化"
#: extensions/window-list/extension.js:129
#: extensions/window-list/extension.js:130
msgid "Maximize"
msgstr "最大化"
#: extensions/window-list/extension.js:721
#: extensions/window-list/extension.js:722
msgid "Minimize all"
msgstr "全部最小化"
#: extensions/window-list/extension.js:727
#: extensions/window-list/extension.js:728
msgid "Unminimize all"
msgstr "全部取消最小化"
#: extensions/window-list/extension.js:733
#: extensions/window-list/extension.js:734
msgid "Maximize all"
msgstr "全部最大化"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:742
msgid "Unmaximize all"
msgstr "全部取消最大化"
#: extensions/window-list/extension.js:749
#: extensions/window-list/extension.js:750
msgid "Close all"
msgstr "全部关闭"
#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23
#: extensions/window-list/extension.js:1002 extensions/window-list/prefs.js:23
msgid "Window List"
msgstr "窗口列表"
@@ -336,35 +336,69 @@ msgstr "在所有显示器上显示"
msgid "Show workspace previews in top bar"
msgstr "在顶栏显示工作区预览"
#: extensions/workspace-indicator/workspaceIndicator.js:430
#: extensions/workspace-indicator/workspaceIndicator.js:404
#, javascript-format
msgid "Press %s to edit"
msgstr "按 %s 以编辑"
#: extensions/workspace-indicator/workspaceIndicator.js:512
msgid "Settings"
msgstr "设置"
#: extensions/workspace-indicator/workspaceIndicator.js:592
msgid "Workspace Indicator"
msgstr "工作区指示器"
#: extensions/workspace-indicator/workspacePrefs.js:28
msgid "Show Previews"
msgstr "显示预览"
#: extensions/workspace-indicator/workspacePrefs.js:20
msgid "Indicator"
msgstr "指示器"
#: extensions/workspace-indicator/workspacePrefs.js:86
#, javascript-format
msgid "Workspace %d"
msgstr "工作区 %d"
#: extensions/workspace-indicator/workspacePrefs.js:25
msgid "Previews"
msgstr "预览"
#: extensions/workspace-indicator/workspacePrefs.js:153
msgid "Workspace Names"
#: extensions/workspace-indicator/workspacePrefs.js:35
msgid "Workspace Name"
msgstr "工作区名称"
#: extensions/workspace-indicator/workspacePrefs.js:170
msgid "Add Workspace"
msgstr "添加工作区"
#: extensions/workspace-indicator/workspacePrefs.js:59
msgid "Behavior"
msgstr "行为"
#: extensions/workspace-indicator/workspacePrefs.js:195
msgid "Remove"
msgstr "移除"
#: extensions/workspace-indicator/workspacePrefs.js:64
msgid "Dynamic"
msgstr "动态"
#: extensions/workspace-indicator/workspacePrefs.js:225
#: extensions/workspace-indicator/workspacePrefs.js:65
msgid "Automatically removes empty workspaces."
msgstr "自动移除空的工作空间。"
#: extensions/workspace-indicator/workspacePrefs.js:75
msgid "Fixed Number"
msgstr "固定数量"
#: extensions/workspace-indicator/workspacePrefs.js:76
msgid "Specify a number of permanent workspaces."
msgstr "指定永久存在的工作空间的数量。"
#: extensions/workspace-indicator/workspacePrefs.js:89
msgid "Number of Workspaces"
msgstr "工作区数量"
#: extensions/workspace-indicator/workspacePrefs.js:128
msgid "Workspaces"
msgstr "工作区"
#, javascript-format
#~ msgid "Workspace %d"
#~ msgstr "工作区 %d"
#~ msgid "Add Workspace"
#~ msgstr "添加工作区"
#~ msgid "Remove"
#~ msgstr "移除"
#~ msgid "Computer"
#~ msgstr "计算机"
@@ -493,9 +527,6 @@ msgstr "工作区"
#~ msgid "Display"
#~ msgstr "显示"
#~ msgid "Display Settings"
#~ msgstr "显示设置"
#~ msgid "The application icon mode."
#~ msgstr "应用程序图标模式。"
@@ -642,9 +673,6 @@ msgstr "工作区"
#~ msgid "Log Out..."
#~ msgstr "注销..."
#~ msgid "Alt Tab Behaviour"
#~ msgstr "Alt Tab 行为"
#~ msgid "Cancel"
#~ msgstr "取消"

37
tools/eslint.config.js Normal file
View File

@@ -0,0 +1,37 @@
// SPDX-FileCopyrightText: 2025 Florian Müllner <fmuellner@gnome.org>
// SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
import {defineConfig} from '@eslint/config-helpers';
import gnome from 'eslint-config-gnome';
export default defineConfig([
gnome.configs.recommended,
gnome.configs.jsdoc,
{
rules: {
camelcase: ['error', {
properties: 'never',
}],
'consistent-return': 'error',
'eqeqeq': ['error', 'smart'],
'key-spacing': ['error', {
mode: 'minimum',
beforeColon: false,
afterColon: true,
}],
'prefer-arrow-callback': 'error',
'jsdoc/require-param-description': 'off',
'jsdoc/require-jsdoc': ['error', {
exemptEmptyFunctions: true,
publicOnly: {
esm: true,
},
}],
},
languageOptions: {
globals: {
global: 'readonly',
},
},
},
]);

BIN
tools/package-lock.json generated Normal file

Binary file not shown.

14
tools/package.json Normal file
View File

@@ -0,0 +1,14 @@
{
"name": "gnome-shell-extensions-dev-scripts",
"version": "1.0.0",
"license": "MIT OR LGPL-2.0-or-later",
"type": "module",
"private": true,
"scripts": {
"lint": "cd .. && ci-run-eslint"
},
"dependencies": {
"ci-run-eslint": "git+https://gitlab.gnome.org/World/javascript/ci-run-eslint.git",
"eslint-config-gnome": "git+https://gitlab.gnome.org/World/javascript/eslint-config-gnome.git"
}
}

8
tools/run-eslint.sh Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/sh
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
# SPDX-FileCopyrightText: 2020 Philip Chimento <philip.chimento@gmail.com>
# SPDX-FileCopyrightText: 2025 Florian Müllner <fmuellner@gnome.org>
cd $(dirname -- "$0")
[ ! -d node_modules ] && npm clean-install
npm run lint -- "$@"