Compare commits

...

29 Commits

Author SHA1 Message Date
Florian Müllner
81f999f761 Bump version to 3.37.1
Update NEWS.
2020-04-29 21:55:52 +02:00
Florian Müllner
17b5c0400a Update sass submodule 2020-04-29 21:49:53 +02:00
Florian Müllner
ac937b9549 user-theme: Make rows non-selectable
A row has to be activated to select a theme, not merely selected.
The selection therefore doesn't do anything, so disable it.
2020-04-29 21:44:13 +02:00
Daniel Mustieles
0c223de045 Updated Spanish translation 2020-04-28 17:47:14 +02:00
Anders Jonsson
564235d44c Update Swedish translation 2020-04-26 18:52:30 +00:00
Yuri Chornoivan
92a2361306 Update Ukrainian translation 2020-04-25 08:07:50 +00:00
Danial Behzadi
9f27654729 Update Persian translation 2020-04-24 20:13:04 +00:00
Dz Chen
f4013c7a5c Update Chinese (China) translation 2020-04-18 09:59:29 +00:00
Kristjan SCHMIDT
9e7eff4a3e Update Esperanto translation
(cherry picked from commit c5246b7415)
2020-04-18 09:00:54 +00:00
Florian Müllner
5b2bdd138a user-themes: Support session mode styles
Session mode stylesheets are installed in gnome-shell's theme
directory instead of a subdirectory of the global themes direc-
tory.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/118
2020-04-17 16:33:03 +00:00
Florian Müllner
90d3c5c51d workspace-indicator: Overhaul prefs widget
Inline toolbars are an outdated UI pattern, and both the toolbar widget
and the inline styling have been removed from GTK4. Making sure the
extension doesn't get in the way of a future GTK4 port is a good excuse
for modernizing the UI, so do just that :-)

Replace treeview and toolbar with an editable list as outline in the HIG:
https://developer.gnome.org/hig/stable/lists.html.en

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/120
2020-04-17 17:54:15 +02:00
Milan Crha
b00e531626 window-list: Invalid current mode selected in Preferences
It seems that gtk+ resets the active radio whenever a new radio button
is added into the group, thus rather restore the current mode after
the group is fully populated.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/119
2020-04-17 09:37:13 +02:00
Florian Müllner
b1c1b01184 po: Update POTFILES.in
The user-themes extension actually never had translatable strings.
2020-04-12 04:41:53 +02:00
Florian Müllner
739b1e11a0 user-themes: Add preference widget
While we don't endorse or support 3rd party theming, the extension
exists and is actively used. However right now the most convenient
way of setting it up is by installing Tweak Tool; give users an
alternative by providing a simple settings dialog ourselves.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/117
2020-04-12 04:13:25 +02:00
Florian Müllner
a3541ff0d9 ci: Drop "regular" build job
We already do a meson build/install when exporting extension bundles, and
now that the syntax check is handled by the CI instead of `meson test`,
the job just duplicates work.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:08:11 +02:00
Florian Müllner
8fb5476a1c build: Drop syntax-checks from meson test
Those checks are just as well handled by the CI, and removing them
makes for a nice build system cleanup.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:08:02 +02:00
Florian Müllner
fc8a46f15a ci: Syntax-check js sources
This is currently done as part of `ninja test`, but doing the check
in a separate CI job means it can run in parallel with other review
jobs and fail before trying to build.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:07:55 +02:00
Florian Müllner
2e21f7cf72 ci: Combine commit/source checks under 'review'
The current names are an artifact from when flatpak-ci used
review/stop_review jobs. 'review' is a much better name and
matches what gnome-shell itself uses.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:07:45 +02:00
Florian Müllner
a317d79016 ci: Set a default image
All jobs but one use the same issue, so specify that globally instead
of for each job.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:07:37 +02:00
Florian Müllner
4722b89cc3 cleanup: Don't linebreak before closing parentheses
Otherwise recent versions of eslint want "dangling" commas,
which is at least ugly considering that most functions don't
allow adding arguments at leisure.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/116
2020-04-11 01:03:38 +02:00
Florian Müllner
5a4b71ba90 ci: Create and expose extension bundles
Similar to how we let CI create flatpaks for application, create
and expose extension bundles for easier testing.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/114
2020-04-10 23:57:09 +02:00
Florian Müllner
a6ee142f21 build: Omit unneeded translations from zip files
Each extension zip we create includes the translations of all extensions,
which is clearly wasteful. Avoid that by generating per-extension .pot
files and filtering out unnecessary translations.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/114
2020-04-10 23:11:43 +02:00
Florian Müllner
35427ed4f1 build: Use gnome-extensions-tool for zipping up
The tool has a dedicated command for creating an extension bundle. It
knows how to handle translations and GSettings schemas, so we don't
have to.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/114
2020-04-10 23:11:43 +02:00
Florian Müllner
bce63d3168 places-menu: Emphasize eject buttons here as well
We already align the buttons correctly here, but otherwise they can
use the same treatment as in the drive-menu.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/223
2020-04-10 14:31:40 +00:00
Florian Müllner
0426d1d8d5 drive-menu: Emphasize eject buttons as distinct controls
The buttons currently appear more as an attachment to the label
than as distinct controls. Address that by:

 - applying .button styling
 - increasing spacing between label and button
 - aligning buttons at the end

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/223
2020-04-10 14:31:40 +00:00
Xiaoguang Wang
f9aaa732b2 windowPicker: Wrong signal ID _nWorkspacesNotifyId
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/106
2020-04-10 16:27:41 +02:00
Florian Müllner
7b82c5e12b ci: Update URL check
Gitlab started inserting a /-/ in its URLs, account for that.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/113
2020-04-10 16:19:27 +02:00
Yosef Or Boczko
db305687d5 Update Hebrew translation
(cherry picked from commit c477f10bfb)
2020-04-01 15:22:54 +00:00
Florian Müllner
f527fe3774 build: Post-release version bump
... and official start of the next development cycle.
2020-03-31 01:03:14 +02:00
27 changed files with 1066 additions and 776 deletions

View File

@@ -1,10 +1,12 @@
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2
stages:
- commit_check
- source_check
- review
- build
variables:
LINT_LOG: "eslint-report.txt"
JS_LOG: "js-report.txt"
.only_default: &only_default
only:
@@ -14,15 +16,25 @@ variables:
check_commit_log:
image: registry.gitlab.gnome.org/gnome/gjs:fedora.static-analysis
stage: commit_check
stage: review
script:
- ./.gitlab-ci/check-commit-log.sh
only:
- merge_requests
js_check:
stage: review
script:
- find extensions -name '*.js' -exec js68 -c -s '{}' ';' 2>&1 | tee $JS_LOG
- (! grep -q . $JS_LOG)
<<: *only_default
artifacts:
paths:
- ${JS_LOG}
when: on_failure
eslint:
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
stage: source_check
stage: review
script:
- eslint -o $LINT_LOG extensions --no-color || { cat $LINT_LOG; false; }
<<: *only_default
@@ -31,10 +43,13 @@ eslint:
- ${LINT_LOG}
when: on_failure
build-shell-extensions:
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
build-bundles:
stage: build
script:
- meson _build .
- ninja -C _build test install
- ./export-zips.sh
<<: *only_default
artifacts:
name: 'Extension bundles'
expose_as: 'Get Extension bundles here'
paths:
- zip-files/

View File

@@ -19,7 +19,7 @@ fi
function commit_message_has_url() {
commit=$1
commit_message=$(git show -s --format='format:%b' $commit)
echo "$commit_message" | grep -qe "\($CI_MERGE_REQUEST_PROJECT_URL/\(issues\|merge_requests\)/[0-9]\+\|https://bugzilla.gnome.org/show_bug.cgi?id=[0-9]\+\)"
echo "$commit_message" | grep -qe "\($CI_MERGE_REQUEST_PROJECT_URL/\(-/\)\?\(issues\|merge_requests\)/[0-9]\+\|https://bugzilla.gnome.org/show_bug.cgi?id=[0-9]\+\)"
return $?
}

17
NEWS
View File

@@ -1,3 +1,20 @@
3.37.1
======
* drive-menu: Emphasize eject buttons [Florian; #223]
* user-theme: Add preference dialog [Florian; !117]
* window-list: Fix inconsistent state in preference dialog [Milan; !119]
* workspace-indicator: Overhaul preference dialog [Florian; !120]
* user-theme: Support session mode styles [Florian; !118]
* Misc. bug fixes and cleanups [Florian, Xiaoguang; !113, !106, !114, !116]
Contributors:
Milan Crha, Florian Müllner, Xiaoguang Wang
Translators:
Daniel Korostil [uk], Yosef Or Boczko [he], Kristjan SCHMIDT [eo],
Dz Chen [zh_CN], Danial Behzadi [fa], Yuri Chornoivan [uk],
Anders Jonsson [sv], Daniel Mustieles [es]
3.36.0
======

View File

@@ -21,16 +21,23 @@ for f in $extensiondir/*; do
uuid=$name@gnome-shell-extensions.gcampax.github.com
schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml
cp $srcdir/NEWS $srcdir/COPYING $f
cp -r $localedir $f
xgettext --from-code=UTF-8 --output-dir=$builddir --output=$name.pot $f/*.js
if [ -f $schema ]; then
mkdir $f/schemas
cp $schema $f/schemas;
glib-compile-schemas $f/schemas
if [ -f $builddir/$name.pot ]; then
mkdir $f/po
for l in $(<$srcdir/po/LINGUAS); do
msgmerge --quiet --output-file=$f/po/$l.po \
$srcdir/po/$l.po $builddir/$name.pot
done
fi
(cd $f && zip -rmq $srcdir/zip-files/$uuid.shell-extension.zip .)
cp $srcdir/NEWS $srcdir/COPYING $f
sources=(NEWS COPYING $(cd $f; ls *.js))
[ -f $schema ] || unset schema
gnome-extensions pack ${sources[@]/#/--extra-source=} \
${schema:+--schema=$schema} --out-dir=$srcdir/zip-files $f
done
rm -rf $builddir

View File

@@ -35,17 +35,16 @@ class WindowMover {
_updateAppData() {
let ids = [...this._appConfigs.keys()];
let removedApps = [...this._appData.keys()].filter(
a => !ids.includes(a.id)
);
let removedApps = [...this._appData.keys()]
.filter(a => !ids.includes(a.id));
removedApps.forEach(app => {
app.disconnect(this._appData.get(app).windowsChangedId);
this._appData.delete(app);
});
let addedApps = ids.map(id => this._appSystem.lookup_app(id)).filter(
app => app && !this._appData.has(app)
);
let addedApps = ids
.map(id => this._appSystem.lookup_app(id))
.filter(app => app && !this._appData.has(app));
addedApps.forEach(app => {
let data = {
windowsChangedId: app.connect('windows-changed',
@@ -94,9 +93,9 @@ class WindowMover {
// the window still exists and is just moved to a different workspace
// or something; assume it'll be added back immediately, so keep it
// to avoid moving it again
windows.push(...data.windows.filter(
w => !windows.includes(w) && w.get_compositor_private() !== null
));
windows.push(...data.windows.filter(w => {
return !windows.includes(w) && w.get_compositor_private() !== null;
}));
let workspaceNum = this._appConfigs.get(app.id);
windows.filter(w => !data.windows.includes(w)).forEach(window => {

View File

@@ -1,6 +1,6 @@
/* exported init enable disable */
// Drive menu extension
const { Gio, GObject, Shell, St } = imports.gi;
const { Clutter, Gio, GObject, Shell, St } = imports.gi;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
@@ -14,9 +14,15 @@ const ShellMountOperation = imports.ui.shellMountOperation;
var MountMenuItem = GObject.registerClass(
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
_init(mount) {
super._init();
super._init({
style_class: 'drive-menu-item',
});
this.label = new St.Label({ text: mount.get_name() });
this.label = new St.Label({
text: mount.get_name(),
x_expand: true,
y_align: Clutter.ActorAlign.CENTER,
});
this.add_child(this.label);
this.label_actor = this.label;
@@ -28,7 +34,10 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
icon_name: 'media-eject-symbolic',
style_class: 'popup-menu-icon',
});
let ejectButton = new St.Button({ child: ejectIcon });
let ejectButton = new St.Button({
child: ejectIcon,
style_class: 'button',
});
ejectButton.connect('clicked', this._eject.bind(this));
this.add(ejectButton);

View File

@@ -1 +1,7 @@
/* This extensions requires no custom styling */
.drive-menu-item { spacing: 12px; }
.drive-menu-item .button {
border-radius: 99px;
padding: 3px;
min-height: auto;
}

View File

@@ -3,7 +3,7 @@ js_sources = []
metadata_name = 'metadata.json'
foreach e : all_extensions
foreach e : enabled_extensions
uuid = e + uuid_suffix
metadata_conf = configuration_data()
@@ -19,27 +19,11 @@ foreach e : all_extensions
subdir(e)
js_sources += extension_sources
if (enabled_extensions.contains(e))
install_data (extension_sources + extension_data,
install_dir: join_paths(extensiondir, uuid)
)
endif
install_data (extension_sources + extension_data,
install_dir: join_paths(extensiondir, uuid)
)
endforeach
install_data (extension_schemas,
install_dir: schemadir
)
foreach js_source : js_sources
if (js68.found())
path_array = '@0@'.format(js_source).split('/')
name = join_paths(path_array[-2], path_array[-1])
test('Checking syntax of ' + name, js68,
args: ['-s', '-c', js_source],
workdir: meson.current_source_dir()
)
endif
endforeach

View File

@@ -20,7 +20,9 @@ const PLACE_ICON_SIZE = 16;
var PlaceMenuItem = GObject.registerClass(
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
_init(info) {
super._init();
super._init({
style_class: 'place-menu-item',
});
this._info = info;
this._icon = new St.Icon({
@@ -29,7 +31,11 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
});
this.add_child(this._icon);
this._label = new St.Label({ text: info.name, x_expand: true });
this._label = new St.Label({
text: info.name,
x_expand: true,
y_align: Clutter.ActorAlign.CENTER,
});
this.add_child(this._label);
if (info.isRemovable()) {
@@ -37,7 +43,10 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
icon_name: 'media-eject-symbolic',
style_class: 'popup-menu-icon',
});
this._ejectButton = new St.Button({ child: this._ejectIcon });
this._ejectButton = new St.Button({
child: this._ejectIcon,
style_class: 'button',
});
this._ejectButton.connect('clicked', info.eject.bind(info));
this.add_child(this._ejectButton);
}

View File

@@ -1 +1,8 @@
/* none used*/
.place-menu-item .button {
border-radius: 99px;
padding: 3px;
min-height: auto;
}
.place-menu-item .button:ltr { margin-left: 6px; }
.place-menu-item .button:rtl { margin-right: 6px; }

View File

@@ -2,11 +2,14 @@
// Load shell theme from ~/.local/share/themes/name/gnome-shell
/* exported init */
const { Gio, GLib } = imports.gi;
const { Gio } = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main;
const Me = ExtensionUtils.getCurrentExtension();
const Util = Me.imports.util;
const SETTINGS_KEY = 'name';
class ThemeManager {
@@ -34,13 +37,11 @@ class ThemeManager {
let themeName = this._settings.get_string(SETTINGS_KEY);
if (themeName) {
let stylesheetPaths = [
[GLib.get_home_dir(), '.themes'],
[GLib.get_user_data_dir(), 'themes'],
...GLib.get_system_data_dirs().map(dir => [dir, 'themes']),
].map(themeDir => GLib.build_filenamev([
...themeDir, themeName, 'gnome-shell', 'gnome-shell.css',
]));
const stylesheetPaths = Util.getThemeDirs()
.map(dir => `${dir}/${themeName}/gnome-shell/gnome-shell.css`);
stylesheetPaths.push(...Util.getModeThemeDirs()
.map(dir => `${dir}/${themeName}.css`));
stylesheet = stylesheetPaths.find(path => {
let file = Gio.file_new_for_path(path);

View File

@@ -4,4 +4,5 @@ extension_data += configure_file(
configuration: metadata_conf
)
extension_sources += files('prefs.js', 'util.js')
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')

View File

@@ -0,0 +1,189 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
/* exported init buildPrefsWidget */
// we use async/await here to not block the mainloop, not to parallelize
/* eslint-disable no-await-in-loop */
const { Gio, GLib, GObject, Gtk } = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils;
const Me = ExtensionUtils.getCurrentExtension();
const Util = Me.imports.util;
Gio._promisify(Gio._LocalFilePrototype,
'enumerate_children_async', 'enumerate_children_finish');
Gio._promisify(Gio._LocalFilePrototype,
'query_info_async', 'query_info_finish');
Gio._promisify(Gio.FileEnumerator.prototype,
'next_files_async', 'next_files_finish');
const UserThemePrefsWidget = GObject.registerClass(
class UserThemePrefsWidget extends Gtk.ScrolledWindow {
_init() {
super._init({
hscrollbar_policy: Gtk.PolicyType.NEVER,
});
const box = new Gtk.Box();
this.add(box);
this._list = new Gtk.ListBox({
selection_mode: Gtk.SelectionMode.NONE,
halign: Gtk.Align.CENTER,
valign: Gtk.Align.START,
hexpand: true,
margin: 60,
});
this._list.get_style_context().add_class('frame');
this._list.set_header_func(this._updateHeader.bind(this));
box.add(this._list);
this._actionGroup = new Gio.SimpleActionGroup();
this._list.insert_action_group('theme', this._actionGroup);
this._settings = ExtensionUtils.getSettings();
this._actionGroup.add_action(
this._settings.create_action('name'));
this.connect('destroy', () => this._settings.run_dispose());
this._rows = new Map();
this._addTheme(''); // default
this._collectThemes();
}
async _collectThemes() {
for (const dirName of Util.getThemeDirs()) {
const dir = Gio.File.new_for_path(dirName);
for (const name of await this._enumerateDir(dir)) {
if (this._rows.has(name))
continue;
const file = dir.resolve_relative_path(
`${name}/gnome-shell/gnome-shell.css`);
try {
await file.query_info_async(
Gio.FILE_ATTRIBUTE_STANDARD_NAME,
Gio.FileQueryInfoFlags.NONE,
GLib.PRIORITY_DEFAULT, null);
this._addTheme(name);
} catch (e) {
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
logError(e);
}
}
}
for (const dirName of Util.getModeThemeDirs()) {
const dir = Gio.File.new_for_path(dirName);
for (const filename of await this._enumerateDir(dir)) {
if (!filename.endsWith('.css'))
continue;
const name = filename.slice(0, -4);
if (!this._rows.has(name))
this._addTheme(name);
}
}
}
_addTheme(name) {
const row = new ThemeRow(name);
this._rows.set(name, row);
this._list.add(row);
row.show_all();
}
async _enumerateDir(dir) {
const fileInfos = [];
let fileEnum;
try {
fileEnum = await dir.enumerate_children_async(
Gio.FILE_ATTRIBUTE_STANDARD_NAME,
Gio.FileQueryInfoFlags.NONE,
GLib.PRIORITY_DEFAULT, null);
} catch (e) {
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
logError(e);
return [];
}
let infos;
do {
infos = await fileEnum.next_files_async(100,
GLib.PRIORITY_DEFAULT, null);
fileInfos.push(...infos);
} while (infos.length > 0);
return fileInfos.map(info => info.get_name());
}
_updateHeader(row, before) {
if (!before || row.get_header())
return;
row.set_header(new Gtk.Separator());
}
});
const ThemeRow = GObject.registerClass(
class ThemeRow extends Gtk.ListBoxRow {
_init(name) {
this._name = new GLib.Variant('s', name);
super._init({
action_name: 'theme.name',
action_target: this._name,
});
const box = new Gtk.Box({
spacing: 12,
margin: 12,
});
this.add(box);
box.add(new Gtk.Label({
label: name || 'Default',
hexpand: true,
xalign: 0,
max_width_chars: 25,
width_chars: 25,
}));
this._checkmark = new Gtk.Image({
icon_name: 'emblem-ok-symbolic',
pixel_size: 16,
});
box.add(this._checkmark);
box.show_all();
const id = this.connect('parent-set', () => {
this.disconnect(id);
const actionGroup = this.get_action_group('theme');
actionGroup.connect('action-state-changed::name',
this._syncCheckmark.bind(this));
this._syncCheckmark();
});
}
_syncCheckmark() {
const actionGroup = this.get_action_group('theme');
const state = actionGroup.get_action_state('name');
this._checkmark.opacity = this._name.equal(state);
}
});
function init() {
}
function buildPrefsWidget() {
let widget = new UserThemePrefsWidget();
widget.show_all();
return widget;
}

View File

@@ -0,0 +1,17 @@
/* exported getThemeDirs getModeThemeDirs */
const { GLib } = imports.gi;
const fn = (...args) => GLib.build_filenamev(args);
function getThemeDirs() {
return [
fn(GLib.get_home_dir(), '.themes'),
fn(GLib.get_user_data_dir(), 'themes'),
...GLib.get_system_data_dirs().map(dir => fn(dir, 'themes')),
];
}
function getModeThemeDirs() {
return GLib.get_system_data_dirs()
.map(dir => fn(dir, 'gnome-shell', 'theme'));
}

View File

@@ -50,6 +50,7 @@ class WindowListPrefsWidget extends Gtk.Grid {
};
let radio = null;
let currentRadio = null;
for (let i = 0; i < modes.length; i++) {
let mode = modes[i];
let label = modeLabels[mode];
@@ -59,18 +60,24 @@ class WindowListPrefsWidget extends Gtk.Grid {
}
radio = new Gtk.RadioButton({
active: currentMode === mode,
active: !i,
label,
group: radio,
});
grid.add(radio);
if (currentMode === mode)
currentRadio = radio;
radio.connect('toggled', button => {
if (button.active)
this._settings.set_string('grouping-mode', mode);
});
}
if (currentRadio)
currentRadio.active = true;
let check = new Gtk.CheckButton({
label: _('Show on all monitors'),
margin_top: 6,

View File

@@ -83,8 +83,8 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
this._workareasChangedId = 0;
if (this._nWorkspacesChangedId)
global.workspace_manager.disconnect(this._nWorkspacesNotifyId);
this._nWorkspacesNotifyId = 0;
global.workspace_manager.disconnect(this._nWorkspacesChangedId);
this._nWorkspacesChangedId = 0;
super._onDestroy();
}

View File

@@ -1,7 +1,7 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
/* exported init buildPrefsWidget */
const { Gio, GObject, Gtk } = imports.gi;
const { Gdk, Gio, GLib, GObject, Gtk, Pango } = imports.gi;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
@@ -12,189 +12,221 @@ const ExtensionUtils = imports.misc.extensionUtils;
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
const WORKSPACE_KEY = 'workspace-names';
const WorkspaceNameModel = GObject.registerClass(
class WorkspaceNameModel extends Gtk.ListStore {
_init(params) {
super._init(params);
this.set_column_types([GObject.TYPE_STRING]);
this.Columns = {
LABEL: 0,
};
this._settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA });
this._reloadFromSettings();
// overriding class closure doesn't work, because GtkTreeModel
// plays tricks with marshallers and class closures
this.connect('row-changed', this._onRowChanged.bind(this));
this.connect('row-inserted', this._onRowInserted.bind(this));
this.connect('row-deleted', this._onRowDeleted.bind(this));
}
_reloadFromSettings() {
if (this._preventChanges)
return;
this._preventChanges = true;
let newNames = this._settings.get_strv(WORKSPACE_KEY);
let i = 0;
let [ok, iter] = this.get_iter_first();
while (ok && i < newNames.length) {
this.set(iter, [this.Columns.LABEL], [newNames[i]]);
ok = this.iter_next(iter);
i++;
}
while (ok)
ok = this.remove(iter);
for (; i < newNames.length; i++) {
iter = this.append();
this.set(iter, [this.Columns.LABEL], [newNames[i]]);
}
this._preventChanges = false;
}
_onRowChanged(self, path, iter) {
if (this._preventChanges)
return;
this._preventChanges = true;
let index = path.get_indices()[0];
let names = this._settings.get_strv(WORKSPACE_KEY);
if (index >= names.length) {
// fill with blanks
for (let i = names.length; i <= index; i++)
names[i] = '';
}
names[index] = this.get_value(iter, this.Columns.LABEL);
this._settings.set_strv(WORKSPACE_KEY, names);
this._preventChanges = false;
}
_onRowInserted(self, path, iter) {
if (this._preventChanges)
return;
this._preventChanges = true;
let index = path.get_indices()[0];
let names = this._settings.get_strv(WORKSPACE_KEY);
let label = this.get_value(iter, this.Columns.LABEL) || '';
names.splice(index, 0, label);
this._settings.set_strv(WORKSPACE_KEY, names);
this._preventChanges = false;
}
_onRowDeleted(self, path) {
if (this._preventChanges)
return;
this._preventChanges = true;
let index = path.get_indices()[0];
let names = this._settings.get_strv(WORKSPACE_KEY);
if (index >= names.length)
return;
names.splice(index, 1);
// compact the array
for (let i = names.length - 1; i >= 0 && !names[i]; i++)
names.pop();
this._settings.set_strv(WORKSPACE_KEY, names);
this._preventChanges = false;
}
});
const WorkspaceSettingsWidget = GObject.registerClass(
class WorkspaceSettingsWidget extends Gtk.Grid {
_init(params) {
super._init(params);
this.margin = 12;
this.orientation = Gtk.Orientation.VERTICAL;
class WorkspaceSettingsWidget extends Gtk.ScrolledWindow {
_init() {
super._init({
hscrollbar_policy: Gtk.PolicyType.NEVER,
});
this.add(new Gtk.Label({
const box = new Gtk.Box({
orientation: Gtk.Orientation.VERTICAL,
halign: Gtk.Align.CENTER,
spacing: 12,
margin_top: 36,
margin_bottom: 36,
margin_start: 36,
margin_end: 36,
});
this.add(box);
box.add(new Gtk.Label({
label: '<b>%s</b>'.format(_('Workspace Names')),
use_markup: true,
margin_bottom: 6,
hexpand: true,
halign: Gtk.Align.START,
}));
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN });
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
this.add(scrolled);
this._list = new Gtk.ListBox({
selection_mode: Gtk.SelectionMode.NONE,
valign: Gtk.Align.START,
});
this._list.set_header_func(this._updateHeader.bind(this));
this._list.connect('row-activated', (l, row) => row.edit());
box.add(this._list);
this._store = new WorkspaceNameModel();
this._treeView = new Gtk.TreeView({
model: this._store,
headers_visible: false,
reorderable: true,
const context = this._list.get_style_context();
const cssProvider = new Gtk.CssProvider();
cssProvider.load_from_data(
'list { min-width: 25em; }');
context.add_provider(cssProvider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
context.add_class('frame');
this._list.add(new NewWorkspaceRow());
this._actionGroup = new Gio.SimpleActionGroup();
this._list.insert_action_group('workspaces', this._actionGroup);
let action;
action = new Gio.SimpleAction({ name: 'add' });
action.connect('activate', () => {
const names = this._settings.get_strv(WORKSPACE_KEY);
this._settings.set_strv(WORKSPACE_KEY, [
...names,
_('Workspace %d').format(names.length + 1),
]);
});
this._actionGroup.add_action(action);
action = new Gio.SimpleAction({
name: 'remove',
parameter_type: new GLib.VariantType('s'),
});
action.connect('activate', (a, param) => {
const removed = param.deepUnpack();
this._settings.set_strv(WORKSPACE_KEY,
this._settings.get_strv(WORKSPACE_KEY)
.filter(name => name !== removed));
});
this._actionGroup.add_action(action);
action = new Gio.SimpleAction({ name: 'update' });
action.connect('activate', () => {
const names = this._getWorkspaceRows().map(row => row.name);
this._settings.set_strv(WORKSPACE_KEY, names);
});
this._actionGroup.add_action(action);
this._settings = new Gio.Settings({
schema_id: WORKSPACE_SCHEMA,
});
this._settings.connect(`changed::${WORKSPACE_KEY}`,
this._sync.bind(this));
this._sync();
this.show_all();
}
_getWorkspaceRows() {
return this._list.get_children().filter(row => row.name);
}
_sync() {
const rows = this._getWorkspaceRows();
const oldNames = rows.map(row => row.name);
const newNames = this._settings.get_strv(WORKSPACE_KEY);
const removed = oldNames.filter(n => !newNames.includes(n));
const added = newNames.filter(n => !oldNames.includes(n));
removed.forEach(n => rows.find(r => r.name === n).destroy());
added.forEach(n => {
this._list.insert(new WorkspaceRow(n), newNames.indexOf(n));
});
}
_updateHeader(row, before) {
if (!before || row.get_header())
return;
row.set_header(new Gtk.Separator());
}
});
const WorkspaceRow = GObject.registerClass(
class WorkspaceRow extends Gtk.ListBoxRow {
_init(name) {
super._init({ name });
const box = new Gtk.Box({
spacing: 12,
margin_top: 6,
margin_bottom: 6,
margin_start: 6,
margin_end: 6,
});
const label = new Gtk.Label({
hexpand: true,
vexpand: true,
xalign: 0,
max_width_chars: 25,
ellipsize: Pango.EllipsizeMode.END,
});
this.bind_property('name', label, 'label',
GObject.BindingFlags.SYNC_CREATE);
box.add(label);
const image = new Gtk.Image({
icon_name: 'edit-delete-symbolic',
pixel_size: 16,
});
const button = new Gtk.Button({
action_name: 'workspaces.remove',
action_target: new GLib.Variant('s', name),
image,
});
box.add(button);
this._entry = new Gtk.Entry({
max_width_chars: 25,
});
let column = new Gtk.TreeViewColumn({ title: _('Name') });
let renderer = new Gtk.CellRendererText({ editable: true });
renderer.connect('edited', this._cellEdited.bind(this));
column.pack_start(renderer, true);
column.add_attribute(renderer, 'text', this._store.Columns.LABEL);
this._treeView.append_column(column);
this._stack = new Gtk.Stack();
this._stack.add_named(box, 'display');
this._stack.add_named(this._entry, 'edit');
this.add(this._stack);
scrolled.add(this._treeView);
let toolbar = new Gtk.Toolbar({ icon_size: Gtk.IconSize.SMALL_TOOLBAR });
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR);
let newButton = new Gtk.ToolButton({ icon_name: 'list-add-symbolic' });
newButton.connect('clicked', this._newClicked.bind(this));
toolbar.add(newButton);
let delButton = new Gtk.ToolButton({ icon_name: 'list-remove-symbolic' });
delButton.connect('clicked', this._delClicked.bind(this));
toolbar.add(delButton);
let selection = this._treeView.get_selection();
selection.connect('changed', () => {
delButton.sensitive = selection.count_selected_rows() > 0;
this._entry.connect('activate', () => {
this.name = this._entry.text;
this._stopEdit();
});
delButton.sensitive = selection.count_selected_rows() > 0;
this._entry.connect('notify::has-focus', () => {
if (this._entry.has_focus)
return;
this._stopEdit();
});
this._entry.connect('key-press-event',
this._onEntryKeyPress.bind(this));
this.add(toolbar);
this.connect('notify::name', () => {
button.action_target = new GLib.Variant('s', this.name);
const actionGroup = this.get_action_group('workspaces');
actionGroup.activate_action('update', null);
});
this.show_all();
}
_cellEdited(renderer, path, newText) {
let [ok, iter] = this._store.get_iter_from_string(path);
if (ok)
this._store.set(iter, [this._store.Columns.LABEL], [newText]);
edit() {
this._entry.text = this.name;
this._entry.grab_focus();
this._stack.visible_child_name = 'edit';
}
_newClicked() {
let iter = this._store.append();
let index = this._store.get_path(iter).get_indices()[0];
let label = _('Workspace %d').format(index + 1);
this._store.set(iter, [this._store.Columns.LABEL], [label]);
_stopEdit() {
this.grab_focus();
this._stack.visible_child_name = 'display';
}
_delClicked() {
let [any, model_, iter] = this._treeView.get_selection().get_selected();
_onEntryKeyPress(entry, event) {
const [, keyval] = event.get_keyval();
if (keyval !== Gdk.KEY_Escape)
return Gdk.EVENT_PROPAGATE;
this._stopEdit();
return Gdk.EVENT_STOP;
}
});
if (any)
this._store.remove(iter);
const NewWorkspaceRow = GObject.registerClass(
class NewWorkspaceRow extends Gtk.ListBoxRow {
_init() {
super._init({
action_name: 'workspaces.add',
});
this.get_accessible().set_name(_('Add Workspace'));
this.add(new Gtk.Image({
icon_name: 'list-add-symbolic',
pixel_size: 16,
margin_top: 12,
margin_bottom: 12,
margin_start: 12,
margin_end: 12,
}));
this.show_all();
}
});
@@ -203,8 +235,5 @@ function init() {
}
function buildPrefsWidget() {
let widget = new WorkspaceSettingsWidget();
widget.show_all();
return widget;
return new WorkspaceSettingsWidget();
}

View File

@@ -1,5 +1,5 @@
project('gnome-shell-extensions',
version: '3.36.0',
version: '3.37.1',
meson_version: '>= 0.44.0',
license: 'GPL2+'
)
@@ -20,8 +20,6 @@ schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
sessiondir = join_paths(datadir, 'gnome-session', 'sessions')
xsessiondir = join_paths(datadir, 'xsessions')
js68 = find_program('js68', required: false)
ver_arr = meson.project_version().split('.')
if ver_arr[1].to_int().is_even()
shell_version = '@0@.@1@'.format(ver_arr[0], ver_arr[1])

View File

@@ -10,7 +10,6 @@ extensions/native-window-placement/org.gnome.shell.extensions.native-window-plac
extensions/places-menu/extension.js
extensions/places-menu/placeDisplay.js
extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
extensions/user-theme/extension.js
extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml
extensions/window-list/extension.js
extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml

129
po/eo.po
View File

@@ -9,8 +9,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: 2019-03-02 10:57+0000\n"
"PO-Revision-Date: 2019-03-06 22:14+0200\n"
"POT-Creation-Date: 2020-03-31 07:16+0000\n"
"PO-Revision-Date: 2020-04-18 10:59+0200\n"
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
"Language-Team: Esperanto <gnome-eo-list@gnome.org>\n"
"Language: eo\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Virtaal 0.7.1\n"
"X-Generator: Poedit 2.3\n"
"X-Project-Style: gnome\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
@@ -29,15 +29,11 @@ msgstr "GNOME-klasika"
msgid "This session logs you into GNOME Classic"
msgstr "Ĉi seanco ensalutas vin GNOME-klasiken"
#: extensions/apps-menu/extension.js:29
msgid "Activities Overview"
msgstr "Aktivecoj-Superrigardon"
#: extensions/apps-menu/extension.js:118
#: extensions/apps-menu/extension.js:113
msgid "Favorites"
msgstr "Plej ŝatataj"
#: extensions/apps-menu/extension.js:407
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplikaĵoj"
@@ -53,41 +49,39 @@ msgstr ""
"Listo de ĉenoj, ĉiu enhavas aplikaĵan identigilon ('desktop' dosiernomo), "
"sevkita per dupunkto kaj la laborspaca numero"
#: extensions/auto-move-windows/prefs.js:60
#: extensions/auto-move-windows/prefs.js:59
msgid "Application"
msgstr "Aplikaĵo"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
#: extensions/auto-move-windows/prefs.js:70
#: extensions/auto-move-windows/prefs.js:133
msgid "Workspace"
msgstr "Laborspaco"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:88
msgid "Add Rule"
msgstr "Aldoni regulon"
#: extensions/auto-move-windows/prefs.js:111
#: extensions/auto-move-windows/prefs.js:110
msgid "Create new matching rule"
msgstr "Krei novan kongruantan regulon"
#: extensions/auto-move-windows/prefs.js:117
#: extensions/auto-move-windows/prefs.js:116
msgid "Add"
msgstr "Aldoni"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:100
#: extensions/places-menu/placeDisplay.js:217
#: extensions/drive-menu/extension.js:103
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
#| msgid "Ejecting drive '%s' failed:"
msgid "Ejecting drive “%s” failed:"
msgstr "Elĵeto de volumo “%s” malsukcesis:"
#: extensions/drive-menu/extension.js:116
#: extensions/drive-menu/extension.js:119
msgid "Removable devices"
msgstr "Demeteblaj aparatoj"
#: extensions/drive-menu/extension.js:143
#| msgid "Open File"
#: extensions/drive-menu/extension.js:146
msgid "Open Files"
msgstr "Malfermi dosierojn"
@@ -119,32 +113,31 @@ msgstr ""
"estas meti ĝin malsupre). Si vi ŝanĝas ĉi agordon tiam vi devas restartigi "
"la ŝelon."
#: extensions/places-menu/extension.js:79
#: extensions/places-menu/extension.js:83
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
msgid "Places"
msgstr "Lokoj"
#: extensions/places-menu/placeDisplay.js:59
#: extensions/places-menu/placeDisplay.js:46
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr ""
#: extensions/places-menu/placeDisplay.js:72
#, javascript-format
#| msgid "Failed to launch \"%s\""
msgid "Failed to launch “%s”"
msgstr "Malsukcesis lanĉi “%s”"
#: extensions/places-menu/placeDisplay.js:133
#: extensions/places-menu/placeDisplay.js:156
#: extensions/places-menu/placeDisplay.js:61
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Ne eblis munti datumportilon por “%s”"
#: extensions/places-menu/placeDisplay.js:148
#: extensions/places-menu/placeDisplay.js:171
msgid "Computer"
msgstr "Komputilo"
#: extensions/places-menu/placeDisplay.js:343
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Domo"
#: extensions/places-menu/placeDisplay.js:387
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Foliumi reton"
@@ -153,10 +146,8 @@ msgid "Cycle Screenshot Sizes"
msgstr "Cikle montri ekrankopiajn grandojn"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
#, fuzzy
#| msgid "Cycle Screenshot Sizes"
msgid "Cycle Screenshot Sizes Backward"
msgstr "Cikle montri ekrankopiajn grandojn"
msgstr "Montri ekrankopiajn grandojn laŭ inversa sinsekvo"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
msgid "Theme name"
@@ -166,52 +157,47 @@ msgstr "Etosnomo"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "La nomo de la etoso, malfermigi de ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:100
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Malfermi"
msgstr "Fermi"
#: extensions/window-list/extension.js:120
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Neplejetigi"
#: extensions/window-list/extension.js:120
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Plejetigi"
#: extensions/window-list/extension.js:127
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Nemaksimumigi"
#: extensions/window-list/extension.js:127
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maksimumigi"
#: extensions/window-list/extension.js:408
#: extensions/window-list/extension.js:429
msgid "Minimize all"
msgstr "Plejetigi ĉiujn"
#: extensions/window-list/extension.js:414
#: extensions/window-list/extension.js:435
msgid "Unminimize all"
msgstr "Neplejetigi ĉiujn"
#: extensions/window-list/extension.js:420
#: extensions/window-list/extension.js:441
msgid "Maximize all"
msgstr "Maksimumigi ĉiujn"
#: extensions/window-list/extension.js:429
#: extensions/window-list/extension.js:449
msgid "Unmaximize all"
msgstr "Nemaksimumigi ĉiujn"
#: extensions/window-list/extension.js:438
#: extensions/window-list/extension.js:457
msgid "Close all"
msgstr "Fermi ĉiujn"
#: extensions/window-list/extension.js:655
#: extensions/workspace-indicator/extension.js:21
msgid "Workspace Indicator"
msgstr "Laborspaco Indikilo"
#: extensions/window-list/extension.js:836
#: extensions/window-list/extension.js:737
msgid "Window List"
msgstr "Fenestra listo"
@@ -220,23 +206,27 @@ msgid "When to group windows"
msgstr "Kiam grupigi fenestrojn"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
#, fuzzy
#| msgid ""
#| "Decides when to group windows from the same application on the window "
#| "list. Possible values are \"never\", \"auto\" and \"always\"."
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
msgstr ""
"Decidas kiam grupi fenestrojn de la sama aplikaĵo en la fenestra listo. "
"Validaj valoroj estas “never” (neniam), “auto” (aŭtomate) kaj “always” "
"(ĉiam)."
"Validaj valoroj estas “neniam, “aŭtomate kaj ĉiam”."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
msgid "Show windows from all workspaces"
msgstr "Montri la fenestrojn de ĉiuj laborspacoj"
#: 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 "Ĉu montri la fenestrojn de ĉiuj laborspacoj aŭ nur de la nuna."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
msgstr "Montri la fenestroliston en ĉiuj ekranoj"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
@@ -263,19 +253,27 @@ msgstr "Ĉiam grupigi fenestrojn"
msgid "Show on all monitors"
msgstr "Montri en ĉiuj ekranoj"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/window-list/workspaceIndicator.js:209
#: extensions/workspace-indicator/extension.js:215
msgid "Workspace Indicator"
msgstr "Laborspaco Indikilo"
#: extensions/workspace-indicator/prefs.js:129
msgid "Workspace Names"
msgstr "Laborspacaj nomoj"
#: extensions/workspace-indicator/prefs.js:151
#: extensions/workspace-indicator/prefs.js:149
msgid "Name"
msgstr "Nomo"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:189
#, javascript-format
msgid "Workspace %d"
msgstr "Laborspaco %d"
#~ msgid "Activities Overview"
#~ msgstr "Aktivecoj-Superrigardon"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Kunligi modalan dialogon al la patra fenestro"
@@ -319,9 +317,6 @@ msgstr "Laborspaco %d"
#~ msgid "Present windows as"
#~ msgstr "Prezenti fenestron kiel"
#~ msgid "Show only windows in the current workspace"
#~ msgstr "Montri nur fenestrojn en la aktuala laborspaco"
#~ msgid "Hello, world!"
#~ msgstr "Saluton, mondo!"

View File

@@ -4,15 +4,15 @@
# Jorge González <jorgegonz@svn.gnome.org>, 2011.
# Nicolás Satragno <nsatragno@gmail.com>, 2011.
#
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2019.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2020.
#
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: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-20 12:08+0200\n"
"POT-Creation-Date: 2020-04-17 16:03+0000\n"
"PO-Revision-Date: 2020-04-28 12:37+0200\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
"Language: es_ES\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 3.32.1\n"
"X-Generator: Gtranslator 3.36.0\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -34,7 +34,7 @@ msgstr "Esta sesión inicia GNOME clásico"
msgid "Favorites"
msgstr "Favoritos"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplicaciones"
@@ -50,39 +50,39 @@ msgstr ""
"Una lista de cadenas, conteniendo cada una un ID de aplicación (nombre de "
"archivo de escritorio), seguido de dos puntos y el número del área de trabajo"
#: extensions/auto-move-windows/prefs.js:60
#: extensions/auto-move-windows/prefs.js:59
msgid "Application"
msgstr "Aplicación"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
#: extensions/auto-move-windows/prefs.js:70
#: extensions/auto-move-windows/prefs.js:133
msgid "Workspace"
msgstr "Área de trabajo"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:88
msgid "Add Rule"
msgstr "Añadir regla"
#: extensions/auto-move-windows/prefs.js:111
#: extensions/auto-move-windows/prefs.js:110
msgid "Create new matching rule"
msgstr "Crear regla de coincidencia nueva"
#: extensions/auto-move-windows/prefs.js:117
#: extensions/auto-move-windows/prefs.js:116
msgid "Add"
msgstr "Añadir"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Falló al expulsar el dispositivo «%s»:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Dispositivos extraíbles"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Abrir archivos"
@@ -115,8 +115,8 @@ msgstr ""
"los sitúa por debajo. Cambiar esta configuración requiere reiniciar la shell "
"para que tenga efecto."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Lugares"
@@ -135,11 +135,11 @@ msgstr "Falló al montar el volumen para «%s»"
msgid "Computer"
msgstr "Equipo"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Carpeta personal"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Examinar la red"
@@ -159,47 +159,47 @@ msgstr "Nombre del tema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "El nombre del tema, que se carga desde ~/.themes/nombre/gnome-shell"
#: extensions/window-list/extension.js:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Cerrar"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Desminimizar"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimizar"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Desmaximizar"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maximizar"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:429
msgid "Minimize all"
msgstr "Minimizar todo"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:435
msgid "Unminimize all"
msgstr "Desminimizar todo"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:441
msgid "Maximize all"
msgstr "Maximizar todo"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:449
msgid "Unmaximize all"
msgstr "Desmaximizar todo"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:457
msgid "Close all"
msgstr "Cerrar todo"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:737
msgid "Window List"
msgstr "Lista de ventanas"
@@ -216,15 +216,11 @@ msgstr ""
"ventanas. Los valores posibles son «never», «auto» y «always»."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#| msgid "Show only windows in the current workspace"
#: extensions/window-list/prefs.js:89
msgid "Show windows from all workspaces"
msgstr "Mostrar ventanas de todas las áreas de trabajo"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#| msgid ""
#| "Whether to show the window list on all connected monitors or only on the "
#| "primary one."
msgid "Whether to show windows from all workspaces or only the current one."
msgstr ""
"Indica si se deben mostrar ventanas de todas las áreas de trabajo o sólo de "
@@ -258,28 +254,32 @@ msgstr "Agrupar las ventanas cuando el espacio esté limitado"
msgid "Always group windows"
msgstr "Siempre agrupar las ventanas"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:82
msgid "Show on all monitors"
msgstr "Mostrar en todas las pantallas"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:209
#: extensions/workspace-indicator/extension.js:215
msgid "Workspace Indicator"
msgstr "Indicador de área de trabajo"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Nombres de los áreas de trabajo"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Nombre"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Área de trabajo %d"
#: extensions/workspace-indicator/prefs.js:218
#| msgid "Workspace"
msgid "Add Workspace"
msgstr "Añadir área de trabajo"
#~ msgid "Name"
#~ msgstr "Nombre"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Acoplar un diálogo modal a la ventana padre"

View File

@@ -8,8 +8,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: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-14 11:48+0430\n"
"POT-Creation-Date: 2020-04-17 16:03+0000\n"
"PO-Revision-Date: 2020-04-24 20:12+0000\n"
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
"Language-Team: Persian <>\n"
"Language: fa\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Generator: Poedit 2.2.1\n"
"X-Generator: Poedit 2.3\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
@@ -32,7 +32,7 @@ msgstr "این نشست شما را به گنوم کلاسیک وارد می‌
msgid "Favorites"
msgstr "علاقه‌مندی‌ها"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "برنامه‌ها"
@@ -48,39 +48,39 @@ msgstr ""
"فهرستی از رشته‌ها، هرکدام حاوی شناسه‌ی یک برنامه (نام پرونده رومیزی)، در ادامه‌ی یک "
"ویرگول و شماره‌ی فضای کاری"
#: extensions/auto-move-windows/prefs.js:60
#: extensions/auto-move-windows/prefs.js:59
msgid "Application"
msgstr "برنامه"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
#: extensions/auto-move-windows/prefs.js:70
#: extensions/auto-move-windows/prefs.js:133
msgid "Workspace"
msgstr "فضای‌کاری"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:88
msgid "Add Rule"
msgstr "افزودن قاعده"
#: extensions/auto-move-windows/prefs.js:111
#: extensions/auto-move-windows/prefs.js:110
msgid "Create new matching rule"
msgstr "افزودن یک قاعده‌ی منطبق جدید"
#: extensions/auto-move-windows/prefs.js:117
#: extensions/auto-move-windows/prefs.js:116
msgid "Add"
msgstr "اضافه"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "بیرون دادن دیسک‌گردان «%s» شکست خورد:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "دستگاه‌های جداشدنی"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "گشودن پرونده‌ها"
@@ -112,7 +112,7 @@ msgstr ""
"شل در پایین را تغییر می‌دهد. تغییر این گزینه، نیاز به راه‌اندازی مجدد شل دارد تا "
"تاثیر بگذارد."
#: extensions/places-menu/extension.js:80 extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89 extensions/places-menu/extension.js:93
msgid "Places"
msgstr "مکان‌ها"
@@ -131,11 +131,11 @@ msgstr "شکست در سوار کردن حجم برای «%s»"
msgid "Computer"
msgstr "رایانه"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "خانه"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "مرور شبکه"
@@ -155,47 +155,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:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "خروج"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "ناکمینه"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "کمینه"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "نابیشینه"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "بیشنه"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:429
msgid "Minimize all"
msgstr "کمینهٔ همه"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:435
msgid "Unminimize all"
msgstr "ناکمینهٔ همه"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:441
msgid "Maximize all"
msgstr "بیشینهٔ همه"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:449
msgid "Unmaximize all"
msgstr "نابیشینهٔ همه"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:457
msgid "Close all"
msgstr "بستن همه"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:737
msgid "Window List"
msgstr "فهرست پنجره"
@@ -212,7 +212,7 @@ msgstr ""
"ممکن عبارتند از «never»، «auto» و «always»."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:89
msgid "Show windows from all workspaces"
msgstr "نمایش پنجره‌ها از تمام فضاهای کاری"
@@ -248,28 +248,31 @@ msgstr "پنجره‌ها زمانی که فضا محدود است گروه شو
msgid "Always group windows"
msgstr "همیشه پنجره‌ها گروه شوند"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:82
msgid "Show on all monitors"
msgstr "نمایش در تمام نمایشگرها"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:209
#: extensions/workspace-indicator/extension.js:215
msgid "Workspace Indicator"
msgstr "نشانگر فضای‌کاری"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "نام‌های فضای کاری"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "نام"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "فضای کاری %Id"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "افزودن فضای‌کاری"
#~ msgid "Name"
#~ msgstr "نام"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "اتصال محاوره modal به پنجره والد"

348
po/he.po
View File

@@ -2,104 +2,46 @@
# Copyright (C) 2011 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Yaron Shahrabani <sh.yaron@gmail.com>, 2011.
# Yosef Or Boczko <yoseforb@gnome.org>, 2013, 2014.
# Yosef Or Boczko <yoseforb@gmail.com>, 2013-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-26 21:10+0200\n"
"PO-Revision-Date: 2015-01-26 21:10+0200\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2020-03-31 07:16+0000\n"
"PO-Revision-Date: 2020-04-01 18:20+0300\n"
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
"Language-Team: עברית <>\n"
"Language-Team: Hebrew <yoseforb@gmail.com>\n"
"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 : 2\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Gtranslator 2.91.6\n"
"X-Generator: Gtranslator 3.36.0\n"
#: ../data/gnome-classic.desktop.in.h:1
#: ../data/gnome-classic.session.desktop.in.in.h:1
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
msgstr "GNOME קלסי"
msgstr "0GNOME קלסי"
#: ../data/gnome-classic.desktop.in.h:2
#: data/gnome-classic.desktop.in:4
msgid "This session logs you into GNOME Classic"
msgstr "הפעלה זו מכניסה אותך למצב הקלסי של GNOME"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:1
msgid "Attach modal dialog to the parent window"
msgstr "Attach modal dialog to the parent window"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:2
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:3
msgid "Arrangement of buttons on the titlebar"
msgstr "Arrangement of buttons on the titlebar"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:4
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
msgstr ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:5
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "Enable edge tiling when dropping windows on screen edges"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:6
msgid "Workspaces only on primary monitor"
msgstr "Workspaces only on primary monitor"
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:7
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Delay focus changes in mouse mode until the pointer stops moving"
#: ../extensions/alternate-tab/prefs.js:20
msgid "Thumbnail only"
msgstr "תמונות ממוזערות בלבד"
#: ../extensions/alternate-tab/prefs.js:21
msgid "Application icon only"
msgstr "סמל היישום בלבד"
#: ../extensions/alternate-tab/prefs.js:22
msgid "Thumbnail and application icon"
msgstr "תמונות ממוזערות וסמלי היישומים"
#: ../extensions/alternate-tab/prefs.js:38
msgid "Present windows as"
msgstr "הצגת החלונות בתור"
#: ../extensions/alternate-tab/prefs.js:69
msgid "Show only windows in the current workspace"
msgstr "הצגת החלונות בלבד במרחב העבודה הנוכחי"
#: ../extensions/apps-menu/extension.js:39
msgid "Activities Overview"
msgstr "סקירת פעילויות"
#: ../extensions/apps-menu/extension.js:114
#: extensions/apps-menu/extension.js:113
msgid "Favorites"
msgstr "מועדפים"
#: ../extensions/apps-menu/extension.js:283
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "יישומים"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
msgid "Application and workspace list"
msgstr "Application and workspace list"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
@@ -107,77 +49,49 @@ msgstr ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
#: ../extensions/auto-move-windows/prefs.js:60
#: extensions/auto-move-windows/prefs.js:59
msgid "Application"
msgstr "יישום"
#: ../extensions/auto-move-windows/prefs.js:69
#: ../extensions/auto-move-windows/prefs.js:127
#: extensions/auto-move-windows/prefs.js:70
#: extensions/auto-move-windows/prefs.js:133
msgid "Workspace"
msgstr "מרחב עבודה"
#: ../extensions/auto-move-windows/prefs.js:85
#: extensions/auto-move-windows/prefs.js:88
msgid "Add Rule"
msgstr "הוספת כלל"
#: ../extensions/auto-move-windows/prefs.js:106
#: extensions/auto-move-windows/prefs.js:110
msgid "Create new matching rule"
msgstr "יצירת כלל חדש תואם"
#: ../extensions/auto-move-windows/prefs.js:111
#: extensions/auto-move-windows/prefs.js:116
msgid "Add"
msgstr "הוספה"
#: ../extensions/drive-menu/extension.js:106
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:103
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive '%s' failed:"
msgstr "שליפת הכונן „%s“ נכשלה:"
#| msgid "Ejecting drive '%s' failed:"
msgid "Ejecting drive “%s” failed:"
msgstr "שליפת הכונן „%s” נכשלה:"
#: ../extensions/drive-menu/extension.js:124
#: extensions/drive-menu/extension.js:119
msgid "Removable devices"
msgstr "התקנים נתיקים"
#: ../extensions/drive-menu/extension.js:151
msgid "Open File"
msgstr "פתיחת קובץ"
#: extensions/drive-menu/extension.js:146
#| msgid "Open File"
msgid "Open Files"
msgstr "פתיחת קבצים"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
msgstr "שלום, עולם!"
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
msgid "Alternative greeting text."
msgstr "Alternative greeting text."
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
msgid ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
msgstr ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
#: ../extensions/example/prefs.js:30
msgid "Message"
msgstr "הודעה"
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
#: ../extensions/example/prefs.js:43
msgid ""
"Example aims to show how to build well behaved extensions for the Shell and "
"as such it has little functionality on its own.\n"
"Nevertheless it's possible to customize the greeting message."
msgstr ""
"הדוגמה מנסה להציג כיצד לבנות הרחבות שמתנהלות כראוי לטובת המעטפת וככאלה שיש "
"להן תכונות קטנות משלהן.\n"
"עם זאת, ניתן להתאים את הודעת קבלת הפנים."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows"
msgstr "Use more screen for windows"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
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. "
@@ -187,11 +101,11 @@ msgstr ""
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top"
msgstr "Place window captions on top"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
@@ -201,115 +115,129 @@ msgstr ""
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
#: ../extensions/places-menu/extension.js:78
#: ../extensions/places-menu/extension.js:81
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
msgid "Places"
msgstr "מיקומים"
#: ../extensions/places-menu/placeDisplay.js:57
#: extensions/places-menu/placeDisplay.js:46
#, javascript-format
msgid "Failed to launch \"%s\""
msgstr "הטעינה של „%s“ נכשלה"
#| msgid "Failed to launch \"%s\""
msgid "Failed to launch “%s”"
msgstr "שיגור „%s” נכשל"
#: ../extensions/places-menu/placeDisplay.js:99
#: ../extensions/places-menu/placeDisplay.js:122
#: extensions/places-menu/placeDisplay.js:61
#, 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:200
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "בית"
#: ../extensions/places-menu/placeDisplay.js:287
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "עיון ברשת"
#: ../extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.in.h:1
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
msgid "Cycle Screenshot Sizes"
msgstr "Cycle Screenshot Sizes"
#: ../extensions/systemMonitor/extension.js:214
msgid "CPU"
msgstr "מעבד"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
#| msgid "Cycle Screenshot Sizes"
msgid "Cycle Screenshot Sizes Backward"
msgstr "Cycle Screenshot Sizes Backward"
#: ../extensions/systemMonitor/extension.js:267
msgid "Memory"
msgstr "זיכרון"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
msgid "Theme name"
msgstr "Theme name"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
#: ../extensions/window-list/extension.js:110
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "סגירה"
#: ../extensions/window-list/extension.js:120
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "ביטול המזעור"
#: ../extensions/window-list/extension.js:121
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "מזעור"
#: ../extensions/window-list/extension.js:127
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "ביטול ההגדלה"
#: ../extensions/window-list/extension.js:128
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "הגדלה"
#: ../extensions/window-list/extension.js:390
#: extensions/window-list/extension.js:429
msgid "Minimize all"
msgstr "מזעור הכל"
#: ../extensions/window-list/extension.js:398
#: extensions/window-list/extension.js:435
msgid "Unminimize all"
msgstr "ביטול מזעור הכל"
#: ../extensions/window-list/extension.js:406
#: extensions/window-list/extension.js:441
msgid "Maximize all"
msgstr "הגדלת הכל"
#: ../extensions/window-list/extension.js:415
#: extensions/window-list/extension.js:449
msgid "Unmaximize all"
msgstr "ביטול הגדלת הכל"
#: ../extensions/window-list/extension.js:424
#: extensions/window-list/extension.js:457
msgid "Close all"
msgstr "סגירת הכל"
#: ../extensions/window-list/extension.js:706
#: ../extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator"
msgstr "מחוון מרחבי עבודה"
#: ../extensions/window-list/extension.js:870
#: extensions/window-list/extension.js:737
msgid "Window List"
msgstr "רשימת חלונות"
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:1
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
msgid "When to group windows"
msgstr "מתי לקבץ חלונות"
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:2
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
#| msgid ""
#| "Decides when to group windows from the same application on the window "
#| "list. Possible values are \"never\", \"auto\" and \"always\"."
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are \"never\", \"auto\" and \"always\"."
"Possible values are never”, “auto and always."
msgstr ""
"Decides when to group windows from the same application on the window list. "
"Possible values are \"never\", \"auto\" and \"always\"."
"Possible values are never”, “auto and always."
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:3
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#| msgid "Show only windows in the current workspace"
msgid "Show windows from all workspaces"
msgstr "הצגת חלונות מכל מרחבי העבודה"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#| msgid ""
#| "Whether to show the window list on all connected monitors or only on the "
#| "primary one."
msgid "Whether to show windows from all workspaces or only the current one."
msgstr "Whether to show windows from all workspaces or only the current one."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
msgstr "Show the window list on all monitors"
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:4
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
@@ -317,39 +245,117 @@ msgstr ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
#: ../extensions/window-list/prefs.js:32
#: extensions/window-list/prefs.js:25
msgid "Window Grouping"
msgstr "קיבוץ חלונות"
#: ../extensions/window-list/prefs.js:50
#: extensions/window-list/prefs.js:47
msgid "Never group windows"
msgstr "לעולם לא לקבץ חלונות"
#: ../extensions/window-list/prefs.js:51
#: extensions/window-list/prefs.js:48
msgid "Group windows when space is limited"
msgstr "קיבוץ חלונות כאשר המקום מוגבל"
#: ../extensions/window-list/prefs.js:52
#: extensions/window-list/prefs.js:49
msgid "Always group windows"
msgstr "תמיד לקבץ חלונות"
#: ../extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:75
msgid "Show on all monitors"
msgstr "הצגה בכל הצגים"
#: ../extensions/workspace-indicator/prefs.js:141
#: extensions/window-list/workspaceIndicator.js:209
#: extensions/workspace-indicator/extension.js:215
msgid "Workspace Indicator"
msgstr "מחוון מרחבי עבודה"
#: extensions/workspace-indicator/prefs.js:129
msgid "Workspace Names"
msgstr "שם מרחב העבודה"
#: ../extensions/workspace-indicator/prefs.js:157
#: extensions/workspace-indicator/prefs.js:149
msgid "Name"
msgstr "שם"
#: ../extensions/workspace-indicator/prefs.js:198
#: extensions/workspace-indicator/prefs.js:189
#, javascript-format
msgid "Workspace %d"
msgstr "מרחב עבודה %d"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Attach modal dialog to the parent window"
#~ msgid ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgstr ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "Arrangement of buttons on the titlebar"
#~ msgid ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
#~ "running GNOME Shell."
#~ msgstr ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
#~ "running GNOME Shell."
#~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr "Enable edge tiling when dropping windows on screen edges"
#~ msgid "Workspaces only on primary monitor"
#~ msgstr "Workspaces only on primary monitor"
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
#~ msgstr "Delay focus changes in mouse mode until the pointer stops moving"
#~ msgid "Thumbnail only"
#~ msgstr "תמונות ממוזערות בלבד"
#~ msgid "Application icon only"
#~ msgstr "סמל היישום בלבד"
#~ msgid "Thumbnail and application icon"
#~ msgstr "תמונות ממוזערות וסמלי היישומים"
#~ msgid "Present windows as"
#~ msgstr "הצגת החלונות בתור"
#~ msgid "Activities Overview"
#~ msgstr "סקירת פעילויות"
#~ msgid "Hello, world!"
#~ msgstr "שלום, עולם!"
#~ msgid "Alternative greeting text."
#~ msgstr "Alternative greeting text."
#~ msgid ""
#~ "If not empty, it contains the text that will be shown when clicking on "
#~ "the panel."
#~ msgstr ""
#~ "If not empty, it contains the text that will be shown when clicking on "
#~ "the panel."
#~ msgid "Message"
#~ msgstr "הודעה"
#~ msgid ""
#~ "Example aims to show how to build well behaved extensions for the Shell "
#~ "and as such it has little functionality on its own.\n"
#~ "Nevertheless it's possible to customize the greeting message."
#~ msgstr ""
#~ "הדוגמה מנסה להציג כיצד לבנות הרחבות שמתנהלות כראוי לטובת המעטפת וככאלה "
#~ "שיש להן תכונות קטנות משלהן.\n"
#~ "עם זאת, ניתן להתאים את הודעת קבלת הפנים."
#~ msgid "CPU"
#~ msgstr "מעבד"
#~ msgid "Memory"
#~ msgstr "זיכרון"
#~ msgid "GNOME Shell Classic"
#~ msgstr "מעטפת GNOME קלסית"

View File

@@ -1,24 +1,24 @@
# Swedish translation for gnome-shell-extensions.
# Copyright © 2011, 2012, 2014, 2015, 2017, 2019 Free Software Foundation, Inc.
# Copyright © 2011, 2012, 2014, 2015, 2017, 2019, 2020 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.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2017, 2019, 2020.
#
msgid ""
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: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-08-12 21:30+0200\n"
"POT-Creation-Date: 2020-04-17 16:03+0000\n"
"PO-Revision-Date: 2020-04-26 20:51+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 2.2.3\n"
"X-Generator: Poedit 2.3\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
@@ -32,7 +32,7 @@ msgstr "Denna session loggar in dig till GNOME Klassisk"
msgid "Favorites"
msgstr "Favoriter"
#: extensions/apps-menu/extension.js:368
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Program"
@@ -48,39 +48,39 @@ 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:60
#: extensions/auto-move-windows/prefs.js:59
msgid "Application"
msgstr "Program"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
#: extensions/auto-move-windows/prefs.js:70
#: extensions/auto-move-windows/prefs.js:133
msgid "Workspace"
msgstr "Arbetsyta"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:88
msgid "Add Rule"
msgstr "Lägg till regel"
#: extensions/auto-move-windows/prefs.js:111
#: extensions/auto-move-windows/prefs.js:110
msgid "Create new matching rule"
msgstr "Skapa ny matchande regel"
#: extensions/auto-move-windows/prefs.js:117
#: extensions/auto-move-windows/prefs.js:116
msgid "Add"
msgstr "Lägg till"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Utmatning av disk ”%s” misslyckades:"
#: extensions/drive-menu/extension.js:118
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Flyttbara enheter"
#: extensions/drive-menu/extension.js:145
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Öppna filer"
@@ -113,8 +113,8 @@ 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:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Platser"
@@ -133,11 +133,11 @@ msgstr "Misslyckades med att montera volym för ”%s”"
msgid "Computer"
msgstr "Dator"
#: extensions/places-menu/placeDisplay.js:358
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Hem"
#: extensions/places-menu/placeDisplay.js:403
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Bläddra i nätverket"
@@ -157,47 +157,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:99
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Stäng"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Avminimera"
#: extensions/window-list/extension.js:119
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Minimera"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Avmaximera"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Maximera"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:429
msgid "Minimize all"
msgstr "Minimera alla"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:435
msgid "Unminimize all"
msgstr "Avminimera alla"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:441
msgid "Maximize all"
msgstr "Maximera alla"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:449
msgid "Unmaximize all"
msgstr "Avmaximera alla"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:457
msgid "Close all"
msgstr "Stäng alla"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:737
msgid "Window List"
msgstr "Fönsterlista"
@@ -214,7 +214,7 @@ msgstr ""
"värden är ”never” (aldrig), ”auto” och ”always” (alltid)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:89
msgid "Show windows from all workspaces"
msgstr "Visa fönster från alla arbetsytor"
@@ -251,28 +251,31 @@ msgstr "Gruppera fönster när utrymmet är begränsat"
msgid "Always group windows"
msgstr "Gruppera alltid fönster"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:82
msgid "Show on all monitors"
msgstr "Visa på alla skärmar"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:209
#: extensions/workspace-indicator/extension.js:215
msgid "Workspace Indicator"
msgstr "Arbetsyteindikator"
#: extensions/workspace-indicator/prefs.js:131
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Namn på arbetsytor"
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "Namn"
#: extensions/workspace-indicator/prefs.js:191
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Arbetsyta %d"
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Lägg till arbetsyta"
#~ msgid "Name"
#~ msgstr "Namn"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Koppla samman modal dialog till föräldrafönstret"

View File

@@ -4,22 +4,23 @@
# Alexandr Toorchyn <ilex@mail.ua>, 2011.
# Daniel Korostil <ted.korostiled@gmail.com>, 2013, 2014, 2015, 2017.
# vikaig <vikaig99@gmail.com>, 2019.
# Yuri Chornoivan <yurchor@ukr.net>, 2020.
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: 2019-10-13 18:56+0000\n"
"PO-Revision-Date: 2019-10-18 18:01+0300\n"
"Last-Translator: vikaig <vikaig99@gmail.com>\n"
"Language-Team: linux.org.ua\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
"sues\n"
"POT-Creation-Date: 2020-04-17 16:03+0000\n"
"PO-Revision-Date: 2020-04-25 10:58+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"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 2.2.1\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: Lokalize 20.07.70\n"
"X-Project-Style: gnome\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
@@ -50,39 +51,39 @@ msgstr ""
"Список рядків, що містять ідентифікатор програми (назва файла стільниці),"
"двокрапка і номер робочого простору"
#: extensions/auto-move-windows/prefs.js:60
#: extensions/auto-move-windows/prefs.js:59
msgid "Application"
msgstr "Програма"
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
#: extensions/auto-move-windows/prefs.js:70
#: extensions/auto-move-windows/prefs.js:133
msgid "Workspace"
msgstr "Робочий простір"
#: extensions/auto-move-windows/prefs.js:89
#: extensions/auto-move-windows/prefs.js:88
msgid "Add Rule"
msgstr "Додати правило"
#: extensions/auto-move-windows/prefs.js:111
#: extensions/auto-move-windows/prefs.js:110
msgid "Create new matching rule"
msgstr "Створити нове відповідне правило"
#: extensions/auto-move-windows/prefs.js:117
#: extensions/auto-move-windows/prefs.js:116
msgid "Add"
msgstr "Додати"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:103
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Не вдалося витягнути пристрій «%s»:"
#: extensions/drive-menu/extension.js:119
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Змінні пристрої"
#: extensions/drive-menu/extension.js:146
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Відкрити файли"
@@ -115,8 +116,8 @@ msgstr ""
"в нижній, як це робиться типово. Зміна цього параметра вимагає перезапуску "
"оболонки, щоб зміна вступила в силу."
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Місця"
@@ -179,27 +180,27 @@ msgstr "Відновити розгорнуте"
msgid "Maximize"
msgstr "Розгорнути"
#: extensions/window-list/extension.js:431
#: extensions/window-list/extension.js:429
msgid "Minimize all"
msgstr "Згорнути все"
#: extensions/window-list/extension.js:437
#: extensions/window-list/extension.js:435
msgid "Unminimize all"
msgstr "Відновити все згорнуте"
#: extensions/window-list/extension.js:443
#: extensions/window-list/extension.js:441
msgid "Maximize all"
msgstr "Розгорнути все"
#: extensions/window-list/extension.js:451
#: extensions/window-list/extension.js:449
msgid "Unmaximize all"
msgstr "Відновити все розгорнуте"
#: extensions/window-list/extension.js:459
#: extensions/window-list/extension.js:457
msgid "Close all"
msgstr "Закрити все"
#: extensions/window-list/extension.js:741
#: extensions/window-list/extension.js:737
msgid "Window List"
msgstr "Перелік вікон"
@@ -216,7 +217,7 @@ msgstr ""
"значеннями є «never», «auto» і «always»."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
#: extensions/window-list/prefs.js:89
msgid "Show windows from all workspaces"
msgstr "Показувати вікна з усіх робочих просторів"
@@ -252,28 +253,32 @@ msgstr "Групувати вікна коли простір обмежено"
msgid "Always group windows"
msgstr "Завжди групувати вікна"
#: extensions/window-list/prefs.js:75
#: extensions/window-list/prefs.js:82
msgid "Show on all monitors"
msgstr "Показувати на всіх моніторах"
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
#: extensions/window-list/workspaceIndicator.js:209
#: extensions/workspace-indicator/extension.js:215
msgid "Workspace Indicator"
msgstr "Покажчик робочого простору"
#: extensions/workspace-indicator/prefs.js:129
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Назви робочих просторів"
#: extensions/workspace-indicator/prefs.js:149
msgid "Name"
msgstr "Назва"
#: extensions/workspace-indicator/prefs.js:189
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Робочий простір %d"
#: extensions/workspace-indicator/prefs.js:218
#| msgid "Workspace"
msgid "Add Workspace"
msgstr "Додати робочий простір"
#~ msgid "Name"
#~ msgstr "Назва"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Приєднати модальне вікно до батьківського вікна"

View File

@@ -1,26 +1,27 @@
# Chinese (China) translation for gnome-shell-extensions.
# Copyright (C) 2011 Free Software Foundation, Inc.
# Copyright (C) 2011-2019 gnome-shell-extensions's authors and contributors
# This file is distributed under the same license as the gnome-shell-extensions package.
# Wylmer Wang <wantinghard@gmail.com>, 2011.
# Aron Xu <aronxu@gnome.org>, 2011.
# tuhaihe <1132321739qq@gmail.com>, 2012, 2013.
# 甘露(Gan Lu) <rhythm.gan@gmail.com>, 2013.
# Mingcong Bai <jeffbai@aosc.xyz>, 2017.
# Dingzhong Chen <wsxy162@gmail.com>, 2019.
#
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: 2018-01-18 12:15+0000\n"
"PO-Revision-Date: 2017-08-18 21:26+0800\n"
"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
"PO-Revision-Date: 2019-09-10 02:34+0800\n"
"Last-Translator: Dingzhong Chen <wsxy162@gmail.com>\n"
"Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.2\n"
"X-Generator: Gtranslator 3.32.1\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
@@ -31,70 +32,11 @@ msgstr "GNOME 经典模式"
msgid "This session logs you into GNOME Classic"
msgstr "该会话将登录到“GNOME 经典模式”"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
msgid "Attach modal dialog to the parent window"
msgstr "将模式对话框附着到父窗口"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr "当运行 GNOME Shell 时该键会覆盖 org.gnome.mutter 中的键。"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
msgid "Arrangement of buttons on the titlebar"
msgstr "标题栏上按钮的排列"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
msgstr ""
"当运行 GNOME Shell 时该键会覆盖 org.gnome.desktop.wm.preferences 中的键。"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "启用将窗口拖拽到屏幕边缘时平铺显示的功能"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
msgid "Workspaces only on primary monitor"
msgstr "仅在主显示器上显示工作区"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "将鼠标模式下焦点的切换推迟到光标停止移动之后"
#: extensions/alternate-tab/prefs.js:19
msgid "Thumbnail only"
msgstr "仅缩略图"
#: extensions/alternate-tab/prefs.js:20
msgid "Application icon only"
msgstr "仅应用程序图标"
#: extensions/alternate-tab/prefs.js:21
msgid "Thumbnail and application icon"
msgstr "缩略图和应用程序图标"
#: extensions/alternate-tab/prefs.js:34
msgid "Present windows as"
msgstr "窗口展现为"
#: extensions/alternate-tab/prefs.js:65
msgid "Show only windows in the current workspace"
msgstr "仅显示当前工作区中的窗口"
#: extensions/apps-menu/extension.js:37
msgid "Activities Overview"
msgstr "活动概览"
#: extensions/apps-menu/extension.js:130
#: extensions/apps-menu/extension.js:113
msgid "Favorites"
msgstr "收藏"
#: extensions/apps-menu/extension.js:417
#: extensions/apps-menu/extension.js:368
msgid "Applications"
msgstr "应用程序"
@@ -109,30 +51,30 @@ msgid ""
msgstr ""
"一系列字符串,每个字符串包含一个应用程序标识(桌面文件名称)、冒号加工作区号"
#: extensions/auto-move-windows/prefs.js:53
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "应用程序"
#: extensions/auto-move-windows/prefs.js:62
#: extensions/auto-move-windows/prefs.js:117
#: extensions/auto-move-windows/prefs.js:71
#: extensions/auto-move-windows/prefs.js:134
msgid "Workspace"
msgstr "工作区"
#: extensions/auto-move-windows/prefs.js:78
#: extensions/auto-move-windows/prefs.js:89
msgid "Add Rule"
msgstr "添加规则"
#: extensions/auto-move-windows/prefs.js:98
#: extensions/auto-move-windows/prefs.js:111
msgid "Create new matching rule"
msgstr "创建新的匹配规则"
#: extensions/auto-move-windows/prefs.js:103
#: extensions/auto-move-windows/prefs.js:117
msgid "Add"
msgstr "添加"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:103
#: extensions/places-menu/placeDisplay.js:219
#: extensions/drive-menu/extension.js:102
#: extensions/places-menu/placeDisplay.js:232
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "弹出驱动器“%s”失败"
@@ -141,39 +83,10 @@ msgstr "弹出驱动器“%s”失败"
msgid "Removable devices"
msgstr "可移动设备"
#: extensions/drive-menu/extension.js:143
#: extensions/drive-menu/extension.js:145
msgid "Open Files"
msgstr "打开文件"
#: extensions/example/extension.js:17
msgid "Hello, world!"
msgstr "Hello, world!"
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
msgid "Alternative greeting text."
msgstr "替代的祝福语。"
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
msgid ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
msgstr "如果不为空,所包含的文本会在点击面板时显示。"
#: extensions/example/prefs.js:27
msgid "Message"
msgstr "消息"
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
#: extensions/example/prefs.js:40
msgid ""
"Example aims to show how to build well behaved extensions for the Shell and "
"as such it has little functionality on its own.\n"
"Nevertheless its possible to customize the greeting message."
msgstr ""
"示例意在展示如何为 Shell 创建良好工作的扩展,本身功能有限。\n"
"尽管如此,它还是具备定制祝福语的功能。"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows"
msgstr "展现窗口时利用更多屏幕空间"
@@ -200,31 +113,31 @@ msgstr ""
"如果设置为 true则将窗口说明文字放置在对应窗口的缩略图上方而不是默认的下"
"方。修改此设置需要重启 GNOME Shell 以使设置生效。"
#: extensions/places-menu/extension.js:79
#: extensions/places-menu/extension.js:82
#: extensions/places-menu/extension.js:80
#: extensions/places-menu/extension.js:84
msgid "Places"
msgstr "位置"
#: extensions/places-menu/placeDisplay.js:66
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "无法为“%s”挂载卷"
#: extensions/places-menu/placeDisplay.js:79
#: extensions/places-menu/placeDisplay.js:46
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "无法启动“%s”"
#: extensions/places-menu/placeDisplay.js:135
#: extensions/places-menu/placeDisplay.js:158
#: extensions/places-menu/placeDisplay.js:61
#, 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:336
#: extensions/places-menu/placeDisplay.js:358
msgid "Home"
msgstr "主文件夹"
#: extensions/places-menu/placeDisplay.js:378
#: extensions/places-menu/placeDisplay.js:403
msgid "Browse Network"
msgstr "浏览网络"
@@ -244,52 +157,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:106
#: extensions/window-list/extension.js:99
msgid "Close"
msgstr "关闭"
#: extensions/window-list/extension.js:125
#: extensions/window-list/extension.js:119
msgid "Unminimize"
msgstr "取消最小化"
#: extensions/window-list/extension.js:126
#: extensions/window-list/extension.js:119
msgid "Minimize"
msgstr "最小化"
#: extensions/window-list/extension.js:132
#: extensions/window-list/extension.js:126
msgid "Unmaximize"
msgstr "取消最大化"
#: extensions/window-list/extension.js:133
#: extensions/window-list/extension.js:126
msgid "Maximize"
msgstr "最大化"
#: extensions/window-list/extension.js:408
#: extensions/window-list/extension.js:431
msgid "Minimize all"
msgstr "全部最小化"
#: extensions/window-list/extension.js:414
#: extensions/window-list/extension.js:437
msgid "Unminimize all"
msgstr "全部取消最小化"
#: extensions/window-list/extension.js:420
#: extensions/window-list/extension.js:443
msgid "Maximize all"
msgstr "全部最大化"
#: extensions/window-list/extension.js:429
#: extensions/window-list/extension.js:451
msgid "Unmaximize all"
msgstr "全部取消最大化"
#: extensions/window-list/extension.js:438
#: extensions/window-list/extension.js:459
msgid "Close all"
msgstr "全部关闭"
#: extensions/window-list/extension.js:646
#: extensions/workspace-indicator/extension.js:26
msgid "Workspace Indicator"
msgstr "工作区指示器"
#: extensions/window-list/extension.js:811
#: extensions/window-list/extension.js:741
msgid "Window List"
msgstr "窗口列表"
@@ -306,48 +214,124 @@ msgstr ""
"不、“auto”自动和“always”总是。"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:82
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 "显示所有工作区中的窗口还是只显示当前工作区中的。"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
msgstr "在所有显示器上显示窗口列表"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
msgstr "是否在所有连接的显示器上显示窗口列表或仅在主显示器上显示。"
#: extensions/window-list/prefs.js:28
#: extensions/window-list/prefs.js:25
msgid "Window Grouping"
msgstr "窗口分组"
#: extensions/window-list/prefs.js:46
#: extensions/window-list/prefs.js:47
msgid "Never group windows"
msgstr "从不将窗口分组"
#: extensions/window-list/prefs.js:47
#: extensions/window-list/prefs.js:48
msgid "Group windows when space is limited"
msgstr "当空间有限时将窗口分组"
#: extensions/window-list/prefs.js:48
#: extensions/window-list/prefs.js:49
msgid "Always group windows"
msgstr "总是对窗口分组"
#: extensions/window-list/prefs.js:71
#: extensions/window-list/prefs.js:75
msgid "Show on all monitors"
msgstr "在所有显示器上显示"
#: extensions/workspace-indicator/prefs.js:134
#: extensions/window-list/workspaceIndicator.js:211
#: extensions/workspace-indicator/extension.js:216
msgid "Workspace Indicator"
msgstr "工作区指示器"
#: extensions/workspace-indicator/prefs.js:131
msgid "Workspace Names"
msgstr "工作区名称"
#: extensions/workspace-indicator/prefs.js:150
#: extensions/workspace-indicator/prefs.js:151
msgid "Name"
msgstr "名称"
#: extensions/workspace-indicator/prefs.js:190
#: extensions/workspace-indicator/prefs.js:191
#, javascript-format
msgid "Workspace %d"
msgstr "工作区 %d"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "将模式对话框附着到父窗口"
#~ msgid ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgstr "当运行 GNOME Shell 时该键会覆盖 org.gnome.mutter 中的键。"
#~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "标题栏上按钮的排列"
#~ msgid ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
#~ "running GNOME Shell."
#~ msgstr ""
#~ "当运行 GNOME Shell 时该键会覆盖 org.gnome.desktop.wm.preferences 中的键。"
#~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr "启用将窗口拖拽到屏幕边缘时平铺显示的功能"
#~ msgid "Workspaces only on primary monitor"
#~ msgstr "仅在主显示器上显示工作区"
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
#~ msgstr "将鼠标模式下焦点的切换推迟到光标停止移动之后"
#~ msgid "Thumbnail only"
#~ msgstr "仅缩略图"
#~ msgid "Application icon only"
#~ msgstr "仅应用程序图标"
#~ msgid "Thumbnail and application icon"
#~ msgstr "缩略图和应用程序图标"
#~ msgid "Present windows as"
#~ msgstr "窗口展现为"
#~ msgid "Activities Overview"
#~ msgstr "活动概览"
#~ msgid "Hello, world!"
#~ msgstr "Hello, world!"
#~ msgid "Alternative greeting text."
#~ msgstr "替代的祝福语。"
#~ msgid ""
#~ "If not empty, it contains the text that will be shown when clicking on "
#~ "the panel."
#~ msgstr "如果不为空,所包含的文本会在点击面板时显示。"
#~ msgid "Message"
#~ msgstr "消息"
#~ msgid ""
#~ "Example aims to show how to build well behaved extensions for the Shell "
#~ "and as such it has little functionality on its own.\n"
#~ "Nevertheless its possible to customize the greeting message."
#~ msgstr ""
#~ "示例意在展示如何为 Shell 创建良好工作的扩展,本身功能有限。\n"
#~ "尽管如此,它还是具备定制祝福语的功能。"
#~ msgid "GNOME Shell Classic"
#~ msgstr "GNOME Shell 经典模式"