Compare commits
128 Commits
3.35.91
...
155-move-f
Author | SHA1 | Date | |
---|---|---|---|
![]() |
13ddf1eb83 | ||
![]() |
15ab33a11a | ||
![]() |
5e04f6eb23 | ||
![]() |
0dd171a7c8 | ||
![]() |
837fbbf417 | ||
![]() |
d7b61e7281 | ||
![]() |
073da0806c | ||
![]() |
ff54b0d35e | ||
![]() |
ff2a736193 | ||
![]() |
c6cf81f28b | ||
![]() |
104d1ae151 | ||
![]() |
12e14884ef | ||
![]() |
3c4a5a67e2 | ||
![]() |
e4f9efc134 | ||
![]() |
bd665df321 | ||
![]() |
bd197789c1 | ||
![]() |
daff787a62 | ||
![]() |
ff1343611f | ||
![]() |
da05c85f3c | ||
![]() |
648179a2db | ||
![]() |
a5ad81d923 | ||
![]() |
abfa61abc5 | ||
![]() |
abdfaeb444 | ||
![]() |
06b690ff21 | ||
![]() |
d0226c7897 | ||
![]() |
19e084036a | ||
![]() |
a7d974e670 | ||
![]() |
7a0c866d97 | ||
![]() |
cc3f439323 | ||
![]() |
51b7eb7a2b | ||
![]() |
023859ee4b | ||
![]() |
09acd0a3db | ||
![]() |
bf213af362 | ||
![]() |
bfb0bc7a29 | ||
![]() |
c00f1d040b | ||
![]() |
ba7cfff90c | ||
![]() |
548c41d164 | ||
![]() |
172d21cf50 | ||
![]() |
5c8f3a65f7 | ||
![]() |
07369125b6 | ||
![]() |
59cae58f25 | ||
![]() |
e07b9a75b5 | ||
![]() |
19fc7c4d31 | ||
![]() |
d66f5ab3c6 | ||
![]() |
c773c8c162 | ||
![]() |
9a3ed0056e | ||
![]() |
b3999e4078 | ||
![]() |
d0a587d42f | ||
![]() |
2bb8e1be9b | ||
![]() |
967a6ae44d | ||
![]() |
89ca5e71d4 | ||
![]() |
4c4d23ed83 | ||
![]() |
7173ec1df7 | ||
![]() |
bc465ab006 | ||
![]() |
fe4973b585 | ||
![]() |
0d0384ebb1 | ||
![]() |
27ef8eb9a0 | ||
![]() |
24a3fd4c4d | ||
![]() |
d9f8e04478 | ||
![]() |
b9f6032ddd | ||
![]() |
d62391c8f1 | ||
![]() |
ab24ee7a7e | ||
![]() |
c52fd9373c | ||
![]() |
1249655d0a | ||
![]() |
120b907c33 | ||
![]() |
3848513cf4 | ||
![]() |
725c72e020 | ||
![]() |
0b113094b4 | ||
![]() |
3633e1feca | ||
![]() |
4759197200 | ||
![]() |
1d39afabdc | ||
![]() |
483607311c | ||
![]() |
d90a79fe7a | ||
![]() |
87ed0118d1 | ||
![]() |
1f5eccbc70 | ||
![]() |
dac2274993 | ||
![]() |
39db86e755 | ||
![]() |
255627bd69 | ||
![]() |
0afac36713 | ||
![]() |
c0c027c608 | ||
![]() |
e938986a74 | ||
![]() |
32fa060a62 | ||
![]() |
38da479ee8 | ||
![]() |
574ab04e9f | ||
![]() |
ee6635282c | ||
![]() |
ff39b3274b | ||
![]() |
2c1d654035 | ||
![]() |
1bdb065ffa | ||
![]() |
57669bca1b | ||
![]() |
e647ceb4d1 | ||
![]() |
4d9e84f6f7 | ||
![]() |
5171bdd45f | ||
![]() |
9ab0071aa5 | ||
![]() |
cf39b2db87 | ||
![]() |
8a1c0f3a42 | ||
![]() |
4b42879a2c | ||
![]() |
394121f77d | ||
![]() |
f4f8982825 | ||
![]() |
7220f6d25b | ||
![]() |
059fb5c7cb | ||
![]() |
0057c19bfc | ||
![]() |
05409b949f | ||
![]() |
affbec73ef | ||
![]() |
e781e1fdba | ||
![]() |
12de4e67f8 | ||
![]() |
9201701c95 | ||
![]() |
6e7344b837 | ||
![]() |
b8f8e1710b | ||
![]() |
8b0a67fe64 | ||
![]() |
1eb1b1be4e | ||
![]() |
de5a4a98c9 | ||
![]() |
26a49168ba | ||
![]() |
ff4623454f | ||
![]() |
cf5204760d | ||
![]() |
46c13349fc | ||
![]() |
2a3875775d | ||
![]() |
38b38732d3 | ||
![]() |
24c8f5bb70 | ||
![]() |
c02296a9b9 | ||
![]() |
4eb122ea8d | ||
![]() |
90d5d16343 | ||
![]() |
45c8f0b76c | ||
![]() |
236ee9e483 | ||
![]() |
459b200cc0 | ||
![]() |
45bc8ae292 | ||
![]() |
fbfe5a1988 | ||
![]() |
87a6dc1b95 | ||
![]() |
1b11f0673e |
@@ -46,6 +46,20 @@ eslint:
|
||||
- reports
|
||||
when: always
|
||||
|
||||
potfile_check:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: review
|
||||
script:
|
||||
- ./.gitlab-ci/check-potfiles.sh
|
||||
<<: *only_default
|
||||
|
||||
no_template_check:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: review
|
||||
script:
|
||||
- ./.gitlab-ci/check-template-strings.sh
|
||||
<<: *only_default
|
||||
|
||||
build:
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v3
|
||||
stage: build
|
||||
|
@@ -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 $?
|
||||
}
|
||||
|
||||
|
26
.gitlab-ci/check-potfiles.sh
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
srcdirs="js src subprojects/extensions-tool"
|
||||
globs=('*.js' '*.c')
|
||||
|
||||
# find source files that contain gettext keywords
|
||||
files=$(grep -lR ${globs[@]/#/--include=} '\(gettext\|[^I_)]_\)(' $srcdirs)
|
||||
|
||||
# find those that aren't listed in POTFILES.in
|
||||
missing=$(for f in $files; do ! grep -q ^$f po/POTFILES.in && echo $f; done)
|
||||
|
||||
if [ ${#missing} -eq 0 ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cat >&2 <<EOT
|
||||
|
||||
The following files are missing from po/POTFILES.po:
|
||||
|
||||
EOT
|
||||
for f in $missing; do
|
||||
echo " $f" >&2
|
||||
done
|
||||
echo >&2
|
||||
|
||||
exit 1
|
23
.gitlab-ci/check-template-strings.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# find files from POTFILES.in that use js template strings
|
||||
baddies=$(grep -l '${' $(grep ^js po/POTFILES.in))
|
||||
|
||||
if [ ${#baddies} -eq 0 ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cat >&2 <<EOT
|
||||
|
||||
xgettext cannot handle template strings properly, so we ban their use
|
||||
in files with translatable strings.
|
||||
|
||||
The following files are listed in po/POTFILES.in and use template strings:
|
||||
|
||||
EOT
|
||||
for f in $baddies; do
|
||||
echo " $f" >&2
|
||||
done
|
||||
echo >&2
|
||||
|
||||
exit 1
|
46
NEWS
@@ -1,3 +1,49 @@
|
||||
3.35.92
|
||||
=======
|
||||
* Plug a memory leak [Jonas D.; !1015]
|
||||
* Fix missing "back" button on login screen [Florian; #2228]
|
||||
* Fix width of window preview titles in overview [Jonas D.; #58]
|
||||
* Fix looking glass text with light style variant [Feichtmeier; !1023]
|
||||
* Center unlock entry [Florian; !1021]
|
||||
* Hide overlay scrollbars in notification popup [Jonas D.; !1013]
|
||||
* Work around add_actor() slowness in icon spring animation [Daniel; !1002]
|
||||
* Add disable-animations heuristics [Jonas Å.; !757]
|
||||
* Fix visual glitches in on-screen keyboard [Carlos; #2214]
|
||||
* Fix clearing changed textures from cache [Florian; #2244]
|
||||
* Fix visual glitch in sliders [Daniel; #1569]
|
||||
* Stop using dedicated lock screen background [Florian; !1001]
|
||||
* Fix entries disappearing after authentication errors [Florian; #2236]
|
||||
* Fix crash when animations are disabled [Florian; #2255]
|
||||
* Fix passing pointer events to clients when magnified [Jonas D.; !993]
|
||||
* Fix keynav on new lock screen [Florian; #2210]
|
||||
* Avoid short-lived allocations on actor removal [Christian; #2263]
|
||||
* Fix super-sized default avatars in user list [Florian, Sam; #2242]
|
||||
* Leave overview when locking the screen [Jonas D.; !1043]
|
||||
* Hide message list on login screen [Florian; #2241]
|
||||
* Avoid IO on the main thread [Christian, Florian; !1050, !1051]
|
||||
* Fix window animations getting stuck when client doesn't respond [Jonas; !1055]
|
||||
* Only subscribe to touchpad events for touchpad gestures [Daniel; !925]
|
||||
* Start X11 session services before Xwayland clients [Carlos; !836, !1056]
|
||||
* Only show switch-user button with unlock prompt [Florian; !1029]
|
||||
* Misc. bug fixes and cleanups [Jonas D., Florian, Georges, Jonas Å., Daniel,
|
||||
Jakub, Philippe; !1018, !1020, !1024, !1027, !1026, !1022, !1031, !1035,
|
||||
!1032, !1025, !1039, #2157, !1037, !1042, !1047, !1048, #2270, !1046,
|
||||
!167, !1016]
|
||||
|
||||
Contributors:
|
||||
Jonas Dreßler, Feichtmeier, Carlos Garnacho, Christian Hergert, Sam Hewitt,
|
||||
Florian Müllner, Georges Basile Stavracas Neto, Jakub Steiner, Philippe Troin,
|
||||
Daniel van Vugt, Jonas Ådahl
|
||||
|
||||
Translators:
|
||||
Danial Behzadi [fa], Efstathios Iosifidis [el], Daniel Mustieles [es],
|
||||
Sabri Ünal [tr], sicklylife [ja], Piotr Drąg [pl], Jordi Mas [ca],
|
||||
Anders Jonsson [sv], Chao-Hsiung Liao [zh_TW], Asier Sarasua Garmendia [eu],
|
||||
Rafael Fontenelle [pt_BR], Марко Костић [sr], Changwoo Ryu [ko],
|
||||
Charles Monzat [fr], Jiri Grönroos [fi], Jor Teron [mjw], Bruce Cowan [en_GB],
|
||||
Emin Tufan Çetin [tr], Alan Mortensen [da], Balázs Úr [hu], Fran Dieguez [gl],
|
||||
Kukuh Syafaat [id]
|
||||
|
||||
3.35.91
|
||||
=======
|
||||
* Improve magnifier [Carlos; !984]
|
||||
|
@@ -1,12 +1,19 @@
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.CalendarServer">
|
||||
<method name="GetEvents">
|
||||
<arg type="x" direction="in" />
|
||||
<arg type="x" direction="in" />
|
||||
<arg type="b" direction="in" />
|
||||
<arg type="a(sssbxxa{sv})" direction="out" />
|
||||
<method name="SetTimeRange">
|
||||
<arg type="x" name="since" direction="in"/>
|
||||
<arg type="x" name="until" direction="in"/>
|
||||
<arg type="b" name="force_reload" direction="in"/>
|
||||
</method>
|
||||
<signal name="EventsAdded">
|
||||
<arg type="a(ssbxxa{sv})" name="events" direction="out"/>
|
||||
</signal>
|
||||
<signal name="EventsRemoved">
|
||||
<arg type="as" name="ids" direction="out"/>
|
||||
</signal>
|
||||
<signal name="ClientDisappeared">
|
||||
<arg type="s" name="source_uid" direction="out"/>
|
||||
</signal>
|
||||
<property name="HasCalendars" type="b" access="read" />
|
||||
<signal name="Changed" />
|
||||
</interface>
|
||||
</node>
|
||||
|
@@ -57,5 +57,19 @@
|
||||
<method name="GetWindows">
|
||||
<arg name="windows" direction="out" type="a{ta{sv}}" />
|
||||
</method>
|
||||
|
||||
<!--
|
||||
AnimationsEnabled:
|
||||
@short_description: Whether the shell animations are enabled
|
||||
|
||||
By default determined by the org.gnome.desktop.interface enable-animations
|
||||
gsetting, but may be overridden, e.g. if there is an active screen cast or
|
||||
remote desktop session that asked for animations to be disabled.
|
||||
|
||||
Since: 2
|
||||
-->
|
||||
<property name="AnimationsEnabled" type="b" access="read"/>
|
||||
|
||||
<property name="version" type="u" access="read"/>
|
||||
</interface>
|
||||
</node>
|
||||
|
@@ -9,12 +9,6 @@
|
||||
<file>dash-placeholder.svg</file>
|
||||
<file>gnome-shell.css</file>
|
||||
<file>gnome-shell-high-contrast.css</file>
|
||||
<file>key-enter.svg</file>
|
||||
<file>key-hide.svg</file>
|
||||
<file>key-layout.svg</file>
|
||||
<file>key-shift.svg</file>
|
||||
<file>key-shift-uppercase.svg</file>
|
||||
<file>key-shift-latched-uppercase.svg</file>
|
||||
<file alias="icons/message-indicator-symbolic.svg">message-indicator-symbolic.svg</file>
|
||||
<file>no-events.svg</file>
|
||||
<file>no-notifications.svg</file>
|
||||
@@ -25,6 +19,11 @@
|
||||
<file alias="icons/pointer-drag-symbolic.svg">pointer-drag-symbolic.svg</file>
|
||||
<file alias="icons/pointer-primary-click-symbolic.svg">pointer-primary-click-symbolic.svg</file>
|
||||
<file alias="icons/pointer-secondary-click-symbolic.svg">pointer-secondary-click-symbolic.svg</file>
|
||||
<file alias="icons/keyboard-caps-lock-filled-symbolic.svg">keyboard-caps-lock-filled-symbolic.svg</file>
|
||||
<file alias="icons/keyboard-enter-symbolic.svg">keyboard-enter-symbolic.svg</file>
|
||||
<file alias="icons/keyboard-hide-symbolic.svg">keyboard-hide-symbolic.svg</file>
|
||||
<file alias="icons/keyboard-layout-filled-symbolic.svg">keyboard-layout-filled-symbolic.svg</file>
|
||||
<file alias="icons/keyboard-shift-filled-symbolic.svg">keyboard-shift-filled-symbolic.svg</file>
|
||||
<file>process-working.svg</file>
|
||||
<file>toggle-off.svg</file>
|
||||
<file>toggle-off-dark.svg</file>
|
||||
|
@@ -1,5 +1,6 @@
|
||||
desktop_files = [
|
||||
'org.gnome.Shell.desktop',
|
||||
'org.gnome.Shell.CalendarServer.desktop',
|
||||
'org.gnome.Extensions.desktop',
|
||||
]
|
||||
service_files = []
|
||||
@@ -13,6 +14,7 @@ desktopconf = configuration_data()
|
||||
# We substitute in bindir so it works as an autostart
|
||||
# file when built in a non-system prefix
|
||||
desktopconf.set('bindir', bindir)
|
||||
desktopconf.set('libexecdir', libexecdir)
|
||||
desktopconf.set('systemd_hidden', have_systemd ? 'true' : 'false')
|
||||
|
||||
foreach desktop_file : desktop_files
|
||||
|
9
data/org.gnome.Shell.CalendarServer.desktop.in.in
Normal file
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Clock Applet
|
||||
Icon=appointment-soon
|
||||
Exec=@libexecdir@/gnome-shell-calendar-server
|
||||
Terminal=false
|
||||
Categories=
|
||||
OnlyShowIn=GNOME
|
||||
NoDisplay=true
|
@@ -150,7 +150,7 @@
|
||||
color: $tc;
|
||||
text-shadow: 0 1px $text_shadow_color;
|
||||
icon-shadow: 0 1px $text_shadow_color;
|
||||
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.7);
|
||||
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
|
||||
//border-color: $selected_bg_color;
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,13 @@
|
||||
/* Date/Time Menu */
|
||||
|
||||
.clock-display-box { spacing: $base_spacing; }
|
||||
.clock-display-box {
|
||||
spacing: $base_spacing / 2;
|
||||
|
||||
.clock {
|
||||
padding-left: $base_padding;
|
||||
padding-right: $base_padding;
|
||||
}
|
||||
}
|
||||
|
||||
// overall menu
|
||||
#calendarArea {
|
||||
|
@@ -52,10 +52,6 @@ $default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten
|
||||
|
||||
// non-character keys
|
||||
&.default-key {
|
||||
|
||||
// size of the icon asset
|
||||
background-size: 24px;
|
||||
|
||||
@include button(normal, $c:$default_key_bg_color);
|
||||
&:hover, &:checked {@include button(hover, $c: $default_key_bg_color);}
|
||||
&:active { @include button(active, $c: $default_key_bg_color);}
|
||||
@@ -63,19 +59,14 @@ $default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten
|
||||
|
||||
// enter key is suggested-action
|
||||
&.enter-key {
|
||||
background-image: url("resource:///org/gnome/shell/theme/key-enter.svg");
|
||||
|
||||
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
|
||||
&:hover, &:checked { @include button(hover, $c: lighten($selected_bg_color, 3%));}
|
||||
&:active {@include button(active, $c: darken($selected_bg_color, 2%));}
|
||||
}
|
||||
|
||||
// key assets
|
||||
&.shift-key-lowercase {background-image: url("resource:///org/gnome/shell/theme/key-shift.svg");}
|
||||
&.shift-key-uppercase {background-image: url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg");}
|
||||
&.shift-key-uppercase:latched {background-image: url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg");}
|
||||
&.hide-key {background-image: url("resource:///org/gnome/shell/theme/key-hide.svg");}
|
||||
&.layout-key {background-image: url("resource:///org/gnome/shell/theme/key-layout.svg");}
|
||||
&.shift-key-uppercase { color: $selected_bg_color }
|
||||
|
||||
StIcon { icon-size: 1.125em; }
|
||||
}
|
||||
|
||||
// long press on a key popup
|
||||
|
@@ -160,7 +160,6 @@
|
||||
}
|
||||
|
||||
.login-dialog-prompt-entry {
|
||||
width: 17.89em;
|
||||
height: 1.5em;
|
||||
}
|
||||
|
||||
|
@@ -5,14 +5,14 @@
|
||||
background-color: $osd_bg_color;
|
||||
spacing: $base_spacing;
|
||||
padding: 4px;
|
||||
border: 2px solid transparentize($osd_fg_color, 0.8);
|
||||
border-top-width:0;
|
||||
border-radius: 0 0 $base_border_radius $base_border_radius;
|
||||
border: 1px solid transparentize($osd_fg_color, 0.8);
|
||||
border-radius: $base_border_radius;
|
||||
color: $osd_fg_color;
|
||||
|
||||
& > #Toolbar {
|
||||
border: none;
|
||||
border-radius: $base_border_radius;
|
||||
background-color: darken($osd_bg_color, 10%);
|
||||
background-color: $osd_bg_color;
|
||||
}
|
||||
|
||||
.labels { spacing: $base_spacing; }
|
||||
@@ -20,19 +20,18 @@
|
||||
-natural-hpadding: $base_padding * 2;
|
||||
-minimum-hpadding: 6px;
|
||||
font-weight: bold;
|
||||
color: $fg_color;
|
||||
color: darken($osd_fg_color, 15%);
|
||||
transition-duration: 100ms;
|
||||
padding-left: .3em;
|
||||
padding-right: .3em;
|
||||
border-bottom-width: 2px;
|
||||
&:hover {
|
||||
color: white;
|
||||
text-shadow: black 0px 2px 2px;
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
&:selected {
|
||||
border-bottom-width: 2px;
|
||||
border-color: lighten($selected_bg_color,5%);
|
||||
color: white;
|
||||
text-shadow: black 0px 2px 2px;
|
||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color, 5%);
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
}
|
||||
StBoxLayout#EvalBox { padding: 4px; spacing: $base_spacing; }
|
||||
@@ -41,12 +40,17 @@
|
||||
|
||||
.lg-dialog {
|
||||
StEntry {
|
||||
selection-background-color: #bbbbbb;
|
||||
selected-color: $osd_bg_color;
|
||||
background-color: transparentize(lighten($osd_bg_color, 5%), 0.4);
|
||||
color: $osd_fg_color;
|
||||
border-color: transparentize($osd_fg_color, 0.8);
|
||||
min-height: 22px;
|
||||
selection-background-color: $selected_bg_color;
|
||||
selected-color: $selected_fg_color;
|
||||
}
|
||||
.shell-link {
|
||||
color: #999999;
|
||||
&:hover { color: #dddddd; }
|
||||
color: $link_color;
|
||||
&:hover { color: lighten($link_color, 10%); }
|
||||
&:active { color: darken($link_color, 10%); }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +64,7 @@
|
||||
}
|
||||
|
||||
.lg-obj-inspector-button {
|
||||
border: 1px solid gray;
|
||||
border: 1px solid $osd_borders_color;
|
||||
padding: 4px;
|
||||
border-radius: $base_border_radius;
|
||||
&:hover { border: 1px solid #ffffff; }
|
||||
@@ -75,7 +79,8 @@
|
||||
}
|
||||
|
||||
.lg-extension {
|
||||
border: 1px solid $osd_borders_color;
|
||||
border: 1px solid lighten($osd_borders_color, 5%);
|
||||
background-color: lighten($osd_bg_color, 5%);
|
||||
border-radius: $base_border_radius;
|
||||
padding: 4px;
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@
|
||||
margin: ($base_margin * 2) ($base_margin * 4) 0;
|
||||
// NOTE: remove the padding if notification_bubble could remove margin for drop shadow
|
||||
padding: $base_margin;
|
||||
spacing: $base_spacing;
|
||||
spacing: $base_spacing * 2;
|
||||
}
|
||||
|
||||
// message bubbles
|
||||
|
@@ -15,18 +15,28 @@
|
||||
|
||||
& StIcon {
|
||||
background-color: transparentize($osd_fg_color,0.95);
|
||||
padding: 18px 20px 22px 20px;
|
||||
width: 88px; height: 88px;
|
||||
border-radius: 99px;
|
||||
}
|
||||
}
|
||||
|
||||
.user-widget.vertical .user-icon {
|
||||
icon-size: 128px;
|
||||
icon-size: $base_icon_size * 6; // 128px
|
||||
|
||||
& StIcon {
|
||||
padding: $base_padding * 3 + 2px; // 20px
|
||||
padding-top: $base_padding * 3; // 18 px
|
||||
padding-bottom: $base_padding * 3 + 4px; // 22px
|
||||
width: $base_icon_size * 5.5; height: $base_icon_size * 5.5; // 88px;
|
||||
}
|
||||
}
|
||||
|
||||
.user-widget.horizontal .user-icon {
|
||||
icon-size: 64px;
|
||||
icon-size: $base_icon_size * 4; // 64px
|
||||
|
||||
& StIcon {
|
||||
padding: $base_padding * 2 ; // 12px
|
||||
width: $base_icon_size * 2.5; height: $base_icon_size * 2.5; // 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.lightbox { background-color: black; }
|
||||
|
@@ -54,9 +54,6 @@ $panel_height: 1.86em;
|
||||
}
|
||||
|
||||
&:active, &:overview, &:focus, &:checked {
|
||||
// Trick due to St limitations. It needs a background to draw a box-shadow
|
||||
background-color: rgba(0, 0, 0, 0.01);
|
||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
|
||||
color: lighten($panel_fg_color, 20%);
|
||||
}
|
||||
|
||||
@@ -82,6 +79,26 @@ $panel_height: 1.86em;
|
||||
}
|
||||
}
|
||||
|
||||
.panel-button {
|
||||
&:active, &:overview, &:focus, &:checked {
|
||||
// Trick due to St limitations. It needs a background to draw a box-shadow
|
||||
background-color: rgba(0, 0, 0, 0.01);
|
||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
|
||||
}
|
||||
}
|
||||
|
||||
.panel-button.clock-display {
|
||||
// Move highlight from .panel-button to .clock
|
||||
&:active, &:overview, &:focus, &:checked {
|
||||
box-shadow: none;
|
||||
|
||||
.clock {
|
||||
background-color: rgba(0, 0, 0, 0.01);
|
||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.panel-status-indicators-box,
|
||||
.panel-status-menu-box {
|
||||
spacing: 2px;
|
||||
|
@@ -16,7 +16,6 @@
|
||||
}
|
||||
|
||||
.ws-switcher-box {
|
||||
// background: transparent;
|
||||
background: transparent;
|
||||
height: 50px;
|
||||
background-size: 32px;
|
||||
@@ -29,6 +28,7 @@
|
||||
.ws-switcher-active-down,
|
||||
.ws-switcher-active-left,
|
||||
.ws-switcher-active-right {
|
||||
height: 52px;
|
||||
background-color: $selected_bg_color;
|
||||
border: 1px solid if($variant=='light', darken($selected_bg_color, 8%), lighten($selected_bg_color, 5%));
|
||||
border-radius: $base_border_radius + 3px;
|
||||
|
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="keyboard-key" width="24" height="24">
|
||||
<path overflow="visible" font-weight="400" style="line-height:normal;-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" d="M10 23H8.5c-.398 0-.796-.14-1.079-.422L.345 15.5l7.078-7.078C7.704 8.14 8.102 8 8.5 8H10v1.5c0 .398-.14.796-.422 1.079L4.657 15.5l4.921 4.922c.282.282.422.68.422 1.078z" color="#000" font-family="Bitstream Vera Sans" fill="#fff"/>
|
||||
<path overflow="visible" d="M22 1.5v9a5 5 0 01-5 5H4" style="marker:none" color="#000" fill="none" stroke="#fff" stroke-width="3"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 676 B |
@@ -1,3 +0,0 @@
|
||||
<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg" width="24" height="24">
|
||||
<path d="M12 20.875L.562 9.438C.171 9.046 0 8.51 0 8V6h2c.511 0 1.046.17 1.438.563L12 15.125l8.563-8.562C20.953 6.17 21.488 6 22 6h2v2c0 .511-.17 1.046-.563 1.438z" fill="#e5e5e5"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 278 B |
@@ -1,5 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="keyboard-key" width="24" height="24">
|
||||
<path d="M4.5 2v21" fill="#e5e5e5" fill-rule="evenodd" stroke="#e5e5e5" stroke-width="3"/>
|
||||
<path d="M4 12h6l2 4h8V6h-6l-2-4H4z" fill="none" stroke="#e5e5e5" stroke-width="2" stroke-linejoin="round"/>
|
||||
<path d="M4 12h6l2 4h8V6h-6l-2-4H4z" fill="#e5e5e5" fill-rule="evenodd"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 378 B |
@@ -1,3 +0,0 @@
|
||||
<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg" width="24" height="24">
|
||||
<path style="marker:none" d="M12 0L2 12h6v6h8v-6h6zM8 21v3h8v-3z" color="#000" overflow="visible" fill="#3584e4"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 211 B |
@@ -1,3 +0,0 @@
|
||||
<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg" width="24" height="24">
|
||||
<path d="M8 22v-8H2L12 2l10 12h-6v8z" style="marker:none" color="#000" overflow="visible" fill="#3584e4"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 203 B |
@@ -1,3 +0,0 @@
|
||||
<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg" width="24" height="24">
|
||||
<path d="M8 22v-8H2L12 2l10 12h-6v8z" style="marker:none" color="#000" overflow="visible" fill="#bebebe"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 203 B |
6
data/theme/keyboard-caps-lock-filled-symbolic.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
|
||||
<g fill="#2e3436">
|
||||
<path d="M6 8H2.937l5.126-5.781L13.186 8H10v2H6z" style="marker:none" color="#000" overflow="visible"/>
|
||||
<path d="M6 11h4v2H6z" style="marker:none"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 268 B |
6
data/theme/keyboard-enter-symbolic.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
|
||||
<g font-weight="400" fill="#2e3436">
|
||||
<path d="M11.994 3v4.004c.002.666-.183.72-.445.852-.262.13-.555.144-.555.144H4v2h6.994s.71.014 1.45-.355c.738-.37 1.552-1.313 1.55-2.645V3z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none" color="#000" font-family="sans-serif" overflow="visible"/>
|
||||
<path d="M6 12v-1c0-.257-.13-.528-.313-.719l-1.28-1.303 1.28-1.26C5.87 7.529 6 7.258 6 7V6H5c-.31 0-.552.09-.75.281L1.594 8.978l2.656 2.74c.198.192.44.282.75.282z" style="line-height:normal;-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" color="#bebebe" font-family="Bitstream Vera Sans" overflow="visible"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
7
data/theme/keyboard-hide-symbolic.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
|
||||
<g color="#000" fill="#2e3436">
|
||||
<path d="M4.707 5.293L3.293 6.707 8 11.414l4.707-4.707-1.414-1.414L8 8.586z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1;marker:none" font-weight="400" font-family="sans-serif" overflow="visible"/>
|
||||
<path d="M12 6V5h1v1zM3 6V5h1v1z" style="marker:none" overflow="visible"/>
|
||||
<path d="M3 6c0-.554.446-1 1-1s1 .446 1 1-.446 1-1 1-1-.446-1-1zM11 6c0-.554.446-1 1-1s1 .446 1 1-.446 1-1 1-1-.446-1-1z" style="marker:none" overflow="visible"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 990 B |
7
data/theme/keyboard-layout-filled-symbolic.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
|
||||
<g fill="#2e3436" fill-rule="evenodd">
|
||||
<path d="M2 1v14h2V1z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1" color="#000" font-weight="400" font-family="sans-serif" overflow="visible"/>
|
||||
<path d="M3 1a1 1 0 00-1 1v6a1 1 0 001 1h3.383l.722 1.447A1 1 0 008 11h5a1 1 0 001-1V4a1 1 0 00-1-1H9.617l-.722-1.447A1 1 0 008 1zm1 2h3.383l.722 1.447A1 1 0 009 5h3v4H8.617l-.722-1.447A1 1 0 007 7H4z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;white-space:normal;shape-padding:0;isolation:auto;mix-blend-mode:normal;solid-color:#000;solid-opacity:1" color="#000" font-weight="400" font-family="sans-serif" overflow="visible"/>
|
||||
<path d="M3 8h4l1 2h5V4H9L8 2H3z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
3
data/theme/keyboard-shift-filled-symbolic.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
|
||||
<path d="M6 13V9H2.937l5.126-5.781L13.186 9H10v4z" style="marker:none" color="#000" overflow="visible" fill="#2e3436"/>
|
||||
</svg>
|
After Width: | Height: | Size: 195 B |
@@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="46" height="22"><defs><linearGradient id="a"><stop offset="0" stop-color="#39393a"/><stop offset="1" stop-color="#302f30"/></linearGradient><linearGradient xlink:href="#a" id="b" x1="53" y1="294.429" x2="53" y2="309.804" gradientUnits="userSpaceOnUse" gradientTransform="translate(-42.76)"/></defs><g transform="translate(0 -291.18)" stroke-width="1.085"><rect style="marker:none" width="44.446" height="20.911" x=".625" y="291.715" rx="10.455" ry="10.073" fill="#323233" stroke="#272728"/><rect ry="10.455" rx="10.455" y="291.715" x=".543" height="20.911" width="21.143" style="marker:none" fill="url(#b)" stroke="#151515"/></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="46" height="22"><defs><linearGradient id="a"><stop offset="0" stop-color="#39393a"/><stop offset="1" stop-color="#302f30"/></linearGradient><linearGradient xlink:href="#a" id="b" x1="53" y1="294.429" x2="53" y2="309.804" gradientUnits="userSpaceOnUse" gradientTransform="translate(-42.76)"/></defs><g transform="translate(0 -291.18)" stroke-width="1.085" stroke="#151515"><rect style="marker:none" width="44.446" height="20.911" x=".625" y="291.715" rx="10.455" ry="10.073" fill="#282828"/><rect ry="10.455" rx="10.455" y="291.715" x=".543" height="20.911" width="21.143" style="marker:none" fill="url(#b)"/></g></svg>
|
Before Width: | Height: | Size: 725 B After Width: | Height: | Size: 708 B |
@@ -703,10 +703,10 @@ var ExtensionRow = GObject.registerClass({
|
||||
|
||||
this._updatesIcon.visible = this.hasUpdate;
|
||||
|
||||
this._versionLabel.label = this.version;
|
||||
this._versionLabel.label = this.version.toString();
|
||||
this._versionLabel.visible = this.version !== '';
|
||||
|
||||
this._authorLabel.label = this.creator;
|
||||
this._authorLabel.label = this.creator.toString();
|
||||
this._authorLabel.visible = this.creator !== '';
|
||||
}
|
||||
|
||||
|
@@ -55,6 +55,7 @@ var AuthPrompt = GObject.registerClass({
|
||||
|
||||
this._gdmClient = gdmClient;
|
||||
this._mode = mode;
|
||||
this._defaultButtonWellActor = null;
|
||||
|
||||
let reauthenticationOnly;
|
||||
if (this._mode == AuthPromptMode.UNLOCK_ONLY)
|
||||
@@ -81,7 +82,7 @@ var AuthPrompt = GObject.registerClass({
|
||||
});
|
||||
this.add_child(this._userWell);
|
||||
|
||||
this._hasCancelButton = this._mode === AuthPromptStatus.UNLOCK_OR_LOG_IN;
|
||||
this._hasCancelButton = this._mode === AuthPromptMode.UNLOCK_OR_LOG_IN;
|
||||
|
||||
this._initEntryRow();
|
||||
|
||||
@@ -131,9 +132,10 @@ var AuthPrompt = GObject.registerClass({
|
||||
|
||||
this.cancelButton = new St.Button({
|
||||
style_class: 'modal-dialog-button button cancel-button',
|
||||
accessible_name: _('Cancel'),
|
||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
||||
reactive: this._hasCancelButton,
|
||||
can_focus: true,
|
||||
can_focus: this._hasCancelButton,
|
||||
x_align: Clutter.ActorAlign.START,
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
child: new St.Icon({ icon_name: 'go-previous-symbolic' }),
|
||||
@@ -284,6 +286,7 @@ var AuthPrompt = GObject.registerClass({
|
||||
this.setActorInDefaultButtonWell(null);
|
||||
this.verificationStatus = AuthPromptStatus.VERIFICATION_SUCCEEDED;
|
||||
this.cancelButton.reactive = false;
|
||||
this.cancelButton.can_focus = false;
|
||||
}
|
||||
|
||||
_onReset() {
|
||||
@@ -452,6 +455,7 @@ var AuthPrompt = GObject.registerClass({
|
||||
let oldStatus = this.verificationStatus;
|
||||
this.verificationStatus = AuthPromptStatus.NOT_VERIFYING;
|
||||
this.cancelButton.reactive = this._hasCancelButton;
|
||||
this.cancelButton.can_focus = this._hasCancelButton;
|
||||
this._preemptiveAnswer = null;
|
||||
|
||||
if (this._userVerifier)
|
||||
|
@@ -456,7 +456,6 @@ var LoginDialog = GObject.registerClass({
|
||||
let notListedLabel = new St.Label({
|
||||
text: _("Not listed?"),
|
||||
style_class: 'login-dialog-not-listed-label',
|
||||
x_align: Clutter.ActorAlign.START,
|
||||
});
|
||||
this._notListedButton = new St.Button({
|
||||
style_class: 'login-dialog-not-listed-button',
|
||||
@@ -464,6 +463,7 @@ var LoginDialog = GObject.registerClass({
|
||||
can_focus: true,
|
||||
child: notListedLabel,
|
||||
reactive: true,
|
||||
x_align: Clutter.ActorAlign.START,
|
||||
});
|
||||
|
||||
this._notListedButton.connect('clicked', this._hideUserListAskForUsernameAndBeginVerification.bind(this));
|
||||
|
@@ -61,7 +61,12 @@ var IBusManager = class {
|
||||
_spawn(extraArgs = []) {
|
||||
try {
|
||||
let cmdLine = ['ibus-daemon', '--panel', 'disable', ...extraArgs];
|
||||
Gio.Subprocess.new(cmdLine, Gio.SubprocessFlags.NONE);
|
||||
let launcher = Gio.SubprocessLauncher.new(Gio.SubprocessFlags.NONE);
|
||||
// Forward the right X11 Display for ibus-x11
|
||||
let display = GLib.getenv('GNOME_SETUP_DISPLAY');
|
||||
if (display)
|
||||
launcher.setenv('DISPLAY', display, true);
|
||||
launcher.launch(cmdLine);
|
||||
} catch (e) {
|
||||
log(`Failed to launch ibus-daemon: ${e.message}`);
|
||||
}
|
||||
|
@@ -1,10 +1,12 @@
|
||||
/* exported IntrospectService */
|
||||
const { Gio, GLib, Meta, Shell } = imports.gi;
|
||||
const { Gio, GLib, Meta, Shell, St } = imports.gi;
|
||||
|
||||
const INTROSPECT_SCHEMA = 'org.gnome.shell';
|
||||
const INTROSPECT_KEY = 'introspect';
|
||||
const APP_WHITELIST = ['org.freedesktop.impl.portal.desktop.gtk'];
|
||||
|
||||
const INTROSPECT_DBUS_API_VERSION = 2;
|
||||
|
||||
const { loadInterfaceXML } = imports.misc.fileUtils;
|
||||
|
||||
const IntrospectDBusIface = loadInterfaceXML('org.gnome.Shell.Introspect');
|
||||
@@ -22,6 +24,7 @@ var IntrospectService = class {
|
||||
this._runningApplicationsDirty = true;
|
||||
this._activeApplication = null;
|
||||
this._activeApplicationDirty = true;
|
||||
this._animationsEnabled = true;
|
||||
|
||||
this._appSystem = Shell.AppSystem.get_default();
|
||||
this._appSystem.connect('app-state-changed',
|
||||
@@ -30,7 +33,9 @@ var IntrospectService = class {
|
||||
this._syncRunningApplications();
|
||||
});
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: INTROSPECT_SCHEMA });
|
||||
this._introspectSettings = new Gio.Settings({
|
||||
schema_id: INTROSPECT_SCHEMA,
|
||||
});
|
||||
|
||||
let tracker = Shell.WindowTracker.get_default();
|
||||
tracker.connect('notify::focus-app',
|
||||
@@ -49,6 +54,11 @@ var IntrospectService = class {
|
||||
(conn, name, owner) => this._whitelistMap.set(name, owner),
|
||||
(conn, name) => this._whitelistMap.delete(name));
|
||||
});
|
||||
|
||||
this._settings = St.Settings.get();
|
||||
this._settings.connect('notify::enable-animations',
|
||||
this._syncAnimationsEnabled.bind(this));
|
||||
this._syncAnimationsEnabled();
|
||||
}
|
||||
|
||||
_isStandaloneApp(app) {
|
||||
@@ -56,7 +66,7 @@ var IntrospectService = class {
|
||||
}
|
||||
|
||||
_isIntrospectEnabled() {
|
||||
return this._settings.get_boolean(INTROSPECT_KEY);
|
||||
return this._introspectSettings.get_boolean(INTROSPECT_KEY);
|
||||
}
|
||||
|
||||
_isSenderWhitelisted(sender) {
|
||||
@@ -119,9 +129,18 @@ var IntrospectService = class {
|
||||
type == Meta.WindowType.UTILITY;
|
||||
}
|
||||
|
||||
_isInvocationAllowed(invocation) {
|
||||
if (this._isIntrospectEnabled())
|
||||
return true;
|
||||
|
||||
if (this._isSenderWhitelisted(invocation.get_sender()))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
GetRunningApplicationsAsync(params, invocation) {
|
||||
if (!this._isIntrospectEnabled() &&
|
||||
!this._isSenderWhitelisted(invocation.get_sender())) {
|
||||
if (!this._isInvocationAllowed(invocation)) {
|
||||
invocation.return_error_literal(Gio.DBusError,
|
||||
Gio.DBusError.ACCESS_DENIED,
|
||||
'App introspection not allowed');
|
||||
@@ -136,8 +155,7 @@ var IntrospectService = class {
|
||||
let apps = this._appSystem.get_running();
|
||||
let windowsList = {};
|
||||
|
||||
if (!this._isIntrospectEnabled() &&
|
||||
!this._isSenderWhitelisted(invocation.get_sender())) {
|
||||
if (!this._isInvocationAllowed(invocation)) {
|
||||
invocation.return_error_literal(Gio.DBusError,
|
||||
Gio.DBusError.ACCESS_DENIED,
|
||||
'App introspection not allowed');
|
||||
@@ -181,4 +199,21 @@ var IntrospectService = class {
|
||||
}
|
||||
invocation.return_value(new GLib.Variant('(a{ta{sv}})', [windowsList]));
|
||||
}
|
||||
|
||||
_syncAnimationsEnabled() {
|
||||
let wasAnimationsEnabled = this._animationsEnabled;
|
||||
this._animationsEnabled = this._settings.enable_animations;
|
||||
if (wasAnimationsEnabled !== this._animationsEnabled) {
|
||||
let variant = new GLib.Variant('b', this._animationsEnabled);
|
||||
this._dbusImpl.emit_property_changed('AnimationsEnabled', variant);
|
||||
}
|
||||
}
|
||||
|
||||
get AnimationsEnabled() {
|
||||
return this._animationsEnabled;
|
||||
}
|
||||
|
||||
get version() {
|
||||
return INTROSPECT_DBUS_API_VERSION;
|
||||
}
|
||||
};
|
||||
|
@@ -445,6 +445,9 @@ function ensureActorVisibleInScrollView(scrollView, actor) {
|
||||
}
|
||||
|
||||
function wiggle(actor, params) {
|
||||
if (!St.Settings.get().enable_animations)
|
||||
return;
|
||||
|
||||
params = Params.parse(params, {
|
||||
offset: WIGGLE_OFFSET,
|
||||
duration: WIGGLE_DURATION,
|
||||
|
@@ -280,12 +280,10 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup {
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
super._onDestroy();
|
||||
|
||||
if (this._thumbnails)
|
||||
this._destroyThumbnails();
|
||||
if (this._thumbnailTimeoutId != 0)
|
||||
GLib.source_remove(this._thumbnailTimeoutId);
|
||||
|
||||
super._onDestroy();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -365,8 +363,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup {
|
||||
},
|
||||
});
|
||||
this._thumbnails = null;
|
||||
if (this._switcherList._items[this._selectedIndex])
|
||||
this._switcherList._items[this._selectedIndex].remove_accessible_state(Atk.StateType.EXPANDED);
|
||||
this._switcherList.removeAccessibleState(this._selectedIndex, Atk.StateType.EXPANDED);
|
||||
}
|
||||
|
||||
_createThumbnails() {
|
||||
@@ -395,7 +392,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup {
|
||||
},
|
||||
});
|
||||
|
||||
this._switcherList._items[this._selectedIndex].add_accessible_state(Atk.StateType.EXPANDED);
|
||||
this._switcherList.addAccessibleState(this._selectedIndex, Atk.StateType.EXPANDED);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -776,7 +773,9 @@ class AppSwitcher extends SwitcherPopup.SwitcherList {
|
||||
|
||||
// We override SwitcherList's _onItemEnter method to delay
|
||||
// activation when the thumbnail list is open
|
||||
_onItemEnter(index) {
|
||||
_onItemEnter(item) {
|
||||
const index = this._items.indexOf(item);
|
||||
|
||||
if (this._mouseTimeOutId != 0)
|
||||
GLib.source_remove(this._mouseTimeOutId);
|
||||
if (this._altTabPopup.thumbnailsVisible) {
|
||||
|
@@ -1657,10 +1657,6 @@ var AppFolderDialog = GObject.registerClass({
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
this.add_constraint(new Clutter.BindConstraint({
|
||||
source: Main.overview.viewSelector,
|
||||
coordinate: Clutter.BindCoordinate.ALL,
|
||||
}));
|
||||
|
||||
this._source = source;
|
||||
this._folder = folder;
|
||||
|
@@ -220,7 +220,9 @@ class DBusEventSource extends EventSourceBase {
|
||||
}
|
||||
}
|
||||
|
||||
this._dbusProxy.connectSignal('Changed', this._onChanged.bind(this));
|
||||
this._dbusProxy.connectSignal('EventsAdded', this._onEventsAdded.bind(this));
|
||||
this._dbusProxy.connectSignal('EventsRemoved', this._onEventsRemoved.bind(this));
|
||||
this._dbusProxy.connectSignal('ClientDisappeared', this._onClientDisappeared.bind(this));
|
||||
|
||||
this._dbusProxy.connect('notify::g-name-owner', () => {
|
||||
if (this._dbusProxy.g_name_owner)
|
||||
@@ -257,7 +259,7 @@ class DBusEventSource extends EventSourceBase {
|
||||
}
|
||||
|
||||
_resetCache() {
|
||||
this._events = [];
|
||||
this._events = new Map();
|
||||
this._lastRequestBegin = null;
|
||||
this._lastRequestEnd = null;
|
||||
}
|
||||
@@ -273,28 +275,59 @@ class DBusEventSource extends EventSourceBase {
|
||||
this.emit('changed');
|
||||
}
|
||||
|
||||
_onChanged() {
|
||||
this._loadEvents(false);
|
||||
}
|
||||
_onEventsAdded(dbusProxy, nameOwner, argArray) {
|
||||
let appointments = argArray[0] || [];
|
||||
let changed = false;
|
||||
|
||||
_onEventsReceived(results, _error) {
|
||||
let newEvents = [];
|
||||
let appointments = results[0] || [];
|
||||
for (let n = 0; n < appointments.length; n++) {
|
||||
let a = appointments[n];
|
||||
let date = new Date(a[4] * 1000);
|
||||
let end = new Date(a[5] * 1000);
|
||||
let id = a[0];
|
||||
let summary = a[1];
|
||||
let allDay = a[3];
|
||||
let allDay = a[2];
|
||||
let date = new Date(a[3] * 1000);
|
||||
let end = new Date(a[4] * 1000);
|
||||
let event = new CalendarEvent(id, date, end, summary, allDay);
|
||||
newEvents.push(event);
|
||||
}
|
||||
newEvents.sort((ev1, ev2) => ev1.date.getTime() - ev2.date.getTime());
|
||||
this._events.set(event.id, event);
|
||||
|
||||
this._events = newEvents;
|
||||
this._isLoading = false;
|
||||
this.emit('changed');
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (changed)
|
||||
this.emit('changed');
|
||||
}
|
||||
|
||||
_onEventsRemoved(dbusProxy, nameOwner, argArray) {
|
||||
let ids = argArray[0] || [];
|
||||
let changed = false;
|
||||
|
||||
for (let n = 0; n < ids.length; n++) {
|
||||
let id = ids[n];
|
||||
|
||||
if (this._events.delete(id))
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (changed)
|
||||
this.emit('changed');
|
||||
}
|
||||
|
||||
_onClientDisappeared(dbusProxy, nameOwner, argArray) {
|
||||
let sourceUid = argArray[0] || "";
|
||||
let changed = false;
|
||||
let idsIter = this._events.keys();
|
||||
|
||||
sourceUid += '\n';
|
||||
|
||||
for (let item = idsIter.next(); !item.done; item = idsIter.next()) {
|
||||
let id = item.value;
|
||||
|
||||
if (id.startsWith(sourceUid) &&
|
||||
this._events.delete(id))
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (changed)
|
||||
this.emit('changed');
|
||||
}
|
||||
|
||||
_loadEvents(forceReload) {
|
||||
@@ -303,32 +336,40 @@ class DBusEventSource extends EventSourceBase {
|
||||
return;
|
||||
|
||||
if (this._curRequestBegin && this._curRequestEnd) {
|
||||
this._dbusProxy.GetEventsRemote(this._curRequestBegin.getTime() / 1000,
|
||||
this._curRequestEnd.getTime() / 1000,
|
||||
forceReload,
|
||||
this._onEventsReceived.bind(this),
|
||||
Gio.DBusCallFlags.NONE);
|
||||
if (forceReload) {
|
||||
this._events.clear();
|
||||
this.emit('changed');
|
||||
}
|
||||
this._dbusProxy.SetTimeRangeRemote(this._curRequestBegin.getTime() / 1000,
|
||||
this._curRequestEnd.getTime() / 1000,
|
||||
forceReload,
|
||||
Gio.DBusCallFlags.NONE);
|
||||
}
|
||||
}
|
||||
|
||||
requestRange(begin, end) {
|
||||
if (!(_datesEqual(begin, this._lastRequestBegin) && _datesEqual(end, this._lastRequestEnd))) {
|
||||
this._isLoading = true;
|
||||
this._lastRequestBegin = begin;
|
||||
this._lastRequestEnd = end;
|
||||
this._curRequestBegin = begin;
|
||||
this._curRequestEnd = end;
|
||||
this._loadEvents(false);
|
||||
this._loadEvents(true);
|
||||
}
|
||||
}
|
||||
|
||||
getEvents(begin, end) {
|
||||
getEvents(begin, end, onlyCheckExistence) {
|
||||
let result = [];
|
||||
for (let n = 0; n < this._events.length; n++) {
|
||||
let event = this._events[n];
|
||||
let eventsIter = this._events.values();
|
||||
|
||||
if (_dateIntervalsOverlap(event.date, event.end, begin, end))
|
||||
for (let item = eventsIter.next(); !item.done; item = eventsIter.next()) {
|
||||
let event = item.value;
|
||||
|
||||
if (_dateIntervalsOverlap(event.date, event.end, begin, end)) {
|
||||
result.push(event);
|
||||
|
||||
if (onlyCheckExistence)
|
||||
return result;
|
||||
}
|
||||
}
|
||||
result.sort((event1, event2) => {
|
||||
// sort events by end time on ending day
|
||||
@@ -343,7 +384,7 @@ class DBusEventSource extends EventSourceBase {
|
||||
let dayBegin = _getBeginningOfDay(day);
|
||||
let dayEnd = _getEndOfDay(day);
|
||||
|
||||
let events = this.getEvents(dayBegin, dayEnd);
|
||||
let events = this.getEvents(dayBegin, dayEnd, true);
|
||||
|
||||
if (events.length == 0)
|
||||
return false;
|
||||
@@ -873,7 +914,7 @@ class EventsSection extends MessageList.MessageListSection {
|
||||
}
|
||||
|
||||
_reloadEvents() {
|
||||
if (this._eventSource.isLoading)
|
||||
if (this._eventSource.isLoading || this._reloading)
|
||||
return;
|
||||
|
||||
this._reloading = true;
|
||||
@@ -882,10 +923,7 @@ class EventsSection extends MessageList.MessageListSection {
|
||||
let periodEnd = _getEndOfDay(this._date);
|
||||
let events = this._eventSource.getEvents(periodBegin, periodEnd);
|
||||
|
||||
let ids = events.map(e => e.id);
|
||||
this._messageById.forEach((message, id) => {
|
||||
if (ids.includes(id))
|
||||
return;
|
||||
this._messageById.delete(id);
|
||||
this.removeMessage(message);
|
||||
});
|
||||
|
@@ -192,6 +192,7 @@ var CloseDialog = GObject.registerClass({
|
||||
this._dialog = null;
|
||||
this._removeWindowEffect();
|
||||
|
||||
dialog.makeInactive();
|
||||
dialog._dialog.ease({
|
||||
scale_y: 0,
|
||||
mode: Clutter.AnimationMode.LINEAR,
|
||||
|
@@ -454,6 +454,8 @@ class MessagesIndicator extends St.Icon {
|
||||
let sources = Main.messageTray.getSources();
|
||||
sources.forEach(source => this._onSourceAdded(null, source));
|
||||
|
||||
this._sync();
|
||||
|
||||
this.connect('destroy', () => {
|
||||
this._settings.run_dispose();
|
||||
this._settings = null;
|
||||
@@ -488,26 +490,6 @@ class MessagesIndicator extends St.Icon {
|
||||
}
|
||||
});
|
||||
|
||||
var IndicatorPad = GObject.registerClass(
|
||||
class IndicatorPad extends St.Widget {
|
||||
_init(actor) {
|
||||
this._source = actor;
|
||||
this._source.connect('notify::size', () => this.queue_relayout());
|
||||
super._init();
|
||||
this._source.bind_property('visible',
|
||||
this, 'visible',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
}
|
||||
|
||||
vfunc_get_preferred_width(forHeight) {
|
||||
return this._source.get_preferred_width(forHeight);
|
||||
}
|
||||
|
||||
vfunc_get_preferred_height(forWidth) {
|
||||
return this._source.get_preferred_height(forWidth);
|
||||
}
|
||||
});
|
||||
|
||||
var FreezableBinLayout = GObject.registerClass(
|
||||
class FreezableBinLayout extends Clutter.BinLayout {
|
||||
_init() {
|
||||
@@ -568,16 +550,24 @@ class DateMenuButton extends PanelMenu.Button {
|
||||
let hbox;
|
||||
let vbox;
|
||||
|
||||
let menuAlignment = 0.5;
|
||||
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
|
||||
menuAlignment = 1.0 - menuAlignment;
|
||||
super._init(menuAlignment);
|
||||
super._init(0.5);
|
||||
|
||||
this._clockDisplay = new St.Label({ style_class: 'clock' });
|
||||
this._clockDisplay.clutter_text.y_align = Clutter.ActorAlign.CENTER;
|
||||
|
||||
this._clockDisplay = new St.Label({ y_align: Clutter.ActorAlign.CENTER });
|
||||
this._indicator = new MessagesIndicator();
|
||||
|
||||
const indicatorPad = new St.Widget();
|
||||
this._indicator.bind_property('visible',
|
||||
indicatorPad, 'visible',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
indicatorPad.add_constraint(new Clutter.BindConstraint({
|
||||
source: this._indicator,
|
||||
coordinate: Clutter.BindCoordinate.SIZE,
|
||||
}));
|
||||
|
||||
let box = new St.BoxLayout({ style_class: 'clock-display-box' });
|
||||
box.add_actor(new IndicatorPad(this._indicator));
|
||||
box.add_actor(indicatorPad);
|
||||
box.add_actor(this._clockDisplay);
|
||||
box.add_actor(this._indicator);
|
||||
|
||||
@@ -630,7 +620,7 @@ class DateMenuButton extends PanelMenu.Button {
|
||||
this._displaysSection = new St.ScrollView({ style_class: 'datemenu-displays-section vfade',
|
||||
x_expand: true,
|
||||
overlay_scrollbars: true });
|
||||
this._displaysSection.set_policy(St.PolicyType.NEVER, St.PolicyType.AUTOMATIC);
|
||||
this._displaysSection.set_policy(St.PolicyType.NEVER, St.PolicyType.EXTERNAL);
|
||||
vbox.add_actor(this._displaysSection);
|
||||
|
||||
let displaysBox = new St.BoxLayout({ vertical: true,
|
||||
|
@@ -58,10 +58,16 @@ class Dialog extends St.Widget {
|
||||
this._dialog.add_child(this.buttonLayout);
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
makeInactive() {
|
||||
if (this._eventId != 0)
|
||||
this._parentActor.disconnect(this._eventId);
|
||||
this._eventId = 0;
|
||||
|
||||
this.buttonLayout.get_children().forEach(c => c.set_reactive(false));
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
this.makeInactive();
|
||||
}
|
||||
|
||||
_modalEventHandler(actor, event) {
|
||||
|
@@ -12,6 +12,9 @@ imports.gi.versions.TelepathyLogger = '0.2';
|
||||
|
||||
const { Clutter, GLib, GObject, Meta, Shell, St } = imports.gi;
|
||||
const Gettext = imports.gettext;
|
||||
const System = imports.system;
|
||||
|
||||
let _localTimeZone = null;
|
||||
|
||||
// We can't import shell JS modules yet, because they may have
|
||||
// variable initializations, etc, that depend on init() already having
|
||||
@@ -111,6 +114,11 @@ function _easeActor(actor, params) {
|
||||
autoReverse = params.autoReverse;
|
||||
delete params.autoReverse;
|
||||
|
||||
// repeatCount doesn't include the initial iteration
|
||||
const numIterations = repeatCount + 1;
|
||||
// whether the transition should finish where it started
|
||||
const isReversed = autoReverse && numIterations % 2 === 0;
|
||||
|
||||
if (params.mode != undefined)
|
||||
actor.set_easing_mode(params.mode);
|
||||
delete params.mode;
|
||||
@@ -122,7 +130,8 @@ function _easeActor(actor, params) {
|
||||
let animatedProps = Object.keys(params).map(p => p.replace('_', '-', 'g'));
|
||||
animatedProps.forEach(p => actor.remove_transition(p));
|
||||
|
||||
actor.set(params);
|
||||
if (actor.get_easing_duration() > 0 || !isReversed)
|
||||
actor.set(params);
|
||||
actor.restore_easing_state();
|
||||
|
||||
let transition = animatedProps.map(p => actor.get_transition(p))
|
||||
@@ -161,6 +170,11 @@ function _easeActorProperty(actor, propName, target, params) {
|
||||
autoReverse = params.autoReverse;
|
||||
delete params.autoReverse;
|
||||
|
||||
// repeatCount doesn't include the initial iteration
|
||||
const numIterations = repeatCount + 1;
|
||||
// whether the transition should finish where it started
|
||||
const isReversed = autoReverse && numIterations % 2 === 0;
|
||||
|
||||
// Copy Clutter's behavior for implicit animations, see
|
||||
// should_skip_implicit_transition()
|
||||
if (actor instanceof Clutter.Actor && !actor.mapped)
|
||||
@@ -174,7 +188,9 @@ function _easeActorProperty(actor, propName, target, params) {
|
||||
|
||||
if (duration == 0) {
|
||||
let [obj, prop] = _getPropertyTarget(actor, propName);
|
||||
obj[prop] = target;
|
||||
|
||||
if (!isReversed)
|
||||
obj[prop] = target;
|
||||
|
||||
Meta.disable_unredirect_for_display(global.display);
|
||||
callback(true);
|
||||
@@ -291,9 +307,25 @@ function init() {
|
||||
}
|
||||
};
|
||||
|
||||
// Override to clear our own timezone cache as well
|
||||
const origClearDateCaches = System.clearDateCaches;
|
||||
System.clearDateCaches = function () {
|
||||
_localTimeZone = null;
|
||||
origClearDateCaches();
|
||||
};
|
||||
|
||||
// Work around https://bugzilla.mozilla.org/show_bug.cgi?id=508783
|
||||
Date.prototype.toLocaleFormat = function (format) {
|
||||
let dt = GLib.DateTime.new_from_unix_local(this.getTime() / 1000);
|
||||
if (_localTimeZone === null)
|
||||
_localTimeZone = GLib.TimeZone.new_local();
|
||||
|
||||
let dt = GLib.DateTime.new(_localTimeZone,
|
||||
this.getFullYear(),
|
||||
this.getMonth() + 1,
|
||||
this.getDate(),
|
||||
this.getHours(),
|
||||
this.getMinutes(),
|
||||
this.getSeconds());
|
||||
return dt ? dt.format(format) : '';
|
||||
};
|
||||
|
||||
|
@@ -556,15 +556,25 @@ var IconGrid = GObject.registerClass({
|
||||
}, Infinity);
|
||||
let normalization = maxDist - minDist;
|
||||
|
||||
for (let index = 0; index < actors.length; index++) {
|
||||
let actor = actors[index];
|
||||
actors.forEach(actor => {
|
||||
let clone = new Clutter.Clone({ source: actor });
|
||||
this._clonesAnimating.push(clone);
|
||||
Main.uiGroup.add_actor(clone);
|
||||
});
|
||||
|
||||
/*
|
||||
* ^
|
||||
* | These need to be separate loops because Main.uiGroup.add_actor
|
||||
* | is excessively slow if done inside the below loop and we want the
|
||||
* | below loop to complete within one frame interval (#2065, !1002).
|
||||
* v
|
||||
*/
|
||||
|
||||
this._clonesAnimating.forEach(actorClone => {
|
||||
let actor = actorClone.source;
|
||||
actor.opacity = 0;
|
||||
actor.reactive = false;
|
||||
|
||||
let actorClone = new Clutter.Clone({ source: actor });
|
||||
this._clonesAnimating.push(actorClone);
|
||||
Main.uiGroup.add_actor(actorClone);
|
||||
|
||||
let [width, height] = this._getAllocatedChildSizeAndSpacing(actor);
|
||||
actorClone.set_size(width, height);
|
||||
let scaleX = sourceScaledWidth / width;
|
||||
@@ -631,7 +641,7 @@ var IconGrid = GObject.registerClass({
|
||||
|
||||
actorClone.ease(movementParams);
|
||||
actorClone.ease(fadeParams);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_getAllocatedChildSizeAndSpacing(child) {
|
||||
|
@@ -24,29 +24,29 @@ const SHOW_KEYBOARD = 'screen-keyboard-enabled';
|
||||
const KEY_SIZE = 2;
|
||||
|
||||
const defaultKeysPre = [
|
||||
[[], [], [{ width: 1.5, level: 1, extraClassName: 'shift-key-lowercase' }], [{ label: '?123', width: 1.5, level: 2 }]],
|
||||
[[], [], [{ width: 1.5, level: 0, extraClassName: 'shift-key-uppercase' }], [{ label: '?123', width: 1.5, level: 2 }]],
|
||||
[[], [], [{ width: 1.5, level: 1, extraClassName: 'shift-key-lowercase', icon: 'keyboard-shift-filled-symbolic' }], [{ label: '?123', width: 1.5, level: 2 }]],
|
||||
[[], [], [{ width: 1.5, level: 0, extraClassName: 'shift-key-uppercase', icon: 'keyboard-shift-filled-symbolic' }], [{ label: '?123', width: 1.5, level: 2 }]],
|
||||
[[], [], [{ label: '=/<', width: 1.5, level: 3 }], [{ label: 'ABC', width: 1.5, level: 0 }]],
|
||||
[[], [], [{ label: '?123', width: 1.5, level: 2 }], [{ label: 'ABC', width: 1.5, level: 0 }]],
|
||||
];
|
||||
|
||||
const defaultKeysPost = [
|
||||
[[{ label: '⌫', width: 1.5, keyval: Clutter.KEY_BackSpace }],
|
||||
[{ width: 2, keyval: Clutter.KEY_Return, extraClassName: 'enter-key' }],
|
||||
[{ width: 3, level: 1, right: true, extraClassName: 'shift-key-lowercase' }],
|
||||
[{ label: '☻', action: 'emoji' }, { action: 'languageMenu', extraClassName: 'layout-key' }, { action: 'hide', extraClassName: 'hide-key' }]],
|
||||
[[{ label: '⌫', width: 1.5, keyval: Clutter.KEY_BackSpace }],
|
||||
[{ width: 2, keyval: Clutter.KEY_Return, extraClassName: 'enter-key' }],
|
||||
[{ width: 3, level: 0, right: true, extraClassName: 'shift-key-uppercase' }],
|
||||
[{ label: '☻', action: 'emoji' }, { action: 'languageMenu', extraClassName: 'layout-key' }, { action: 'hide', extraClassName: 'hide-key' }]],
|
||||
[[{ label: '⌫', width: 1.5, keyval: Clutter.KEY_BackSpace }],
|
||||
[{ width: 2, keyval: Clutter.KEY_Return, extraClassName: 'enter-key' }],
|
||||
[[{ width: 1.5, keyval: Clutter.KEY_BackSpace, icon: 'edit-clear-symbolic' }],
|
||||
[{ width: 2, keyval: Clutter.KEY_Return, extraClassName: 'enter-key', icon: 'keyboard-enter-symbolic' }],
|
||||
[{ width: 3, level: 1, right: true, extraClassName: 'shift-key-lowercase', icon: 'keyboard-shift-filled-symbolic' }],
|
||||
[{ action: 'emoji', icon: 'face-smile-symbolic' }, { action: 'languageMenu', extraClassName: 'layout-key', icon: 'keyboard-layout-filled-symbolic' }, { action: 'hide', extraClassName: 'hide-key', icon: 'go-down-symbolic' }]],
|
||||
[[{ width: 1.5, keyval: Clutter.KEY_BackSpace, icon: 'edit-clear-symbolic' }],
|
||||
[{ width: 2, keyval: Clutter.KEY_Return, extraClassName: 'enter-key', icon: 'keyboard-enter-symbolic' }],
|
||||
[{ width: 3, level: 0, right: true, extraClassName: 'shift-key-uppercase', icon: 'keyboard-shift-filled-symbolic' }],
|
||||
[{ action: 'emoji', icon: 'face-smile-symbolic' }, { action: 'languageMenu', extraClassName: 'layout-key', icon: 'keyboard-layout-filled-symbolic' }, { action: 'hide', extraClassName: 'hide-key', icon: 'go-down-symbolic' }]],
|
||||
[[{ width: 1.5, keyval: Clutter.KEY_BackSpace, icon: 'edit-clear-symbolic' }],
|
||||
[{ width: 2, keyval: Clutter.KEY_Return, extraClassName: 'enter-key', icon: 'keyboard-enter-symbolic' }],
|
||||
[{ label: '=/<', width: 3, level: 3, right: true }],
|
||||
[{ label: '☻', action: 'emoji' }, { action: 'languageMenu', extraClassName: 'layout-key' }, { action: 'hide', extraClassName: 'hide-key' }]],
|
||||
[[{ label: '⌫', width: 1.5, keyval: Clutter.KEY_BackSpace }],
|
||||
[{ width: 2, keyval: Clutter.KEY_Return, extraClassName: 'enter-key' }],
|
||||
[{ action: 'emoji', icon: 'face-smile-symbolic' }, { action: 'languageMenu', extraClassName: 'layout-key' }, { action: 'hide', extraClassName: 'hide-key' }]],
|
||||
[[{ width: 1.5, keyval: Clutter.KEY_BackSpace, icon: 'edit-clear-symbolic' }],
|
||||
[{ width: 2, keyval: Clutter.KEY_Return, extraClassName: 'enter-key', icon: 'keyboard-enter-symbolic' }],
|
||||
[{ label: '?123', width: 3, level: 2, right: true }],
|
||||
[{ label: '☻', action: 'emoji' }, { action: 'languageMenu', extraClassName: 'layout-key' }, { action: 'hide', extraClassName: 'hide-key' }]],
|
||||
[{ action: 'emoji', icon: 'face-smile-symbolic' }, { action: 'languageMenu', extraClassName: 'layout-key', icon: 'keyboard-layout-filled-symbolic' }, { action: 'hide', extraClassName: 'hide-key', icon: 'go-down-symbolic' }]],
|
||||
];
|
||||
|
||||
var AspectContainer = GObject.registerClass(
|
||||
@@ -257,11 +257,11 @@ var Key = GObject.registerClass({
|
||||
'released': { param_types: [GObject.TYPE_UINT, GObject.TYPE_STRING] },
|
||||
},
|
||||
}, class Key extends St.BoxLayout {
|
||||
_init(key, extendedKeys) {
|
||||
_init(key, extendedKeys, icon = null) {
|
||||
super._init({ style_class: 'key-container' });
|
||||
|
||||
this.key = key || "";
|
||||
this.keyButton = this._makeKey(this.key);
|
||||
this.keyButton = this._makeKey(this.key, icon);
|
||||
|
||||
/* Add the key in a container, so keys can be padded without losing
|
||||
* logical proportions between those.
|
||||
@@ -404,14 +404,21 @@ var Key = GObject.registerClass({
|
||||
this._capturedPress = false;
|
||||
}
|
||||
|
||||
_makeKey(key) {
|
||||
let label = GLib.markup_escape_text(key, -1);
|
||||
_makeKey(key, icon) {
|
||||
let button = new St.Button({
|
||||
label,
|
||||
style_class: 'keyboard-key',
|
||||
x_expand: true,
|
||||
});
|
||||
|
||||
if (icon) {
|
||||
let child = new St.Icon({ icon_name: icon });
|
||||
button.set_child(child);
|
||||
this._icon = child;
|
||||
} else {
|
||||
let label = GLib.markup_escape_text(key, -1);
|
||||
button.set_label(label);
|
||||
}
|
||||
|
||||
button.keyWidth = 1;
|
||||
button.connect('button-press-event', () => {
|
||||
this._press(key);
|
||||
@@ -475,10 +482,16 @@ var Key = GObject.registerClass({
|
||||
}
|
||||
|
||||
setLatched(latched) {
|
||||
if (latched)
|
||||
if (!this._icon)
|
||||
return;
|
||||
|
||||
if (latched) {
|
||||
this.keyButton.add_style_pseudo_class('latched');
|
||||
else
|
||||
this._icon.icon_name = 'keyboard-caps-lock-filled-symbolic';
|
||||
} else {
|
||||
this.keyButton.remove_style_pseudo_class('latched');
|
||||
this._icon.icon_name = 'keyboard-shift-filled-symbolic';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1022,7 +1035,7 @@ var EmojiSelection = GObject.registerClass({
|
||||
section.button = key;
|
||||
}
|
||||
|
||||
key = new Key(null, []);
|
||||
key = new Key(null, [], 'go-down-symbolic');
|
||||
key.keyButton.add_style_class_name('default-key');
|
||||
key.keyButton.add_style_class_name('hide-key');
|
||||
key.connect('released', () => {
|
||||
@@ -1255,11 +1268,7 @@ class Keyboard extends St.BoxLayout {
|
||||
|
||||
this._clearShowIdle();
|
||||
|
||||
this._keyboardController = null;
|
||||
this._suggestions = null;
|
||||
this._aspectContainer = null;
|
||||
this._emojiSelection = null;
|
||||
this._keypad = null;
|
||||
this._keyboardController.destroy();
|
||||
|
||||
Main.layoutManager.untrackChrome(this);
|
||||
Main.layoutManager.keyboardBox.remove_actor(this);
|
||||
@@ -1439,12 +1448,13 @@ class Keyboard extends St.BoxLayout {
|
||||
let keyval = key.keyval;
|
||||
let switchToLevel = key.level;
|
||||
let action = key.action;
|
||||
let icon = key.icon;
|
||||
|
||||
/* Skip emoji button if necessary */
|
||||
if (!this._emojiKeyVisible && action == 'emoji')
|
||||
continue;
|
||||
|
||||
extraButton = new Key(key.label || '', []);
|
||||
extraButton = new Key(key.label || '', [], icon);
|
||||
|
||||
extraButton.keyButton.add_style_class_name('default-key');
|
||||
if (key.extraClassName != null)
|
||||
@@ -1844,13 +1854,20 @@ var KeyboardController = class {
|
||||
this._onSourcesModified.bind(this));
|
||||
this._currentSource = this._inputSourceManager.currentSource;
|
||||
|
||||
Main.inputMethod.connect('notify::content-purpose',
|
||||
this._onContentPurposeHintsChanged.bind(this));
|
||||
Main.inputMethod.connect('notify::content-hints',
|
||||
this._onContentPurposeHintsChanged.bind(this));
|
||||
Main.inputMethod.connect('input-panel-state', (o, state) => {
|
||||
this.emit('panel-state', state);
|
||||
});
|
||||
this._notifyContentPurposeId = Main.inputMethod.connect(
|
||||
'notify::content-purpose', this._onContentPurposeHintsChanged.bind(this));
|
||||
this._notifyContentHintsId = Main.inputMethod.connect(
|
||||
'notify::content-hints', this._onContentPurposeHintsChanged.bind(this));
|
||||
this._notifyInputPanelStateId = Main.inputMethod.connect(
|
||||
'input-panel-state', (o, state) => this.emit('panel-state', state));
|
||||
}
|
||||
|
||||
destroy() {
|
||||
this._inputSourceManager.disconnect(this._sourceChangedId);
|
||||
this._inputSourceManager.disconnect(this._sourcesModifiedId);
|
||||
Main.inputMethod.disconnect(this._notifyContentPurposeId);
|
||||
Main.inputMethod.disconnect(this._notifyContentHintsId);
|
||||
Main.inputMethod.disconnect(this._notifyInputPanelStateId);
|
||||
}
|
||||
|
||||
_onSourcesModified() {
|
||||
|
@@ -738,7 +738,7 @@ var LayoutManager = GObject.registerClass({
|
||||
showKeyboard() {
|
||||
this.keyboardBox.show();
|
||||
this.keyboardBox.ease({
|
||||
anchor_y: this.keyboardBox.height,
|
||||
translation_y: -this.keyboardBox.height,
|
||||
opacity: 255,
|
||||
duration: KEYBOARD_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
@@ -755,7 +755,7 @@ var LayoutManager = GObject.registerClass({
|
||||
this._updateRegions();
|
||||
|
||||
this._keyboardHeightNotifyId = this.keyboardBox.connect('notify::height', () => {
|
||||
this.keyboardBox.anchor_y = this.keyboardBox.height;
|
||||
this.keyboardBox.translation_y = -this.keyboardBox.height;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -765,7 +765,7 @@ var LayoutManager = GObject.registerClass({
|
||||
this._keyboardHeightNotifyId = 0;
|
||||
}
|
||||
this.keyboardBox.ease({
|
||||
anchor_y: 0,
|
||||
translation_y: this.keyboardBox.height,
|
||||
opacity: 0,
|
||||
duration: immediate ? 0 : KEYBOARD_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_IN_QUAD,
|
||||
|
@@ -244,6 +244,12 @@ function objectToString(o) {
|
||||
// special case this since the default is way, way too verbose
|
||||
return '<js function>';
|
||||
} else {
|
||||
if (o === undefined)
|
||||
return 'undefined';
|
||||
|
||||
if (o === null)
|
||||
return 'null';
|
||||
|
||||
return o.toString();
|
||||
}
|
||||
}
|
||||
|
@@ -127,6 +127,10 @@ var Magnifier = class Magnifier {
|
||||
* Show the system mouse pointer.
|
||||
*/
|
||||
showSystemCursor() {
|
||||
const seat = Clutter.get_default_backend().get_default_seat();
|
||||
|
||||
if (seat.is_unfocus_inhibited())
|
||||
seat.uninhibit_unfocus();
|
||||
this._cursorTracker.set_pointer_visible(true);
|
||||
}
|
||||
|
||||
@@ -135,6 +139,10 @@ var Magnifier = class Magnifier {
|
||||
* Hide the system mouse pointer.
|
||||
*/
|
||||
hideSystemCursor() {
|
||||
const seat = Clutter.get_default_backend().get_default_seat();
|
||||
|
||||
if (!seat.is_unfocus_inhibited())
|
||||
seat.inhibit_unfocus();
|
||||
this._cursorTracker.set_pointer_visible(false);
|
||||
}
|
||||
|
||||
@@ -169,7 +177,7 @@ var Magnifier = class Magnifier {
|
||||
// Make sure system mouse pointer is shown when all zoom regions are
|
||||
// invisible.
|
||||
if (!activate)
|
||||
this._cursorTracker.set_pointer_visible(true);
|
||||
this.showSystemCursor();
|
||||
|
||||
// Notify interested parties of this change
|
||||
this.emit('active-changed', activate);
|
||||
|
@@ -161,6 +161,8 @@ function _initializeUI() {
|
||||
_loadOskLayouts();
|
||||
_loadDefaultStylesheet();
|
||||
|
||||
new AnimationsSettings();
|
||||
|
||||
// Setup the stage hierarchy early
|
||||
layoutManager = new Layout.LayoutManager();
|
||||
|
||||
@@ -758,3 +760,46 @@ function showRestartMessage(message) {
|
||||
let restartMessage = new RestartMessage(message);
|
||||
restartMessage.open();
|
||||
}
|
||||
|
||||
var AnimationsSettings = class {
|
||||
constructor() {
|
||||
let backend = Meta.get_backend();
|
||||
if (!backend.is_rendering_hardware_accelerated()) {
|
||||
St.Settings.get().inhibit_animations();
|
||||
return;
|
||||
}
|
||||
|
||||
let isXvnc = Shell.util_has_x11_display_extension(
|
||||
global.display, 'VNC-EXTENSION');
|
||||
if (isXvnc) {
|
||||
St.Settings.get().inhibit_animations();
|
||||
return;
|
||||
}
|
||||
|
||||
let remoteAccessController = backend.get_remote_access_controller();
|
||||
if (!remoteAccessController)
|
||||
return;
|
||||
|
||||
this._handles = new Set();
|
||||
remoteAccessController.connect('new-handle',
|
||||
(_, handle) => this._onNewRemoteAccessHandle(handle));
|
||||
}
|
||||
|
||||
_onRemoteAccessHandleStopped(handle) {
|
||||
let settings = St.Settings.get();
|
||||
|
||||
settings.uninhibit_animations();
|
||||
this._handles.delete(handle);
|
||||
}
|
||||
|
||||
_onNewRemoteAccessHandle(handle) {
|
||||
if (!handle.get_disable_animations())
|
||||
return;
|
||||
|
||||
let settings = St.Settings.get();
|
||||
|
||||
settings.inhibit_animations();
|
||||
this._handles.add(handle);
|
||||
handle.connect('stopped', this._onRemoteAccessHandleStopped.bind(this));
|
||||
}
|
||||
};
|
||||
|
@@ -251,6 +251,10 @@ class MediaSection extends MessageList.MessageListSection {
|
||||
return !this.empty && Calendar.isToday(this._date);
|
||||
}
|
||||
|
||||
get allowed() {
|
||||
return !Main.sessionMode.isGreeter;
|
||||
}
|
||||
|
||||
_addPlayer(busName) {
|
||||
if (this._players.get(busName))
|
||||
return;
|
||||
|
@@ -270,7 +270,11 @@ var Overview = class {
|
||||
}
|
||||
|
||||
_sessionUpdated() {
|
||||
this.isDummy = !Main.sessionMode.hasOverview;
|
||||
const { hasOverview } = Main.sessionMode;
|
||||
if (!hasOverview)
|
||||
this.hide();
|
||||
|
||||
this.isDummy = !hasOverview;
|
||||
this._createOverview();
|
||||
}
|
||||
|
||||
|
@@ -533,6 +533,9 @@ class PanelCorner extends St.DrawingArea {
|
||||
if (index < 0)
|
||||
return null;
|
||||
|
||||
if (!(children[index] instanceof St.Widget))
|
||||
return null;
|
||||
|
||||
if (!children[index].has_style_class_name('panel-menu') &&
|
||||
!children[index].has_style_class_name('panel-button'))
|
||||
return this._findRightmostButton(children[index]);
|
||||
@@ -558,6 +561,9 @@ class PanelCorner extends St.DrawingArea {
|
||||
if (index == children.length)
|
||||
return null;
|
||||
|
||||
if (!(children[index] instanceof St.Widget))
|
||||
return null;
|
||||
|
||||
if (!children[index].has_style_class_name('panel-menu') &&
|
||||
!children[index].has_style_class_name('panel-button'))
|
||||
return this._findLeftmostButton(children[index]);
|
||||
|
@@ -191,9 +191,10 @@ class CapsLockWarning extends St.Label {
|
||||
|
||||
this.remove_all_transitions();
|
||||
|
||||
const { naturalHeightSet } = this;
|
||||
this.natural_height_set = false;
|
||||
let [, height] = this.get_preferred_height(-1);
|
||||
this.natural_height_set = true;
|
||||
this.natural_height_set = naturalHeightSet;
|
||||
|
||||
this.ease({
|
||||
height: capsLockOn ? height : 0,
|
||||
|
@@ -43,7 +43,9 @@ var Slider = GObject.registerClass({
|
||||
let [hasHandleColor, handleBorderColor] =
|
||||
themeNode.lookup_color('-slider-handle-border-color', false);
|
||||
|
||||
let handleX = handleRadius + (width - 2 * handleRadius) * this._value / this._maxValue;
|
||||
let wholeHandleRadius = Math.ceil(handleRadius);
|
||||
let handleX = wholeHandleRadius +
|
||||
(width - 2 * wholeHandleRadius) * this._value / this._maxValue;
|
||||
let handleY = height / 2;
|
||||
|
||||
let color = themeNode.get_foreground_color();
|
||||
|
@@ -715,7 +715,8 @@ var InputSourceManager = class {
|
||||
if (!window)
|
||||
return;
|
||||
|
||||
if (window._inputSources != this._inputSources) {
|
||||
if (!window._inputSources ||
|
||||
window._inputSources !== this._inputSources) {
|
||||
window._inputSources = this._inputSources;
|
||||
window._currentSource = this._getNewInputSource(window._currentSource);
|
||||
}
|
||||
|
@@ -58,7 +58,7 @@ const TouchpadSwipeGesture = GObject.registerClass({
|
||||
this._orientation = Clutter.Orientation.VERTICAL;
|
||||
this._enabled = true;
|
||||
|
||||
global.stage.connect('captured-event', this._handleEvent.bind(this));
|
||||
global.stage.connect('captured-event::touchpad', this._handleEvent.bind(this));
|
||||
}
|
||||
|
||||
get enabled() {
|
||||
|
@@ -130,7 +130,7 @@ var SwitcherPopup = GObject.registerClass({
|
||||
let [x_, y_, mods] = global.get_pointer();
|
||||
if (!(mods & this._modifierMask)) {
|
||||
this._finish(global.get_current_time());
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
this._resetNoModsTimeout();
|
||||
@@ -228,7 +228,9 @@ var SwitcherPopup = GObject.registerClass({
|
||||
}
|
||||
|
||||
vfunc_scroll_event(scrollEvent) {
|
||||
this._scrollHandler(scrollEvent.scroll_direction);
|
||||
this._disableHover();
|
||||
|
||||
this._scrollHandler(scrollEvent.direction);
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}
|
||||
|
||||
@@ -253,7 +255,15 @@ var SwitcherPopup = GObject.registerClass({
|
||||
|
||||
_itemRemovedHandler(n) {
|
||||
if (this._items.length > 0) {
|
||||
let newIndex = Math.min(n, this._items.length - 1);
|
||||
let newIndex;
|
||||
|
||||
if (n < this._selectedIndex)
|
||||
newIndex = this._selectedIndex - 1;
|
||||
else if (n === this._selectedIndex)
|
||||
newIndex = Math.min(n, this._items.length - 1);
|
||||
else if (n > this._selectedIndex)
|
||||
return; // No need to select something new in this case
|
||||
|
||||
this._select(newIndex);
|
||||
} else {
|
||||
this.fadeAndDestroy();
|
||||
@@ -417,9 +427,8 @@ var SwitcherList = GObject.registerClass({
|
||||
bbox.set_child(item);
|
||||
this._list.add_actor(bbox);
|
||||
|
||||
let n = this._items.length;
|
||||
bbox.connect('clicked', () => this._onItemClicked(n));
|
||||
bbox.connect('motion-event', () => this._onItemEnter(n));
|
||||
bbox.connect('clicked', () => this._onItemClicked(bbox));
|
||||
bbox.connect('motion-event', () => this._onItemEnter(bbox));
|
||||
|
||||
bbox.label_actor = label;
|
||||
|
||||
@@ -434,16 +443,23 @@ var SwitcherList = GObject.registerClass({
|
||||
this.emit('item-removed', index);
|
||||
}
|
||||
|
||||
_onItemClicked(index) {
|
||||
this._itemActivated(index);
|
||||
addAccessibleState(index, state) {
|
||||
this._items[index].add_accessible_state(state);
|
||||
}
|
||||
|
||||
_onItemEnter(index) {
|
||||
removeAccessibleState(index, state) {
|
||||
this._items[index].remove_accessible_state(state);
|
||||
}
|
||||
|
||||
_onItemClicked(item) {
|
||||
this._itemActivated(this._items.indexOf(item));
|
||||
}
|
||||
|
||||
_onItemEnter(item) {
|
||||
// Avoid reentrancy
|
||||
if (index != this._currentItemEntered) {
|
||||
this._currentItemEntered = index;
|
||||
this._itemEntered(index);
|
||||
}
|
||||
if (item !== this._items[this._highlighted])
|
||||
this._itemEntered(this._items.indexOf(item));
|
||||
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}
|
||||
|
||||
@@ -468,40 +484,40 @@ var SwitcherList = GObject.registerClass({
|
||||
let [result_, posX, posY_] = this.transform_stage_point(absItemX, 0);
|
||||
let [containerWidth] = this.get_transformed_size();
|
||||
if (posX + this._items[index].get_width() > containerWidth)
|
||||
this._scrollToRight();
|
||||
this._scrollToRight(index);
|
||||
else if (this._items[index].allocation.x1 - value < 0)
|
||||
this._scrollToLeft();
|
||||
this._scrollToLeft(index);
|
||||
|
||||
}
|
||||
|
||||
_scrollToLeft() {
|
||||
_scrollToLeft(index) {
|
||||
let adjustment = this._scrollView.hscroll.adjustment;
|
||||
let [value, lower_, upper, stepIncrement_, pageIncrement_, pageSize] = adjustment.get_values();
|
||||
|
||||
let item = this._items[this._highlighted];
|
||||
let item = this._items[index];
|
||||
|
||||
if (item.allocation.x1 < value)
|
||||
value = Math.min(0, item.allocation.x1);
|
||||
value = Math.max(0, item.allocation.x1);
|
||||
else if (item.allocation.x2 > value + pageSize)
|
||||
value = Math.max(upper, item.allocation.x2 - pageSize);
|
||||
value = Math.min(upper, item.allocation.x2 - pageSize);
|
||||
|
||||
this._scrollableRight = true;
|
||||
adjustment.ease(value, {
|
||||
progress_mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
duration: POPUP_SCROLL_TIME,
|
||||
onComplete: () => {
|
||||
if (this._highlighted == 0)
|
||||
if (index === 0)
|
||||
this._scrollableLeft = false;
|
||||
this.queue_relayout();
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
_scrollToRight() {
|
||||
_scrollToRight(index) {
|
||||
let adjustment = this._scrollView.hscroll.adjustment;
|
||||
let [value, lower_, upper, stepIncrement_, pageIncrement_, pageSize] = adjustment.get_values();
|
||||
|
||||
let item = this._items[this._highlighted];
|
||||
let item = this._items[index];
|
||||
|
||||
if (item.allocation.x1 < value)
|
||||
value = Math.max(0, item.allocation.x1);
|
||||
@@ -513,7 +529,7 @@ var SwitcherList = GObject.registerClass({
|
||||
progress_mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
duration: POPUP_SCROLL_TIME,
|
||||
onComplete: () => {
|
||||
if (this._highlighted == this._items.length - 1)
|
||||
if (index === this._items.length - 1)
|
||||
this._scrollableRight = false;
|
||||
this.queue_relayout();
|
||||
},
|
||||
|
@@ -18,8 +18,6 @@ const IDLE_TIMEOUT = 2 * 60;
|
||||
// The timeout before showing the unlock hint (in seconds)
|
||||
const HINT_TIMEOUT = 4;
|
||||
|
||||
const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
|
||||
|
||||
const CROSSFADE_TIME = 300;
|
||||
const FADE_OUT_TRANSLATION = 200;
|
||||
const FADE_OUT_SCALE = 0.3;
|
||||
@@ -478,7 +476,6 @@ var UnlockDialog = GObject.registerClass({
|
||||
accessible_role: Atk.Role.WINDOW,
|
||||
style_class: 'login-dialog',
|
||||
visible: false,
|
||||
can_focus: true,
|
||||
reactive: true,
|
||||
});
|
||||
|
||||
@@ -558,12 +555,14 @@ var UnlockDialog = GObject.registerClass({
|
||||
// Switch User button
|
||||
this._otherUserButton = new St.Button({
|
||||
style_class: 'modal-dialog-button button switch-user-button',
|
||||
can_focus: true,
|
||||
reactive: true,
|
||||
accessible_name: _('Log in as another user'),
|
||||
reactive: false,
|
||||
opacity: 0,
|
||||
x_align: Clutter.ActorAlign.END,
|
||||
y_align: Clutter.ActorAlign.END,
|
||||
child: new St.Icon({ icon_name: 'system-users-symbolic' }),
|
||||
});
|
||||
this._otherUserButton.set_pivot_point(0.5, 0.5);
|
||||
this._otherUserButton.connect('clicked', this._otherUserClicked.bind(this));
|
||||
|
||||
let screenSaverSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.screensaver' });
|
||||
@@ -571,7 +570,7 @@ var UnlockDialog = GObject.registerClass({
|
||||
this._otherUserButton, 'visible', Gio.SettingsBindFlags.GET);
|
||||
|
||||
// Main Box
|
||||
let mainBox = new Clutter.Actor();
|
||||
let mainBox = new St.Widget();
|
||||
mainBox.add_constraint(new Layout.MonitorConstraint({ primary: true }));
|
||||
mainBox.add_child(this._stack);
|
||||
mainBox.add_child(this._notificationsBox);
|
||||
@@ -624,7 +623,6 @@ var UnlockDialog = GObject.registerClass({
|
||||
container: widget,
|
||||
monitorIndex,
|
||||
controlPosition: false,
|
||||
settingsSchema: SCREENSAVER_SCHEMA,
|
||||
});
|
||||
|
||||
this._bgManagers.push(bgManager);
|
||||
@@ -669,7 +667,7 @@ var UnlockDialog = GObject.registerClass({
|
||||
this._promptBox.add_child(this._authPrompt);
|
||||
|
||||
this._authPrompt.reset();
|
||||
this._updateSensitivity(true);
|
||||
this._authPrompt.updateSensitivity(true);
|
||||
}
|
||||
|
||||
_maybeDestroyAuthPrompt() {
|
||||
@@ -685,13 +683,6 @@ var UnlockDialog = GObject.registerClass({
|
||||
}
|
||||
}
|
||||
|
||||
_updateSensitivity(sensitive) {
|
||||
this._authPrompt.updateSensitivity(sensitive);
|
||||
|
||||
this._otherUserButton.reactive = sensitive;
|
||||
this._otherUserButton.can_focus = sensitive;
|
||||
}
|
||||
|
||||
_showClock() {
|
||||
if (this._activePage === this._clock)
|
||||
return;
|
||||
@@ -723,6 +714,11 @@ var UnlockDialog = GObject.registerClass({
|
||||
this._promptBox.visible = progress > 0;
|
||||
this._clock.visible = progress < 1;
|
||||
|
||||
this._otherUserButton.set({
|
||||
reactive: progress > 0,
|
||||
can_focus: progress > 0,
|
||||
});
|
||||
|
||||
const { scaleFactor } = St.ThemeContext.get_for_stage(global.stage);
|
||||
|
||||
this._promptBox.set({
|
||||
@@ -738,6 +734,12 @@ var UnlockDialog = GObject.registerClass({
|
||||
scale_y: FADE_OUT_SCALE + (1 - FADE_OUT_SCALE) * (1 - progress),
|
||||
translation_y: -FADE_OUT_TRANSLATION * progress * scaleFactor,
|
||||
});
|
||||
|
||||
this._otherUserButton.set({
|
||||
opacity: 255 * progress,
|
||||
scale_x: FADE_OUT_SCALE + (1 - FADE_OUT_SCALE) * progress,
|
||||
scale_y: FADE_OUT_SCALE + (1 - FADE_OUT_SCALE) * progress,
|
||||
});
|
||||
}
|
||||
|
||||
_fail() {
|
||||
|
@@ -7,7 +7,6 @@ const { Clutter, GLib, GObject, St } = imports.gi;
|
||||
|
||||
const Params = imports.misc.params;
|
||||
|
||||
const UNKNOWN_AVATAR_ICON_SIZE = -1;
|
||||
var AVATAR_ICON_SIZE = 64;
|
||||
|
||||
// Adapted from gdm/gui/user-switch-applet/applet.c
|
||||
@@ -22,7 +21,7 @@ class Avatar extends St.Bin {
|
||||
params = Params.parse(params, {
|
||||
styleClass: 'user-icon',
|
||||
reactive: false,
|
||||
iconSize: UNKNOWN_AVATAR_ICON_SIZE,
|
||||
iconSize: AVATAR_ICON_SIZE,
|
||||
});
|
||||
|
||||
super._init({
|
||||
@@ -72,20 +71,11 @@ class Avatar extends St.Bin {
|
||||
}
|
||||
}
|
||||
|
||||
_getIconSize() {
|
||||
if (this._iconSize !== UNKNOWN_AVATAR_ICON_SIZE)
|
||||
return this._iconSize;
|
||||
else
|
||||
return AVATAR_ICON_SIZE;
|
||||
}
|
||||
|
||||
setSensitive(sensitive) {
|
||||
this.reactive = sensitive;
|
||||
}
|
||||
|
||||
update() {
|
||||
let iconSize = this._getIconSize();
|
||||
|
||||
let iconFile = null;
|
||||
if (this._user) {
|
||||
iconFile = this._user.get_icon_file();
|
||||
@@ -93,13 +83,13 @@ class Avatar extends St.Bin {
|
||||
iconFile = null;
|
||||
}
|
||||
|
||||
let { scaleFactor } = St.ThemeContext.get_for_stage(global.stage);
|
||||
this.set_size(
|
||||
this._iconSize * scaleFactor,
|
||||
this._iconSize * scaleFactor);
|
||||
|
||||
if (iconFile) {
|
||||
this.child = null;
|
||||
|
||||
let { scaleFactor } = St.ThemeContext.get_for_stage(global.stage);
|
||||
this.set_size(
|
||||
iconSize * scaleFactor,
|
||||
iconSize * scaleFactor);
|
||||
this.style = `
|
||||
background-image: url("${iconFile}");
|
||||
background-size: cover;`;
|
||||
@@ -107,7 +97,7 @@ class Avatar extends St.Bin {
|
||||
this.style = null;
|
||||
this.child = new St.Icon({
|
||||
icon_name: 'avatar-default-symbolic',
|
||||
icon_size: iconSize,
|
||||
icon_size: this._iconSize,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -44,7 +44,7 @@ function getTermsForSearchString(searchString) {
|
||||
|
||||
var TouchpadShowOverviewAction = class {
|
||||
constructor(actor) {
|
||||
actor.connect('captured-event', this._handleEvent.bind(this));
|
||||
actor.connect('captured-event::touchpad', this._handleEvent.bind(this));
|
||||
}
|
||||
|
||||
_handleEvent(actor, event) {
|
||||
|
@@ -896,12 +896,34 @@ var WindowManager = class {
|
||||
}
|
||||
});
|
||||
|
||||
global.display.connect('x11-display-opened', () => {
|
||||
global.display.connect('init-xserver', (display, task) => {
|
||||
IBusManager.getIBusManager().restartDaemon(['--xim']);
|
||||
Shell.util_start_systemd_unit('gnome-session-x11-services.target', 'fail');
|
||||
Shell.util_start_systemd_unit('gsd-xsettings.target', 'fail');
|
||||
|
||||
/* Leave this watchdog timeout so don't block indefinitely here */
|
||||
let timeoutId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 5, () => {
|
||||
Gio.DBus.session.unwatch_name(watchId);
|
||||
task.return_boolean(false);
|
||||
timeoutId = 0;
|
||||
return GLib.SOURCE_REMOVE;
|
||||
});
|
||||
|
||||
/* When gsd-xsettings daemon is started, we are good to resume */
|
||||
let watchId = Gio.DBus.session.watch_name(
|
||||
'org.gnome.SettingsDaemon.XSettings',
|
||||
Gio.BusNameWatcherFlags.NONE,
|
||||
() => {
|
||||
Gio.DBus.session.unwatch_name(watchId);
|
||||
if (timeoutId > 0) {
|
||||
task.return_boolean(true);
|
||||
GLib.source_remove(timeoutId);
|
||||
}
|
||||
},
|
||||
null);
|
||||
return true;
|
||||
});
|
||||
global.display.connect('x11-display-closing', () => {
|
||||
Shell.util_stop_systemd_unit('gnome-session-x11-services.target', 'fail');
|
||||
Shell.util_stop_systemd_unit('gsd-xsettings.target', 'fail');
|
||||
IBusManager.getIBusManager().restartDaemon();
|
||||
});
|
||||
|
||||
@@ -1259,7 +1281,6 @@ var WindowManager = class {
|
||||
actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
|
||||
actorClone.set_position(oldFrameRect.x, oldFrameRect.y);
|
||||
actorClone.set_size(oldFrameRect.width, oldFrameRect.height);
|
||||
Main.uiGroup.add_actor(actorClone);
|
||||
|
||||
if (this._clearAnimationInfo(actor))
|
||||
this._shellwm.completed_size_change(actor);
|
||||
@@ -1290,6 +1311,8 @@ var WindowManager = class {
|
||||
this._resizePending.delete(actor);
|
||||
this._resizing.add(actor);
|
||||
|
||||
Main.uiGroup.add_child(actorClone);
|
||||
|
||||
// Now scale and fade out the clone
|
||||
actorClone.ease({
|
||||
x: targetRect.x,
|
||||
|
@@ -578,6 +578,8 @@ var WindowOverlay = class {
|
||||
border.remove_all_transitions();
|
||||
title.remove_all_transitions();
|
||||
|
||||
title.ensure_style();
|
||||
|
||||
let [cloneX, cloneY, cloneWidth, cloneHeight] = this._windowClone.slot;
|
||||
|
||||
let layout = Meta.prefs_get_button_layout();
|
||||
|
@@ -1,5 +1,5 @@
|
||||
project('gnome-shell', 'c',
|
||||
version: '3.35.91',
|
||||
version: '3.35.92',
|
||||
meson_version: '>= 0.47.0',
|
||||
license: 'GPLv2+'
|
||||
)
|
||||
@@ -19,13 +19,13 @@ cogl_pango_pc = 'mutter-cogl-pango-' + mutter_api_version
|
||||
libmutter_pc = 'libmutter-' + mutter_api_version
|
||||
|
||||
ecal_req = '>= 3.33.1'
|
||||
eds_req = '>= 3.17.2'
|
||||
eds_req = '>= 3.33.1'
|
||||
gcr_req = '>= 3.7.5'
|
||||
gio_req = '>= 2.56.0'
|
||||
gi_req = '>= 1.49.1'
|
||||
gjs_req = '>= 1.63.2'
|
||||
gtk_req = '>= 3.15.0'
|
||||
mutter_req = '>= 3.35.91'
|
||||
mutter_req = '>= 3.35.92'
|
||||
polkit_req = '>= 0.100'
|
||||
schemas_req = '>= 3.33.1'
|
||||
startup_req = '>= 0.11'
|
||||
|
@@ -74,6 +74,7 @@ js/ui/windowAttentionHandler.js
|
||||
js/ui/windowManager.js
|
||||
js/ui/windowMenu.js
|
||||
src/calendar-server/evolution-calendar.desktop.in
|
||||
src/calendar-server/reminder-watcher.c
|
||||
src/main.c
|
||||
src/shell-app.c
|
||||
src/shell-app-system.c
|
||||
|
406
po/en_GB.po
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-06 19:01+0000\n"
|
||||
"PO-Revision-Date: 2020-02-08 13:02+0000\n"
|
||||
"POT-Creation-Date: 2020-02-21 09:52+0000\n"
|
||||
"PO-Revision-Date: 2020-02-23 12:49+0000\n"
|
||||
"Last-Translator: Bruce Cowan <bruce@bcowan.me.uk>\n"
|
||||
"Language-Team: English - United Kingdom <en@li.org>\n"
|
||||
"Language: en_GB\n"
|
||||
@@ -408,11 +408,11 @@ msgstr ""
|
||||
"If you remove the extension, you need to return to download it if you want "
|
||||
"to enable it again"
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:170
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:107
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:166 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:910
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
|
||||
@@ -490,7 +490,6 @@ msgid "Website"
|
||||
msgstr "Website"
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:192
|
||||
#| msgid "Remove"
|
||||
msgid "Remove…"
|
||||
msgstr "Remove…"
|
||||
|
||||
@@ -529,7 +528,6 @@ msgid "Manually Installed"
|
||||
msgstr "Manually Installed"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:157
|
||||
#| msgid "Built-in Only"
|
||||
msgid "Built-In"
|
||||
msgstr "Built-In"
|
||||
|
||||
@@ -546,35 +544,30 @@ msgstr ""
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:287
|
||||
#| msgid "Log Out"
|
||||
msgid "Log Out…"
|
||||
msgstr "Log Out…"
|
||||
|
||||
#: js/gdm/authPrompt.js:184 js/gdm/authPrompt.js:237 js/gdm/authPrompt.js:468
|
||||
msgid "Next"
|
||||
msgstr "Next"
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:236 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
#| msgid "Password:"
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: js/gdm/authPrompt.js:233 js/ui/shellMountOperation.js:380
|
||||
#: js/ui/unlockDialog.js:44
|
||||
msgid "Unlock"
|
||||
msgstr "Unlock"
|
||||
|
||||
#: js/gdm/authPrompt.js:235
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Sign In"
|
||||
|
||||
#: js/gdm/loginDialog.js:319
|
||||
#: js/gdm/loginDialog.js:318
|
||||
msgid "Choose Session"
|
||||
msgstr "Choose Session"
|
||||
|
||||
#: js/gdm/loginDialog.js:461
|
||||
#: js/gdm/loginDialog.js:457
|
||||
msgid "Not listed?"
|
||||
msgstr "Not listed?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: js/gdm/loginDialog.js:895
|
||||
#: js/gdm/loginDialog.js:912
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(e.g., user or %s)"
|
||||
@@ -582,12 +575,13 @@ msgstr "(e.g., user or %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:899 js/ui/components/networkAgent.js:234
|
||||
#: js/ui/components/networkAgent.js:257 js/ui/components/networkAgent.js:275
|
||||
msgid "Username: "
|
||||
msgstr "Username: "
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
#| msgid "Username: "
|
||||
msgid "Username"
|
||||
msgstr "Username"
|
||||
|
||||
#: js/gdm/loginDialog.js:1230
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "Login Window"
|
||||
|
||||
@@ -812,11 +806,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%d %B %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Hotspot Login"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -851,27 +845,27 @@ msgid "All"
|
||||
msgstr "All"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2450 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Open Windows"
|
||||
|
||||
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2470 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "New Window"
|
||||
|
||||
#: js/ui/appDisplay.js:2485
|
||||
#: js/ui/appDisplay.js:2481
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Launch using Dedicated Graphics Card"
|
||||
|
||||
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2509 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Remove from Favourites"
|
||||
|
||||
#: js/ui/appDisplay.js:2519
|
||||
#: js/ui/appDisplay.js:2515
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Add to Favourites"
|
||||
|
||||
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2525 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Show Details"
|
||||
|
||||
@@ -1096,40 +1090,36 @@ msgstr ""
|
||||
"Alternatively you can connect by pushing the “WPS” button on your router."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Connect"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/ui/components/networkAgent.js:202 js/ui/components/networkAgent.js:214
|
||||
#: js/ui/components/networkAgent.js:238 js/ui/components/networkAgent.js:259
|
||||
#: js/ui/components/networkAgent.js:279 js/ui/components/networkAgent.js:289
|
||||
msgid "Password: "
|
||||
msgstr "Password: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
#| msgid "Key: "
|
||||
msgid "Key"
|
||||
msgstr "Key"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
msgid "Key: "
|
||||
msgstr "Key: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
#| msgid "Private key password: "
|
||||
msgid "Private key password"
|
||||
msgstr "Private key password"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
msgid "Private key password: "
|
||||
msgstr "Private key password: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
#| msgid "Identity: "
|
||||
msgid "Identity"
|
||||
msgstr "Identity"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
msgid "Identity: "
|
||||
msgstr "Identity: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
#| msgid "Service: "
|
||||
msgid "Service"
|
||||
msgstr "Service"
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
msgid "Service: "
|
||||
msgstr "Service: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Authentication required"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1138,42 +1128,44 @@ msgstr ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Wired 802.1X authentication"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
msgid "Network name: "
|
||||
msgstr "Network name: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
#| msgid "Network name: "
|
||||
msgid "Network name"
|
||||
msgstr "Network name"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL authentication"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN code required"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "PIN code is needed for the mobile broadband device"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
#| msgid "PIN: "
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "A password is required to connect to “%s”."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Network Manager"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "VPN password"
|
||||
|
||||
@@ -1197,10 +1189,6 @@ msgstr "Authenticate"
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "Sorry, that didn’t work. Please try again."
|
||||
|
||||
#: js/ui/components/polkitAgent.js:277 js/ui/shellMountOperation.js:326
|
||||
msgid "Enter Password…"
|
||||
msgstr "Enter Password…"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
@@ -1412,21 +1400,20 @@ msgstr "%s (remote)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (console)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Install"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Install Extension"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Download and install “%s” from extensions.gnome.org?"
|
||||
|
||||
#: js/ui/extensionSystem.js:228
|
||||
#| msgid "No Extensions Installed"
|
||||
msgid "Extension Updates Available"
|
||||
msgstr "Extension Updates Available"
|
||||
|
||||
@@ -1509,13 +1496,13 @@ msgid "Leave On"
|
||||
msgstr "Leave On"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Turn On"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1529,59 +1516,59 @@ msgstr "Leave Off"
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "Region & Language Settings"
|
||||
|
||||
#: js/ui/lookingGlass.js:659
|
||||
#: js/ui/lookingGlass.js:665
|
||||
msgid "No extensions installed"
|
||||
msgstr "No extensions installed"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: js/ui/lookingGlass.js:714
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s has not emitted any errors."
|
||||
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#: js/ui/lookingGlass.js:726
|
||||
msgid "Hide Errors"
|
||||
msgstr "Hide Errors"
|
||||
|
||||
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789
|
||||
#: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
|
||||
msgid "Show Errors"
|
||||
msgstr "Show Errors"
|
||||
|
||||
#: js/ui/lookingGlass.js:733
|
||||
#: js/ui/lookingGlass.js:739
|
||||
msgid "Enabled"
|
||||
msgstr "Enabled"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
#: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
msgid "Disabled"
|
||||
msgstr "Disabled"
|
||||
|
||||
#: js/ui/lookingGlass.js:738
|
||||
#: js/ui/lookingGlass.js:744
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: js/ui/lookingGlass.js:740
|
||||
#: js/ui/lookingGlass.js:746
|
||||
msgid "Out of date"
|
||||
msgstr "Out of date"
|
||||
|
||||
#: js/ui/lookingGlass.js:742
|
||||
#: js/ui/lookingGlass.js:748
|
||||
msgid "Downloading"
|
||||
msgstr "Downloading"
|
||||
|
||||
#: js/ui/lookingGlass.js:771
|
||||
#: js/ui/lookingGlass.js:777
|
||||
msgid "View Source"
|
||||
msgstr "View Source"
|
||||
|
||||
#: js/ui/lookingGlass.js:780
|
||||
#: js/ui/lookingGlass.js:786
|
||||
msgid "Web Page"
|
||||
msgstr "Web Page"
|
||||
|
||||
#: js/ui/main.js:267
|
||||
#: js/ui/main.js:269
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Logged in as a privileged user"
|
||||
|
||||
#: js/ui/main.js:268
|
||||
#: js/ui/main.js:270
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1589,15 +1576,15 @@ msgstr ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:276
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Screen Lock disabled"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:277
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Screen Locking requires the GNOME display manager."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "System Information"
|
||||
|
||||
@@ -1624,8 +1611,9 @@ msgstr "Overview"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
msgid "Type to search…"
|
||||
msgstr "Type to search…"
|
||||
#| msgid "Type to search…"
|
||||
msgid "Type to search"
|
||||
msgstr "Type to search"
|
||||
|
||||
#: js/ui/padOsd.js:95
|
||||
msgid "New shortcut…"
|
||||
@@ -1651,23 +1639,23 @@ msgstr "Assign keystroke"
|
||||
msgid "Done"
|
||||
msgstr "Done"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Edit…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "None"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Press a button to configure"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Press Esc to exit"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Press any key to exit"
|
||||
|
||||
@@ -1706,31 +1694,7 @@ msgstr "Restart is not available on Wayland"
|
||||
msgid "Restarting…"
|
||||
msgstr "Restarting…"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/screenShield.js:82
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: js/ui/screenShield.js:139
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
msgid_plural "%d new messages"
|
||||
msgstr[0] "%d new message"
|
||||
msgstr[1] "%d new messages"
|
||||
|
||||
#: js/ui/screenShield.js:141
|
||||
#, javascript-format
|
||||
msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d new notification"
|
||||
msgstr[1] "%d new notifications"
|
||||
|
||||
#: js/ui/screenShield.js:454 js/ui/status/system.js:103
|
||||
msgid "Lock"
|
||||
msgstr "Lock"
|
||||
|
||||
#: js/ui/screenShield.js:717
|
||||
#: js/ui/screenShield.js:203
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME needs to lock the screen"
|
||||
|
||||
@@ -1741,11 +1705,11 @@ msgstr "GNOME needs to lock the screen"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:830 js/ui/screenShield.js:1301
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Unable to lock"
|
||||
|
||||
#: js/ui/screenShield.js:831 js/ui/screenShield.js:1302
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Lock was blocked by an application"
|
||||
|
||||
@@ -1805,13 +1769,18 @@ msgstr ""
|
||||
"To unlock a volume that uses keyfiles, use the <i>%s</i> utility instead."
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
msgid "Enter PIM Number…"
|
||||
msgstr "Enter PIM Number…"
|
||||
#| msgid "Enter PIM Number…"
|
||||
msgid "PIM Number"
|
||||
msgstr "PIM Number"
|
||||
|
||||
#: js/ui/shellMountOperation.js:365
|
||||
msgid "Remember Password"
|
||||
msgstr "Remember Password"
|
||||
|
||||
#: js/ui/shellMountOperation.js:380
|
||||
msgid "Unlock"
|
||||
msgstr "Unlock"
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:391
|
||||
#, javascript-format
|
||||
@@ -1882,7 +1851,7 @@ msgstr "Large Text"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth Settings"
|
||||
|
||||
@@ -1926,11 +1895,11 @@ msgstr "Secondary Click"
|
||||
msgid "Dwell Click"
|
||||
msgstr "Dwell Click"
|
||||
|
||||
#: js/ui/status/keyboard.js:825
|
||||
#: js/ui/status/keyboard.js:826
|
||||
msgid "Keyboard"
|
||||
msgstr "Keyboard"
|
||||
|
||||
#: js/ui/status/keyboard.js:847
|
||||
#: js/ui/status/keyboard.js:848
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Show Keyboard Layout"
|
||||
|
||||
@@ -1977,7 +1946,7 @@ msgid "<unknown>"
|
||||
msgstr "<unknown>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s Off"
|
||||
@@ -2003,7 +1972,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "%s Disconnecting"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s Connecting"
|
||||
@@ -2043,7 +2012,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Mobile Broadband Settings"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s Hardware Disabled"
|
||||
@@ -2055,125 +2024,125 @@ msgstr "%s Hardware Disabled"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s Disabled"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Connect to Internet"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Aeroplane Mode is On"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Wi-Fi is disabled when aeroplane mode is on."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Turn Off Aeroplane Mode"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Wi-Fi is Off"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Turn On Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Wi-Fi Networks"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Select a network"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "No Networks"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Use hardware switch to turn off"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Select Network"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Wi-Fi Settings"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s Hotspot Active"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s Not Connected"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "connecting…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "authentication required"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "connection failed"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPN Settings"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN Off"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Network Settings"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s Wired Connection"
|
||||
msgstr[1] "%s Wired Connections"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s Wi-Fi Connection"
|
||||
msgstr[1] "%s Wi-Fi Connections"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s Modem Connection"
|
||||
msgstr[1] "%s Modem Connections"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Connection failed"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Activation of network connection failed"
|
||||
|
||||
@@ -2243,6 +2212,10 @@ msgstr "Turn off"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Aeroplane Mode On"
|
||||
|
||||
#: js/ui/status/system.js:103
|
||||
msgid "Lock"
|
||||
msgstr "Lock"
|
||||
|
||||
#: js/ui/status/system.js:116
|
||||
msgid "Power Off / Log Out"
|
||||
msgstr "Power Off / Log Out"
|
||||
@@ -2267,11 +2240,11 @@ msgstr "Power Off…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Unknown Thunderbolt device"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2279,21 +2252,21 @@ msgstr ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Unauthorised Thunderbolt device"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr ""
|
||||
"New device has been detected and needs to be authorised by an administrator."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Thunderbolt authorisation error"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Could not authorise the Thunderbolt device: %s"
|
||||
@@ -2334,11 +2307,23 @@ msgstr "External Only"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Built-in Only"
|
||||
|
||||
#: js/ui/unlockDialog.js:52
|
||||
msgid "Log in as another user"
|
||||
msgstr "Log in as another user"
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
#| msgctxt "calendar heading"
|
||||
#| msgid "%A, %B %-d"
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A %-d %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:67
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Swipe up to unlock"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Click or press a key to unlock"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
msgid "Unlock Window"
|
||||
msgstr "Unlock Window"
|
||||
|
||||
@@ -2380,7 +2365,7 @@ msgstr[1] "Settings changes will revert in %d seconds"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2563,7 +2548,7 @@ msgid "Create a new extension"
|
||||
msgstr "Create a new extension"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-create.c:280
|
||||
#: subprojects/extensions-tool/src/command-list.c:158
|
||||
#: subprojects/extensions-tool/src/command-list.c:168
|
||||
msgid "Unknown arguments"
|
||||
msgstr "Unknown arguments"
|
||||
|
||||
@@ -2621,31 +2606,36 @@ msgstr "No extension bundle specified"
|
||||
msgid "More than one extension bundle specified"
|
||||
msgstr "More than one extension bundle specified"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:118
|
||||
#: subprojects/extensions-tool/src/command-list.c:125
|
||||
msgid "Show user-installed extensions"
|
||||
msgstr "Show user-installed extensions"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:121
|
||||
#: subprojects/extensions-tool/src/command-list.c:128
|
||||
msgid "Show system-installed extensions"
|
||||
msgstr "Show system-installed extensions"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:124
|
||||
#: subprojects/extensions-tool/src/command-list.c:131
|
||||
msgid "Show enabled extensions"
|
||||
msgstr "Show enabled extensions"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:127
|
||||
#: subprojects/extensions-tool/src/command-list.c:134
|
||||
msgid "Show disabled extensions"
|
||||
msgstr "Show disabled extensions"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:130
|
||||
#: subprojects/extensions-tool/src/command-list.c:137
|
||||
msgid "Show extensions with preferences"
|
||||
msgstr "Show extensions with preferences"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:133
|
||||
#: subprojects/extensions-tool/src/command-list.c:140
|
||||
#| msgid "Show extensions with preferences"
|
||||
msgid "Show extensions with updates"
|
||||
msgstr "Show extensions with updates"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:143
|
||||
msgid "Print extension details"
|
||||
msgstr "Print extension details"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:141
|
||||
#: subprojects/extensions-tool/src/command-list.c:151
|
||||
msgid "List installed extensions"
|
||||
msgstr "List installed extensions"
|
||||
|
||||
@@ -2828,6 +2818,35 @@ msgstr[1] "%u Inputs"
|
||||
msgid "System Sounds"
|
||||
msgstr "System Sounds"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Next"
|
||||
|
||||
#~ msgctxt "button"
|
||||
#~ msgid "Sign In"
|
||||
#~ msgstr "Sign In"
|
||||
|
||||
#~ msgid "Password: "
|
||||
#~ msgstr "Password: "
|
||||
|
||||
#~ msgid "Enter Password…"
|
||||
#~ msgstr "Enter Password…"
|
||||
|
||||
#~ msgid "%A, %B %d"
|
||||
#~ msgstr "%A, %d %B"
|
||||
|
||||
#~ msgid "%d new message"
|
||||
#~ msgid_plural "%d new messages"
|
||||
#~ msgstr[0] "%d new message"
|
||||
#~ msgstr[1] "%d new messages"
|
||||
|
||||
#~ msgid "%d new notification"
|
||||
#~ msgid_plural "%d new notifications"
|
||||
#~ msgstr[0] "%d new notification"
|
||||
#~ msgstr[1] "%d new notifications"
|
||||
|
||||
#~ msgid "Log in as another user"
|
||||
#~ msgstr "Log in as another user"
|
||||
|
||||
#~| msgid "Shell Extensions"
|
||||
#~ msgid "org.gnome.Extensions"
|
||||
#~ msgstr "org.gnome.Extensions"
|
||||
@@ -2843,9 +2862,6 @@ msgstr "System Sounds"
|
||||
#~ msgid "Rename"
|
||||
#~ msgstr "Rename"
|
||||
|
||||
#~ msgid "Password:"
|
||||
#~ msgstr "Password:"
|
||||
|
||||
#~ msgid "Type again:"
|
||||
#~ msgstr "Type again:"
|
||||
|
||||
|
188
po/es.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell.master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-17 11:08+0000\n"
|
||||
"PO-Revision-Date: 2020-02-17 14:55+0100\n"
|
||||
"POT-Creation-Date: 2020-02-17 22:27+0000\n"
|
||||
"PO-Revision-Date: 2020-02-18 11:06+0100\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
|
||||
"Language: es_ES\n"
|
||||
@@ -425,9 +425,9 @@ msgstr ""
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@@ -561,9 +561,9 @@ msgstr "Cerrar la sesión…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:214 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:259 js/ui/components/networkAgent.js:279
|
||||
#: js/ui/components/networkAgent.js:289 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Contraseña"
|
||||
@@ -586,9 +586,8 @@ msgstr "(ej., usuario o %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:234
|
||||
#: js/ui/components/networkAgent.js:257 js/ui/components/networkAgent.js:275
|
||||
#| msgid "Username: "
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Nombre de usuario"
|
||||
|
||||
@@ -817,11 +816,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%d de %B de %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Inicio de sesión en el punto de acceso"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -1101,37 +1100,32 @@ msgstr ""
|
||||
"Alternativamente puede conectarse pulsando el botón «WPS» de su router."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
#| msgid "Key: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Clave"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
#| msgid "Private key password: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Contraseña de la clave privada"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
#| msgid "Identity: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Identidad"
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
#| msgid "Service: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Servicio"
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Autenticación requerida"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1140,44 +1134,42 @@ msgstr ""
|
||||
"Se necesitan contraseñas o claves de cifrado para acceder a la red "
|
||||
"inalámbrica «%s»."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Autenticación 802.1X cableada"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
#| msgid "Network name: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Nombre de la red"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "Autenticación DSL"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "Código PIN requerido"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Se necesita un código PIN para el dispositivo de banda ancha móvil"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
#| msgid "PIN: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Se requiere una contraseña para conectarse a «%s»."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestor de la red"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "Contraseña de la VPN"
|
||||
|
||||
@@ -1416,15 +1408,15 @@ msgstr "%s (remoto)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (consola)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Instalar"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Instalar extensión"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
||||
@@ -1514,13 +1506,13 @@ msgid "Leave On"
|
||||
msgstr "Dejar activada"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Encendido"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1602,7 +1594,7 @@ msgstr "Pantalla de bloqueo desactivada"
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "La pantalla de bloqueo necesita el gestor de pantallas de GNOME."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Información del sistema"
|
||||
|
||||
@@ -1629,7 +1621,6 @@ msgstr "Vista general"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
#| msgid "Type to search…"
|
||||
msgid "Type to search"
|
||||
msgstr "Escribir para buscar"
|
||||
|
||||
@@ -1657,23 +1648,23 @@ msgstr "Asignar pulsación"
|
||||
msgid "Done"
|
||||
msgstr "Hecho"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Editar…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Nada"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Pulse un botón para configurar"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Pulse Esc para salir"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Pulse cualquier tecla para salir"
|
||||
|
||||
@@ -1723,11 +1714,11 @@ msgstr "GNOME necesita bloquear la pantalla"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "No se pudo bloquear"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Una aplicación impidió el bloqueo"
|
||||
|
||||
@@ -1788,7 +1779,6 @@ msgstr ""
|
||||
"%s</i> en su lugar."
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
#| msgid "Enter PIM Number…"
|
||||
msgid "PIM Number"
|
||||
msgstr "Número PIM"
|
||||
|
||||
@@ -1870,7 +1860,7 @@ msgstr "Texto grande"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Configuración de Bluetooth"
|
||||
|
||||
@@ -1967,7 +1957,7 @@ msgid "<unknown>"
|
||||
msgstr "<desconocido>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s apagada"
|
||||
@@ -1993,7 +1983,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "Desconectando %s"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "Conectando %s"
|
||||
@@ -2033,7 +2023,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Configuración de banda ancha móvil"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "Hardware %s desactivado"
|
||||
@@ -2045,125 +2035,125 @@ msgstr "Hardware %s desactivado"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s desactivado"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Conectar a Internet"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "El modo avión está activado"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "La Wi-Fi se desactiva cuando se activa el modo avión."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Apagar el modo avión"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "La Wi-Fi está desactivada"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Se debe activar la Wi-Fi para poder conectarse a la red."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Activar la Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Redes Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Seleccionar una red"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "No hay redes"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Usar el interruptor hardware para apagar"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Seleccionar red"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Configuración de Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Punto de acceso %s activo"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s no conectado"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "conectando…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "se necesita autenticación"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "falló la conexión"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "Configuración de VPN"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN apagada"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Configuración de la red"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s conexión cableada"
|
||||
msgstr[1] "%s conexiones cableadas"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s conexión inalámbrica"
|
||||
msgstr[1] "%s conexiones inalámbricas"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s conexión por módem"
|
||||
msgstr[1] "%s conexiones por módem"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Falló la conexión"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Falló la activación de la conexión de red"
|
||||
|
||||
@@ -2261,11 +2251,11 @@ msgstr "Apagar…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Dispositivo Thunderbolt desconocido"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2273,21 +2263,21 @@ msgstr ""
|
||||
"Se ha detectado un dispositivo nuevo mientras estaba fuera. Desconéctelo y "
|
||||
"vuélvalo a conectar para empezar a usarlo."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Dispositivo Thunderbolt no autorizado"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr ""
|
||||
"Se ha detectado un dispositivo nuevo y un administrador debe autorizarlo."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Error de autorización de Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "No se pudo autorizar el dispositivo Thunderbolt: %s"
|
||||
@@ -2328,6 +2318,22 @@ msgstr "Sólo la externa"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Sólo la integrada"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
#| msgctxt "calendar heading"
|
||||
#| msgid "%A, %B %-d"
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A, %d de %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Deslizar para desbloquear"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Pulse con el ratón o un tecla para desbloquear"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
msgid "Unlock Window"
|
||||
msgstr "Desbloquear ventana"
|
||||
@@ -2370,7 +2376,7 @@ msgstr[1] "La configuración se revertirá en %d segundos"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
|
345
po/eu.po
@@ -8,8 +8,8 @@
|
||||
msgid ""
|
||||
msgstr "Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-06 19:01+0000\n"
|
||||
"PO-Revision-Date: 2020-02-08 10:00+0100\n"
|
||||
"POT-Creation-Date: 2020-02-17 22:27+0000\n"
|
||||
"PO-Revision-Date: 2020-02-19 10:00+0100\n"
|
||||
"Last-Translator: Asier Sarasua Garmendia <asier.sarasua@gmail.com>\n"
|
||||
"Language-Team: Basque <librezale@librezale.eus>\n"
|
||||
"Language: eu\n"
|
||||
@@ -362,11 +362,11 @@ msgid ""
|
||||
"to enable it again"
|
||||
msgstr "Hedapena kentzen bada, berriro deskargatu beharko da atzera gaitu nahi bada."
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:170
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:107
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:166 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:910
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Utzi"
|
||||
|
||||
@@ -376,7 +376,7 @@ msgstr "Kendu"
|
||||
|
||||
#: js/extensionPrefs/main.js:217
|
||||
msgid "translator-credits"
|
||||
msgstr "Asier Sarasua Garmendia <asier.sarasua@gmail.com>"
|
||||
msgstr "translator-credits"
|
||||
|
||||
#: js/extensionPrefs/main.js:219
|
||||
msgid "Manage your GNOME Extensions"
|
||||
@@ -486,31 +486,26 @@ msgstr "Barkatu, ezin izan da instalatutako hedapenen zerrenda eskuratu. Ziurtat
|
||||
msgid "Log Out…"
|
||||
msgstr "Amaitu saioa…"
|
||||
|
||||
#: js/gdm/authPrompt.js:184 js/gdm/authPrompt.js:237 js/gdm/authPrompt.js:468
|
||||
msgid "Next"
|
||||
msgstr "Hurrengoa"
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Pasahitza"
|
||||
|
||||
#: js/gdm/authPrompt.js:233 js/ui/shellMountOperation.js:380
|
||||
#: js/ui/unlockDialog.js:44
|
||||
msgid "Unlock"
|
||||
msgstr "Desblokeatu"
|
||||
|
||||
#: js/gdm/authPrompt.js:235
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Hasi saioa"
|
||||
|
||||
#: js/gdm/loginDialog.js:319
|
||||
#: js/gdm/loginDialog.js:318
|
||||
msgid "Choose Session"
|
||||
msgstr "Aukeratu saioa"
|
||||
|
||||
#: js/gdm/loginDialog.js:461
|
||||
#: js/gdm/loginDialog.js:457
|
||||
msgid "Not listed?"
|
||||
msgstr "Ez zaude zerrendan?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: js/gdm/loginDialog.js:895
|
||||
#: js/gdm/loginDialog.js:912
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(adib., erabiltzailea edo %s)"
|
||||
@@ -518,12 +513,12 @@ msgstr "(adib., erabiltzailea edo %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:899 js/ui/components/networkAgent.js:234
|
||||
#: js/ui/components/networkAgent.js:257 js/ui/components/networkAgent.js:275
|
||||
msgid "Username: "
|
||||
msgstr "Erabiltzaile-izena: "
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Erabiltzaile-izena"
|
||||
|
||||
#: js/gdm/loginDialog.js:1230
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "Saio-hasierako leihoa"
|
||||
|
||||
@@ -748,11 +743,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%B %-d %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Wifigunearen saio-hasiera"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -1027,82 +1022,74 @@ msgid ""
|
||||
msgstr "Bestela, zure routerreko \"WPS\" botoia sakatuta konektatu zaitezke."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Konektatu"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/ui/components/networkAgent.js:202 js/ui/components/networkAgent.js:214
|
||||
#: js/ui/components/networkAgent.js:238 js/ui/components/networkAgent.js:259
|
||||
#: js/ui/components/networkAgent.js:279 js/ui/components/networkAgent.js:289
|
||||
msgid "Password: "
|
||||
msgstr "Pasahitza: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Gakoa"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
msgid "Key: "
|
||||
msgstr "Gakoa: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Gako pribatuaren pasahitza"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
msgid "Private key password: "
|
||||
msgstr "Gako pribatuaren pasahitza: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Identitatea"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
msgid "Identity: "
|
||||
msgstr "Identitatea: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Zerbitzua"
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
msgid "Service: "
|
||||
msgstr "Zerbitzua: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Autentifikazioa behar da"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr "Pasahitzak edo zifratze-gakoak behar dira haririk gabeko '%s' sarera sarbidetzeko."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Haridun 802.1X autentifikazioa"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
msgid "Network name: "
|
||||
msgstr "Sarearen izena: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Sarearen izena"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL autentifikazioa"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN kodea behar da"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "PIN kodea behar da banda zabal mugikorreko gailuarentzako"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
msgid "PIN: "
|
||||
msgstr "PINa: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "PINa"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Pasahitza behar da '%s'(e)ra konektatzeko."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Sarearen kudeatzailea"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "VPN pasahitza"
|
||||
|
||||
@@ -1126,10 +1113,6 @@ msgstr "Autentifikatu"
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "Huts egin du. Saiatu berriro."
|
||||
|
||||
#: js/ui/components/polkitAgent.js:277 js/ui/shellMountOperation.js:326
|
||||
msgid "Enter Password…"
|
||||
msgstr "Sartu pasahitza…"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
@@ -1337,15 +1320,15 @@ msgstr "%s (urrunekoa)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (kontsola)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Instalatu"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Instalatu hedapena"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Deskargatu eta instalatu “%s” extensions.gnome.org gunetik?"
|
||||
@@ -1426,13 +1409,13 @@ msgid "Leave On"
|
||||
msgstr "Utzi piztuta"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Piztu"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1512,7 +1495,7 @@ msgstr "Pantailaren blokeoa desgaituta dago"
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Pantaila blokeatzeko GNOMEren pantaila-kudeatzailea behar da."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Sistemaren informazioa"
|
||||
|
||||
@@ -1539,8 +1522,8 @@ msgstr "Aurkezpen orokorra"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
msgid "Type to search…"
|
||||
msgstr "Idatzi bilaketa…"
|
||||
msgid "Type to search"
|
||||
msgstr "Idatzi bilatzeko"
|
||||
|
||||
#: js/ui/padOsd.js:95
|
||||
msgid "New shortcut…"
|
||||
@@ -1566,23 +1549,23 @@ msgstr "Esleitu tekla-sakatzea"
|
||||
msgid "Done"
|
||||
msgstr "Eginda"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Editatu…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Bat ere ez"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Sakatu botoi bat konfiguratzeko"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Sakatu Ihes irteteko"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Sakatu edozer tekla irteteko"
|
||||
|
||||
@@ -1621,31 +1604,7 @@ msgstr "Berrabiaraztea ez dago erabilgarri Wayland-en"
|
||||
msgid "Restarting…"
|
||||
msgstr "Berrabiarazten…"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/screenShield.js:82
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d"
|
||||
|
||||
#: js/ui/screenShield.js:139
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
msgid_plural "%d new messages"
|
||||
msgstr[0] "Mezu berri %d"
|
||||
msgstr[1] "%d mezu berri"
|
||||
|
||||
#: js/ui/screenShield.js:141
|
||||
#, javascript-format
|
||||
msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "Jakinarazpen berri %d"
|
||||
msgstr[1] "%d jakinarazpen berri"
|
||||
|
||||
#: js/ui/screenShield.js:454 js/ui/status/system.js:103
|
||||
msgid "Lock"
|
||||
msgstr "Blokeatu"
|
||||
|
||||
#: js/ui/screenShield.js:717
|
||||
#: js/ui/screenShield.js:203
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOMEk pantaila blokeatzea behar du"
|
||||
|
||||
@@ -1656,11 +1615,11 @@ msgstr "GNOMEk pantaila blokeatzea behar du"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:830 js/ui/screenShield.js:1301
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Ezin da blokeatu"
|
||||
|
||||
#: js/ui/screenShield.js:831 js/ui/screenShield.js:1302
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Beste aplikazio batek blokeatu du"
|
||||
|
||||
@@ -1719,13 +1678,17 @@ msgid ""
|
||||
msgstr "Gako-fitxategiak erabiltzen dituen bolumen bat desmuntatzeko, erabili <i>%s</i> utilitatea"
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
msgid "Enter PIM Number…"
|
||||
msgstr "Sartu PIM zenbakia…"
|
||||
msgid "PIM Number"
|
||||
msgstr "PIM zenbakia"
|
||||
|
||||
#: js/ui/shellMountOperation.js:365
|
||||
msgid "Remember Password"
|
||||
msgstr "Gogoratu pasahitza"
|
||||
|
||||
#: js/ui/shellMountOperation.js:380
|
||||
msgid "Unlock"
|
||||
msgstr "Desblokeatu"
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:391
|
||||
#, javascript-format
|
||||
@@ -1796,7 +1759,7 @@ msgstr "Testu handia"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth ezarpenak"
|
||||
|
||||
@@ -1891,7 +1854,7 @@ msgid "<unknown>"
|
||||
msgstr "<ezezaguna>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "'%s' itzalita"
|
||||
@@ -1917,7 +1880,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "'%s' deskonektatzen"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "'%s' konektatzen"
|
||||
@@ -1957,7 +1920,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Banda zabal mugikorraren ezarpenak"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "'%s' hardwarea desgaituta"
|
||||
@@ -1969,125 +1932,125 @@ msgstr "'%s' hardwarea desgaituta"
|
||||
msgid "%s Disabled"
|
||||
msgstr "'%s' desgaituta"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Konektatu Internetera"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Hegazkin modua piztuta"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Haririk gabekoa desgaitu egiten da hegazkin modua piztean."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Itzali hegazkin modua"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Haririk gabekoa itzalita"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Haririk gabekoa piztu egin behar da sare batera konektatzeko."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Piztu haririk gabekoa"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Wifi sareak"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Hautatu sare bat"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Sarerik ez"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Erabili hardwarearen aldatzailea itzaltzeko"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Hautatu sarea"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Haririk gabekoaren ezarpenak"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "'%s' wifigunea aktibo"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "'%s' konektatu gabe"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "konektatzen…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "autentifikazioa behar da"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "konexioak huts egin du"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPNaren ezarpenak"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPNa"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPNa itzalita"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Sarearen ezarpenak"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s haridun konexioa"
|
||||
msgstr[1] "%s haridun konexioak"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s haririk gabeko konexioa"
|
||||
msgstr[1] "%s haririk gabeko konexioak"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s modem konexioa"
|
||||
msgstr[1] "%s modem konexioak"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Konexioak huts egin du"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Sareko konexioa aktibatzeak huts egin du"
|
||||
|
||||
@@ -2157,6 +2120,10 @@ msgstr "Desaktibatu"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Hegazkin modua piztuta"
|
||||
|
||||
#: js/ui/status/system.js:103
|
||||
msgid "Lock"
|
||||
msgstr "Blokeatu"
|
||||
|
||||
#: js/ui/status/system.js:116
|
||||
msgid "Power Off / Log Out"
|
||||
msgstr "Itzaltzea / saioa amaitzea"
|
||||
@@ -2181,30 +2148,30 @@ msgstr "Itzali…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Thunderbolt gailu ezezaguna"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
msgstr "Gailu berria detektatu da ez zeunden bitartean. Deskonektatu eta berriro konektatu gailua hura erabiltzen hasi ahal izateko."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Baimenik gabeko Thunderbolt gailua"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr "Gailu berria detektatu da eta administratzaile batek baimena eman behar dio."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Thunderbolt baimen-errorea"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Ezin izan da Thunderbolt gailua baimendu: %s"
|
||||
@@ -2245,11 +2212,21 @@ msgstr "Kanpokoa soilik"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Barnekoa soilik"
|
||||
|
||||
#: js/ui/unlockDialog.js:52
|
||||
msgid "Log in as another user"
|
||||
msgstr "Hasi saioa beste erabiltzaile baten gisan"
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A %B %-d"
|
||||
|
||||
#: js/ui/unlockDialog.js:67
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Igaro hatza desblokeatzeko"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Egin klik edo sakatu tekla bat desblokeatzeko"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
msgid "Unlock Window"
|
||||
msgstr "Desblokeatu leihoa"
|
||||
|
||||
@@ -2291,7 +2268,7 @@ msgstr[1] "Ezarpenen aldaketak %d segundotan alderantzikatuko dira"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2470,7 +2447,7 @@ msgid "Create a new extension"
|
||||
msgstr "Sortu hedapen berria"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-create.c:280
|
||||
#: subprojects/extensions-tool/src/command-list.c:158
|
||||
#: subprojects/extensions-tool/src/command-list.c:168
|
||||
msgid "Unknown arguments"
|
||||
msgstr "Argumentu ezezagunak"
|
||||
|
||||
@@ -2528,31 +2505,35 @@ msgstr "Ez da hedapen-bildumarik zehaztu"
|
||||
msgid "More than one extension bundle specified"
|
||||
msgstr "Hedapen-bilduma bat baino gehiago zehaztu da"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:118
|
||||
#: subprojects/extensions-tool/src/command-list.c:125
|
||||
msgid "Show user-installed extensions"
|
||||
msgstr "Erakutsi erabiltzaileak instalatutako hedapenak"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:121
|
||||
#: subprojects/extensions-tool/src/command-list.c:128
|
||||
msgid "Show system-installed extensions"
|
||||
msgstr "Erakutsi sistemak instalatutako hedapenak"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:124
|
||||
#: subprojects/extensions-tool/src/command-list.c:131
|
||||
msgid "Show enabled extensions"
|
||||
msgstr "Erakutsi gaitutako hedapenak"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:127
|
||||
#: subprojects/extensions-tool/src/command-list.c:134
|
||||
msgid "Show disabled extensions"
|
||||
msgstr "Erakutsi desgaitutako hedapenak"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:130
|
||||
#: subprojects/extensions-tool/src/command-list.c:137
|
||||
msgid "Show extensions with preferences"
|
||||
msgstr "Erakutsi hobespenak dituzten hedapenak"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:133
|
||||
#: subprojects/extensions-tool/src/command-list.c:140
|
||||
msgid "Show extensions with updates"
|
||||
msgstr "Erakutsi eguneraketak dituzten hedapenak"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:143
|
||||
msgid "Print extension details"
|
||||
msgstr "Inprimatu hedapenaren xehetasunak"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:141
|
||||
#: subprojects/extensions-tool/src/command-list.c:151
|
||||
msgid "List installed extensions"
|
||||
msgstr "Zerrendatu instalatutako hedapenak"
|
||||
|
||||
@@ -2735,6 +2716,35 @@ msgstr[1] "%u sarrera"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sistemaren soinuak"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Hurrengoa"
|
||||
|
||||
#~ msgctxt "button"
|
||||
#~ msgid "Sign In"
|
||||
#~ msgstr "Hasi saioa"
|
||||
|
||||
#~ msgid "Password: "
|
||||
#~ msgstr "Pasahitza: "
|
||||
|
||||
#~ msgid "Enter Password…"
|
||||
#~ msgstr "Sartu pasahitza…"
|
||||
|
||||
#~ msgid "%A, %B %d"
|
||||
#~ msgstr "%A, %B %d"
|
||||
|
||||
#~ msgid "%d new message"
|
||||
#~ msgid_plural "%d new messages"
|
||||
#~ msgstr[0] "Mezu berri %d"
|
||||
#~ msgstr[1] "%d mezu berri"
|
||||
|
||||
#~ msgid "%d new notification"
|
||||
#~ msgid_plural "%d new notifications"
|
||||
#~ msgstr[0] "Jakinarazpen berri %d"
|
||||
#~ msgstr[1] "%d jakinarazpen berri"
|
||||
|
||||
#~ msgid "Log in as another user"
|
||||
#~ msgstr "Hasi saioa beste erabiltzaile baten gisan"
|
||||
|
||||
#~ msgid "Browse in Software"
|
||||
#~ msgstr "Arakatu softwarean"
|
||||
|
||||
@@ -2745,9 +2755,6 @@ msgstr "Sistemaren soinuak"
|
||||
#~ msgid "Rename"
|
||||
#~ msgstr "Aldatu izena"
|
||||
|
||||
#~ msgid "Password:"
|
||||
#~ msgstr "Pasahitza:"
|
||||
|
||||
#~ msgid "Type again:"
|
||||
#~ msgstr "Idatzi berriro:"
|
||||
|
||||
|
378
po/fa.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-12 19:34+0000\n"
|
||||
"PO-Revision-Date: 2020-02-13 01:12+0000\n"
|
||||
"POT-Creation-Date: 2020-02-27 21:57+0000\n"
|
||||
"PO-Revision-Date: 2020-02-29 02:21+0000\n"
|
||||
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
|
||||
"Language-Team: Persian <>\n"
|
||||
"Language: fa\n"
|
||||
@@ -147,7 +147,7 @@ msgstr "نمای گزینش برنامه"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:63
|
||||
msgid "Index of the currently selected view in the application picker."
|
||||
msgstr "اندیس نمای انتخاب شده در انتخابگر برنامه."
|
||||
msgstr "اندیس نمای گزیده در گزینشگر برنامه."
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:69
|
||||
msgid "History for command (Alt-F2) dialog"
|
||||
@@ -373,7 +373,7 @@ msgstr ""
|
||||
|
||||
#: data/org.gnome.Shell.PortalHelper.desktop.in.in:3
|
||||
msgid "Network Login"
|
||||
msgstr "ورود به سامانه شبکه"
|
||||
msgstr "ورود با شبکه"
|
||||
|
||||
#: js/extensionPrefs/main.js:140
|
||||
#, javascript-format
|
||||
@@ -386,11 +386,11 @@ msgid ""
|
||||
"enable it again"
|
||||
msgstr "اگر افزونه را بردارید، باید برای به کار انداختن دوبارهاش، بارگیریش کنید"
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:135
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:107
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:165 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "لغو"
|
||||
|
||||
@@ -421,7 +421,7 @@ msgstr ""
|
||||
|
||||
#: js/extensionPrefs/main.js:275
|
||||
msgid "Technical Details"
|
||||
msgstr "جزئیات فنّی"
|
||||
msgstr "جزییات فنّی"
|
||||
|
||||
#: js/extensionPrefs/main.js:310
|
||||
msgid "Copy Error"
|
||||
@@ -439,8 +439,8 @@ msgstr "مشاهدهٔ صفحهٔ خانگی افزونه"
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "تعداد %d افزونه در ورود بعدی بهروز خواهد شد."
|
||||
msgstr[1] "تعداد %d افزونه در ورود بعدی بهروز خواهند شد."
|
||||
msgstr[0] "تعداد %Id افزونه در ورود بعدی بهروز خواهد شد."
|
||||
msgstr[1] "تعداد %Id افزونه در ورود بعدی بهروز خواهند شد."
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
@@ -517,9 +517,18 @@ msgstr ""
|
||||
msgid "Log Out…"
|
||||
msgstr "خروج…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "گذرواژه"
|
||||
|
||||
#: js/gdm/loginDialog.js:318
|
||||
msgid "Choose Session"
|
||||
msgstr "انتخاب نشست"
|
||||
msgstr "گزینش نشست"
|
||||
|
||||
#: js/gdm/loginDialog.js:457
|
||||
msgid "Not listed?"
|
||||
@@ -532,11 +541,15 @@ msgstr "فهرست نشده؟"
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(برای مثال, کاربر یا %s)"
|
||||
|
||||
#: js/gdm/loginDialog.js:917
|
||||
msgid "Username…"
|
||||
msgstr "نامکاربری…"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "نامکاربری"
|
||||
|
||||
#: js/gdm/loginDialog.js:1252
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "پنجرهٔ ورود به سامانه"
|
||||
|
||||
@@ -595,7 +608,7 @@ msgstr "تعلیق"
|
||||
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||
#: js/misc/systemActions.js:116
|
||||
msgid "suspend;sleep"
|
||||
msgstr "تعلیق"
|
||||
msgstr "suspend;sleep;تعلیق;خواب"
|
||||
|
||||
#. Translators: The name of the switch user action in search
|
||||
#: js/misc/systemActions.js:121
|
||||
@@ -691,7 +704,7 @@ msgstr[1] "%Id سال پیش"
|
||||
#. Translators: Time in 24h format
|
||||
#: js/misc/util.js:237
|
||||
msgid "%H∶%M"
|
||||
msgstr "%OH∶%OM"
|
||||
msgstr "%OH:%OM"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30"
|
||||
@@ -705,7 +718,7 @@ msgstr "دیروز، %OH:%OM"
|
||||
#: js/misc/util.js:249
|
||||
#, no-c-format
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A، %OH∶%OM"
|
||||
msgstr "%A، %OH:%OM"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
@@ -713,7 +726,7 @@ msgstr "%A، %OH∶%OM"
|
||||
#: js/misc/util.js:255
|
||||
#, no-c-format
|
||||
msgid "%B %-d, %H∶%M"
|
||||
msgstr "%-Od %OB، %OH∶%OM"
|
||||
msgstr "%-Od %OB، %OH:%OM"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
@@ -721,14 +734,14 @@ msgstr "%-Od %OB، %OH∶%OM"
|
||||
#: js/misc/util.js:261
|
||||
#, no-c-format
|
||||
msgid "%B %-d %Y, %H∶%M"
|
||||
msgstr "%-Od %OB %OY، %OH:%OM"
|
||||
msgstr "%-Od %OB %Y، %OH:%OM"
|
||||
|
||||
#. Show only the time if date is on today
|
||||
#. eslint-disable-line no-lonely-if
|
||||
#. Translators: Time in 12h format
|
||||
#: js/misc/util.js:266
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%Ol∶%OM %p"
|
||||
msgstr "%Ol∶%OM %Op"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
|
||||
@@ -742,7 +755,7 @@ msgstr "دیروز، %OI:%OM"
|
||||
#: js/misc/util.js:278
|
||||
#, no-c-format
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A، %OH:%OM"
|
||||
msgstr "%A، %Ol:%OM %Op"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
@@ -750,7 +763,7 @@ msgstr "%A، %OH:%OM"
|
||||
#: js/misc/util.js:284
|
||||
#, no-c-format
|
||||
msgid "%B %-d, %l∶%M %p"
|
||||
msgstr "%-Od %OB، %Ol:%OM %p"
|
||||
msgstr "%-Od %OB، %Ol:%OM %Op"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
@@ -758,14 +771,14 @@ msgstr "%-Od %OB، %Ol:%OM %p"
|
||||
#: js/misc/util.js:290
|
||||
#, no-c-format
|
||||
msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%-Od %OB %OY، %Ol:%OM %p"
|
||||
msgstr "%-Od %OB %Y، %Ol:%OM %Op"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "ورود نقطهٔ داغ"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -800,29 +813,29 @@ msgid "All"
|
||||
msgstr "همه"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2450 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "پنجرههای باز"
|
||||
|
||||
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2470 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "پنجرهٔ جدید"
|
||||
|
||||
#: js/ui/appDisplay.js:2485
|
||||
#: js/ui/appDisplay.js:2481
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "اجرا با کارت گرافیک اختصاصی"
|
||||
|
||||
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2509 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "حذف از مورد پسندها"
|
||||
|
||||
#: js/ui/appDisplay.js:2519
|
||||
#: js/ui/appDisplay.js:2515
|
||||
msgid "Add to Favorites"
|
||||
msgstr "افزودن به مورد پسندها"
|
||||
|
||||
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2525 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "نمایش جزئیات"
|
||||
msgstr "نمایش جزییات"
|
||||
|
||||
#: js/ui/appFavorites.js:152
|
||||
#, javascript-format
|
||||
@@ -880,31 +893,31 @@ msgstr "5"
|
||||
#: js/ui/calendar.js:70
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "۱ش"
|
||||
msgstr "ی"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: js/ui/calendar.js:72
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "۲ش"
|
||||
msgstr "د"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: js/ui/calendar.js:74
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "۳ش"
|
||||
msgstr "س"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: js/ui/calendar.js:76
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "۴ش"
|
||||
msgstr "چ"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: js/ui/calendar.js:78
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "۵ش"
|
||||
msgstr "پ"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: js/ui/calendar.js:80
|
||||
@@ -977,7 +990,7 @@ msgstr "%A %-Od %OB"
|
||||
#: js/ui/calendar.js:870
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %-d, %Y"
|
||||
msgstr "%A %-Od %OB %OY"
|
||||
msgstr "%A %-Od %OB %Y"
|
||||
|
||||
#: js/ui/calendar.js:1096
|
||||
msgid "No Notifications"
|
||||
@@ -1043,89 +1056,73 @@ msgid "Alternatively you can connect by pushing the “WPS” button on your rou
|
||||
msgstr "به عنوان جایگزین میتوانید با فشردن دکمهٔ WPS روی مسیریابتان، وصل شوید."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "اتّصال"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/ui/components/networkAgent.js:202 js/ui/components/networkAgent.js:214
|
||||
#: js/ui/components/networkAgent.js:238 js/ui/components/networkAgent.js:259
|
||||
#: js/ui/components/networkAgent.js:279 js/ui/components/networkAgent.js:289
|
||||
msgid "Password: "
|
||||
msgstr "گذرواژه: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "کلید"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
msgid "Key: "
|
||||
msgstr "کلید: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "گذرواژهٔ کلید خصوصی"
|
||||
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/ui/components/networkAgent.js:234 js/ui/components/networkAgent.js:257
|
||||
#: js/ui/components/networkAgent.js:275
|
||||
msgid "Username: "
|
||||
msgstr "نامکاربری: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "شناسه"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
msgid "Private key password: "
|
||||
msgstr "گذرواژهٔ کلید خصوصی: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "خدمت"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
msgid "Identity: "
|
||||
msgstr "شناسه: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
msgid "Service: "
|
||||
msgstr "خدمت: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "نیاز به تأیید هویت است"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network “%s”."
|
||||
msgstr "برای دسترسی به شبکهٔ وایفای «%s» نیاز به گذرواژه یا کلیدهای رمزنگاری است."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "تایید هویت 802.1X سیمی"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
msgid "Network name: "
|
||||
msgstr "نام شبکه: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "نام شبکه"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "تایید هویت DSL"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "رمز پین لازم است"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "رمز پین برای دستگاه پهنباند همراه لازم است"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
msgid "PIN: "
|
||||
msgstr "پین: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "پین"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "برای اتصال به «%s» گذرواژه لازم است."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "مدیر شبکه"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "گذرواژهٔ ویپیان"
|
||||
|
||||
@@ -1149,10 +1146,6 @@ msgstr "تأیید هویت"
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "متاسفانه اثری نداشت! لطفاً دوباره تلاش کنید."
|
||||
|
||||
#: js/ui/components/polkitAgent.js:277 js/ui/shellMountOperation.js:326
|
||||
msgid "Enter Password…"
|
||||
msgstr "ورود گذرواژه…"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
@@ -1181,7 +1174,7 @@ msgstr "دَش"
|
||||
#.
|
||||
#: js/ui/dateMenu.js:75
|
||||
msgid "%B %-d %Y"
|
||||
msgstr "%-Od %OB %OY"
|
||||
msgstr "%-Od %OB %Y"
|
||||
|
||||
#. Translators: This is the accessible name of the date button shown
|
||||
#. * below the time in the shell; it should combine the weekday and the
|
||||
@@ -1189,7 +1182,7 @@ msgstr "%-Od %OB %OY"
|
||||
#.
|
||||
#: js/ui/dateMenu.js:82
|
||||
msgid "%A %B %e %Y"
|
||||
msgstr "%A %Od %B %OY"
|
||||
msgstr "%A %Od %B %Y"
|
||||
|
||||
#: js/ui/dateMenu.js:161
|
||||
msgid "Add world clocks…"
|
||||
@@ -1241,8 +1234,8 @@ msgstr[1] "%s به طور خودکار در مدت %Id ثانیه از سام
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d second."
|
||||
msgid_plural "You will be logged out automatically in %d seconds."
|
||||
msgstr[0] "شما پس از %Id ثانیه به طور خودکار از سامانه خارج میشوید."
|
||||
msgstr[1] "شما پس از %Id ثانیه به طور خودکار از سامانه خارج میشوید."
|
||||
msgstr[0] "پس از %Id ثانیه به طور خودکار از سامانه خارج میشوید."
|
||||
msgstr[1] "پس از %Id ثانیه به طور خودکار از سامانه خارج میشوید."
|
||||
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
msgctxt "button"
|
||||
@@ -1323,7 +1316,7 @@ msgstr "نصب و خاموش کردن"
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "خاموش کردن بعد از نصب بهروز رسانیها"
|
||||
msgstr "خاموش کردن پس از نصب بهروز رسانیها"
|
||||
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
msgctxt "title"
|
||||
@@ -1366,15 +1359,15 @@ msgstr "%s (دوردست)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (پایانه)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "نصب"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "نصب افزونه"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "بارگیری و نصب «%s» از extensions.gnome.org؟"
|
||||
@@ -1460,13 +1453,13 @@ msgid "Leave On"
|
||||
msgstr "روشن گذاشتن"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "روشن کردن"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1480,59 +1473,59 @@ msgstr "خاموش گذاشتن"
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "تنظیمات ناحیه و زبان"
|
||||
|
||||
#: js/ui/lookingGlass.js:659
|
||||
#: js/ui/lookingGlass.js:665
|
||||
msgid "No extensions installed"
|
||||
msgstr "هیچ افزونهای نصب نشده است"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: js/ui/lookingGlass.js:714
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "افزونه %s هیچ خطایی منتشر نکرده است."
|
||||
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#: js/ui/lookingGlass.js:726
|
||||
msgid "Hide Errors"
|
||||
msgstr "مخفی کردن خطاها"
|
||||
|
||||
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789
|
||||
#: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
|
||||
msgid "Show Errors"
|
||||
msgstr "نمایش خطاها"
|
||||
|
||||
#: js/ui/lookingGlass.js:733
|
||||
#: js/ui/lookingGlass.js:739
|
||||
msgid "Enabled"
|
||||
msgstr "به کار انداختن"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
#: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
msgid "Disabled"
|
||||
msgstr "از کار انداختن"
|
||||
|
||||
#: js/ui/lookingGlass.js:738
|
||||
#: js/ui/lookingGlass.js:744
|
||||
msgid "Error"
|
||||
msgstr "خطا"
|
||||
|
||||
#: js/ui/lookingGlass.js:740
|
||||
#: js/ui/lookingGlass.js:746
|
||||
msgid "Out of date"
|
||||
msgstr "قدیمی"
|
||||
|
||||
#: js/ui/lookingGlass.js:742
|
||||
#: js/ui/lookingGlass.js:748
|
||||
msgid "Downloading"
|
||||
msgstr "در حال بارگیری"
|
||||
|
||||
#: js/ui/lookingGlass.js:771
|
||||
#: js/ui/lookingGlass.js:777
|
||||
msgid "View Source"
|
||||
msgstr "نمایش منبع"
|
||||
|
||||
#: js/ui/lookingGlass.js:780
|
||||
#: js/ui/lookingGlass.js:786
|
||||
msgid "Web Page"
|
||||
msgstr "صفحهٔ وب"
|
||||
|
||||
#: js/ui/main.js:267
|
||||
#: js/ui/main.js:269
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "واردشده به عنوان کاربری ممتاز"
|
||||
|
||||
#: js/ui/main.js:268
|
||||
#: js/ui/main.js:270
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security reasons. If "
|
||||
"possible, you should log in as a normal user."
|
||||
@@ -1540,15 +1533,15 @@ msgstr ""
|
||||
"به دلایل امنیتی باید از اجرای یک نشست به عنوان کاربری ممتاز خودداری کرد. در صورت "
|
||||
"امکان، با کاربری عادی وارد شوید."
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:276
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "قفل صفحه از کار افتاده"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:277
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "قفل صفحه نیاز به مدیر نمایش گنوم دارد."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "اطلاعات سامانه"
|
||||
|
||||
@@ -1575,8 +1568,8 @@ msgstr "نمایکلی"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
msgid "Type to search…"
|
||||
msgstr "برای جستوجو بنویسید…"
|
||||
msgid "Type to search"
|
||||
msgstr "نوشتن برای جستوجو"
|
||||
|
||||
#: js/ui/padOsd.js:95
|
||||
msgid "New shortcut…"
|
||||
@@ -1602,23 +1595,23 @@ msgstr "تخصیص دنبالهٔ کلید"
|
||||
msgid "Done"
|
||||
msgstr "انجام شد"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "ویرایش…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "هیچکدام"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "برای پیکربندی، کلیدی را بزنید"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "برای خروج esc را بزنید"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "برای خروج، هر کلیدی را بزنید"
|
||||
|
||||
@@ -1632,12 +1625,12 @@ msgstr "خروج"
|
||||
msgid "Activities"
|
||||
msgstr "فعّالیتها"
|
||||
|
||||
#: js/ui/panel.js:707
|
||||
#: js/ui/panel.js:713
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "سامانه"
|
||||
|
||||
#: js/ui/panel.js:820
|
||||
#: js/ui/panel.js:826
|
||||
msgid "Top Bar"
|
||||
msgstr "نوار بالا"
|
||||
|
||||
@@ -1668,11 +1661,11 @@ msgstr "لازم است گنوم صفحه را قفل کند"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "نمیتوان قفل کرد"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "قفل توسط یک برنامه مسدود شده بود"
|
||||
|
||||
@@ -1732,8 +1725,8 @@ msgstr ""
|
||||
"کنید."
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
msgid "Enter PIM Number…"
|
||||
msgstr "ورود شمارهٔ PIM…"
|
||||
msgid "PIM Number"
|
||||
msgstr "شمارهٔ PIM"
|
||||
|
||||
#: js/ui/shellMountOperation.js:365
|
||||
msgid "Remember Password"
|
||||
@@ -1813,7 +1806,7 @@ msgstr "متن درشت"
|
||||
msgid "Bluetooth"
|
||||
msgstr "بلوتوث"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "تنظیمات بلوتوث"
|
||||
|
||||
@@ -1822,8 +1815,8 @@ msgstr "تنظیمات بلوتوث"
|
||||
#, javascript-format
|
||||
msgid "%d Connected"
|
||||
msgid_plural "%d Connected"
|
||||
msgstr[0] "%Id متصل شد"
|
||||
msgstr[1] "%Id متصل شد"
|
||||
msgstr[0] "%Id وصلشده"
|
||||
msgstr[1] "%Id وصلشده"
|
||||
|
||||
#: js/ui/status/bluetooth.js:131
|
||||
msgid "Off"
|
||||
@@ -1857,11 +1850,11 @@ msgstr "کلیک دوم"
|
||||
msgid "Dwell Click"
|
||||
msgstr "کلیک طولانی"
|
||||
|
||||
#: js/ui/status/keyboard.js:825
|
||||
#: js/ui/status/keyboard.js:826
|
||||
msgid "Keyboard"
|
||||
msgstr "صفحهکلید"
|
||||
|
||||
#: js/ui/status/keyboard.js:847
|
||||
#: js/ui/status/keyboard.js:848
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "نمایش چیدمان صفحهکلید"
|
||||
|
||||
@@ -1908,7 +1901,7 @@ msgid "<unknown>"
|
||||
msgstr "<ناشناخته>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s خاموش است"
|
||||
@@ -1934,7 +1927,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "درحال قطع ارتباط %s"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "درحال اتصال %s"
|
||||
@@ -1974,7 +1967,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "تنظیمات پهنباند همراه"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "سختافزار %s از کار افتاده"
|
||||
@@ -1986,125 +1979,125 @@ msgstr "سختافزار %s از کار افتاده"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s از کار افتاده"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "وصل شدن به اینترنت"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "حالت هواپیمایی روشن است"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "در زمان روشن بودن حالت هواپیمایی، وایفای از کار میافتد."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "خاموش کردن حالت هواپیمایی"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "وایفای خاموش است"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "برای وصل شدن به شبکه باید وایفای روشن شود."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "روشن کردن وایفای"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "شبکههای وایفای"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "شبکهای برگزینید"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "هیچ شبکهای نیست"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "برای خاموش کردن از کلید سختافزاری استفاده کنید"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "انتخاب شبکه"
|
||||
msgstr "گزینش شبکه"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "تنظیمات وایفای"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s نقطهٔ داغ فعال"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s متصل نشد"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "درحال اتّصال…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "تایید هویت لازم است"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "اتصال شکست خورد"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "تنظیمات ویپیان"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "ویپیان"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "ویپیان خاموش است"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "تنظیمات شبکه"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "اتّصال سیمی %s"
|
||||
msgstr[1] "اتّصال سیمی %s"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "اتّصال وایفای %s"
|
||||
msgstr[1] "اتّصال وایفای %s"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "اتّصال مودم %s"
|
||||
msgstr[1] "اتّصال مودم %s"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "اتصال شکست خورد"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "فعاّلسازی اتّصال شبکه شکست خورد"
|
||||
|
||||
@@ -2202,11 +2195,11 @@ msgstr "خاموش کردن…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "تاندربولت"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "افزارهٔ تاندربولت ناشناخته"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and reconnect "
|
||||
"the device to start using it."
|
||||
@@ -2214,19 +2207,19 @@ msgstr ""
|
||||
"هنگام نبودنتان، افزارهٔ جدید شناسایی شد. لطفاً برای شروع به استفاده از آن، قطعش "
|
||||
"کرده و دوباره وصل کنید."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "افزارهٔ تاندربولت تأییدنشده"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid "New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr "افزارهٔ جدیدی شناسایی شده و نیازه به تأیید هویت توسّط یک مدیر دارد."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "خطای تأیید هویت تاندربولت"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "نمیتوان افزارهٔ تاندربولت را تأیید هویت کرد: %s"
|
||||
@@ -2267,10 +2260,28 @@ msgstr "فقط خارجی"
|
||||
msgid "Built-in Only"
|
||||
msgstr "فقط داخلی"
|
||||
|
||||
#: js/ui/unlockDialog.js:459
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:370
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A %-Od %OB"
|
||||
|
||||
#: js/ui/unlockDialog.js:376
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "برای قفلگشایی، بالا بکشید"
|
||||
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "برای قفلگشایی، کلیک کرده یا دکمهای را بزنید"
|
||||
|
||||
#: js/ui/unlockDialog.js:549
|
||||
msgid "Unlock Window"
|
||||
msgstr "گشودن قفل پنجره"
|
||||
|
||||
#: js/ui/unlockDialog.js:558
|
||||
msgid "Log in as another user"
|
||||
msgstr "ورود به عنوان کاربری دیگر"
|
||||
|
||||
#: js/ui/viewSelector.js:181
|
||||
msgid "Applications"
|
||||
msgstr "برنامهها"
|
||||
@@ -2298,7 +2309,7 @@ msgstr "بازنشانی تنظیمات"
|
||||
|
||||
#: js/ui/windowManager.js:67
|
||||
msgid "Keep Changes"
|
||||
msgstr "ذخیره تغییرات"
|
||||
msgstr "نگهداری تغییرات"
|
||||
|
||||
#: js/ui/windowManager.js:85
|
||||
#, javascript-format
|
||||
@@ -2309,7 +2320,7 @@ msgstr[1] "تغییرات تنظیمات در %Id ثانیه بازنشانی م
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%Id × %Id"
|
||||
@@ -2760,6 +2771,15 @@ msgstr[1] "%Iu ورودی"
|
||||
msgid "System Sounds"
|
||||
msgstr "صداهای سامانه"
|
||||
|
||||
#~ msgid "Username…"
|
||||
#~ msgstr "نامکاربری…"
|
||||
|
||||
#~ msgid "Password: "
|
||||
#~ msgstr "گذرواژه: "
|
||||
|
||||
#~ msgid "Enter Password…"
|
||||
#~ msgstr "ورود گذرواژه…"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "بعدی"
|
||||
|
||||
@@ -2780,18 +2800,12 @@ msgstr "صداهای سامانه"
|
||||
#~ msgstr[0] "%Id آگاهی جدید"
|
||||
#~ msgstr[1] "%Id آگاهی جدید"
|
||||
|
||||
#~ msgid "Log in as another user"
|
||||
#~ msgstr "ورود به عنوان کاربری دیگر"
|
||||
|
||||
#~ msgid "Browse in Software"
|
||||
#~ msgstr "مرور در نرمافزارها"
|
||||
|
||||
#~ msgid "Rename"
|
||||
#~ msgstr "تغییر نام"
|
||||
|
||||
#~ msgid "Password:"
|
||||
#~ msgstr "گذرواژه:"
|
||||
|
||||
#~ msgid "Type again:"
|
||||
#~ msgstr "تلاش دوباره:"
|
||||
|
||||
|
312
po/fi.po
@@ -25,8 +25,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-12 19:34+0000\n"
|
||||
"PO-Revision-Date: 2020-02-12 22:33+0200\n"
|
||||
"POT-Creation-Date: 2020-02-21 09:52+0000\n"
|
||||
"PO-Revision-Date: 2020-02-22 17:34+0200\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
|
||||
"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
|
||||
"Language: fi\n"
|
||||
@@ -259,16 +259,10 @@ msgid "Keybinding to open the application menu."
|
||||
msgstr "Sovellusvalikon avaukseen käytettävä pikanäppäin."
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:126
|
||||
#, fuzzy
|
||||
#| msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgid "Keybinding to open the “Show Applications” view"
|
||||
msgstr "Näytä sovellukset -näkymän avaukseen käytettävä pikanäppäin"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:127
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Keybinding to open the \"Show Applications\" view of the Activities "
|
||||
#| "Overview."
|
||||
msgid ""
|
||||
"Keybinding to open the “Show Applications” view of the Activities Overview."
|
||||
msgstr ""
|
||||
@@ -450,9 +444,9 @@ msgstr ""
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Peru"
|
||||
|
||||
@@ -581,6 +575,15 @@ msgstr ""
|
||||
msgid "Log Out…"
|
||||
msgstr "Kirjaudu ulos…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:236 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Salasana"
|
||||
|
||||
#: js/gdm/loginDialog.js:318
|
||||
msgid "Choose Session"
|
||||
msgstr "Valitse istunto"
|
||||
@@ -596,11 +599,15 @@ msgstr "Ei luettelossa?"
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(esim. käyttäjä tai %s)"
|
||||
|
||||
#: js/gdm/loginDialog.js:917
|
||||
msgid "Username…"
|
||||
msgstr "Käyttäjänimi…"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Käyttäjätunnus"
|
||||
|
||||
#: js/gdm/loginDialog.js:1252
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "Kirjautumisikkuna"
|
||||
|
||||
@@ -828,11 +835,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%B %-d %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Tukiasemaan kirjautuminen"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -867,27 +874,27 @@ msgid "All"
|
||||
msgstr "Kaikki"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2450 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Avoimet ikkunat"
|
||||
|
||||
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2470 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Uusi ikkuna"
|
||||
|
||||
#: js/ui/appDisplay.js:2485
|
||||
#: js/ui/appDisplay.js:2481
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Käynnistä erillisnäytönohjainta käyttäen"
|
||||
|
||||
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2509 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Poista suosikeista"
|
||||
|
||||
#: js/ui/appDisplay.js:2519
|
||||
#: js/ui/appDisplay.js:2515
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Lisää suosikkeihin"
|
||||
|
||||
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2525 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Näytä tiedot"
|
||||
|
||||
@@ -1112,90 +1119,74 @@ msgstr ""
|
||||
"Vaihtoehtoisesti voit yhdistää painamalla reitittimesi “WPS”-painiketta."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Yhdistä"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/ui/components/networkAgent.js:202 js/ui/components/networkAgent.js:214
|
||||
#: js/ui/components/networkAgent.js:238 js/ui/components/networkAgent.js:259
|
||||
#: js/ui/components/networkAgent.js:279 js/ui/components/networkAgent.js:289
|
||||
msgid "Password: "
|
||||
msgstr "Salasana: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Avain"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
msgid "Key: "
|
||||
msgstr "Avain: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Yksityisen avaimen salasana"
|
||||
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/ui/components/networkAgent.js:234 js/ui/components/networkAgent.js:257
|
||||
#: js/ui/components/networkAgent.js:275
|
||||
msgid "Username: "
|
||||
msgstr "Käyttäjänimi: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Identiteetti"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
msgid "Private key password: "
|
||||
msgstr "Salaisen avaimen salasana: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Palvelu"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
msgid "Identity: "
|
||||
msgstr "Henkilöllisyys: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
msgid "Service: "
|
||||
msgstr "Palvelu: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Tunnistautuminen vaaditaan"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr "Langaton verkko \"%s\" vaatii salasanan tai salausavaimia."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Kiinteän 802.1X-yhteyden tunnistautuminen"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
msgid "Network name: "
|
||||
msgstr "Verkon nimi: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Verkon nimi"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-tunnistautuminen"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-koodi vaaditaan"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Mobiililaajakaista vaatii PIN-koodin"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Salasana vaaditaan kohteeseen \"%s\" yhdistämiseksi."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Verkon hallinta"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "VPN-salasana"
|
||||
|
||||
@@ -1219,10 +1210,6 @@ msgstr "Tunnistaudu"
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "Kirjautuminen epäonnistui. Yritä uudelleen."
|
||||
|
||||
#: js/ui/components/polkitAgent.js:277 js/ui/shellMountOperation.js:326
|
||||
msgid "Enter Password…"
|
||||
msgstr "Kirjoita salasana…"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
@@ -1440,15 +1427,15 @@ msgstr "%s (etä)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (konsoli)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Asenna"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Asenna laajennus"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Ladataanko ja asennetaanko ”%s” sivustolta extensions.gnome.org?"
|
||||
@@ -1538,13 +1525,13 @@ msgid "Leave On"
|
||||
msgstr "Jätä käyttöön"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Ota käyttöön"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1558,59 +1545,59 @@ msgstr "Poista käytöstä"
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "Kielen & alueen asetukset"
|
||||
|
||||
#: js/ui/lookingGlass.js:659
|
||||
#: js/ui/lookingGlass.js:665
|
||||
msgid "No extensions installed"
|
||||
msgstr "Laajennuksia ei asennettu"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: js/ui/lookingGlass.js:714
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s ei ole lähettänyt virheitä."
|
||||
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#: js/ui/lookingGlass.js:726
|
||||
msgid "Hide Errors"
|
||||
msgstr "Piilota virheet"
|
||||
|
||||
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789
|
||||
#: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
|
||||
msgid "Show Errors"
|
||||
msgstr "Näytä virheet"
|
||||
|
||||
#: js/ui/lookingGlass.js:733
|
||||
#: js/ui/lookingGlass.js:739
|
||||
msgid "Enabled"
|
||||
msgstr "Käytössä"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
#: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
msgid "Disabled"
|
||||
msgstr "Ei käytössä"
|
||||
|
||||
#: js/ui/lookingGlass.js:738
|
||||
#: js/ui/lookingGlass.js:744
|
||||
msgid "Error"
|
||||
msgstr "Virhe"
|
||||
|
||||
#: js/ui/lookingGlass.js:740
|
||||
#: js/ui/lookingGlass.js:746
|
||||
msgid "Out of date"
|
||||
msgstr "Ei ajan tasalla"
|
||||
|
||||
#: js/ui/lookingGlass.js:742
|
||||
#: js/ui/lookingGlass.js:748
|
||||
msgid "Downloading"
|
||||
msgstr "Noudetaan"
|
||||
|
||||
#: js/ui/lookingGlass.js:771
|
||||
#: js/ui/lookingGlass.js:777
|
||||
msgid "View Source"
|
||||
msgstr "Näytä lähde"
|
||||
|
||||
#: js/ui/lookingGlass.js:780
|
||||
#: js/ui/lookingGlass.js:786
|
||||
msgid "Web Page"
|
||||
msgstr "Verkkosivusto"
|
||||
|
||||
#: js/ui/main.js:267
|
||||
#: js/ui/main.js:269
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Kirjautuneena etuoikeutettuna käyttäjänä"
|
||||
|
||||
#: js/ui/main.js:268
|
||||
#: js/ui/main.js:270
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1618,15 +1605,15 @@ msgstr ""
|
||||
"Istunnon suorittamista etuoikeutettuna käyttäjänä tulisi välttää "
|
||||
"tietoturvasyistä. Jos mahdollista, kirjaudu tavallisena käyttäjänä."
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:276
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Näytön lukitus pois käytöstä"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:277
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Näytön lukitus vaatii Gnomen kirjautumishallinnan."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Järjestelmän tiedot"
|
||||
|
||||
@@ -1653,8 +1640,8 @@ msgstr "Yleisnäkymä"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
msgid "Type to search…"
|
||||
msgstr "Kirjoita hakeaksesi…"
|
||||
msgid "Type to search"
|
||||
msgstr "Kirjoita hakeaksesi"
|
||||
|
||||
#: js/ui/padOsd.js:95
|
||||
msgid "New shortcut…"
|
||||
@@ -1682,23 +1669,23 @@ msgstr "Määritä painallus"
|
||||
msgid "Done"
|
||||
msgstr "Valmis"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Muokkaa…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Ei mitään"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Paina näppäintä määrittääksesi asetukset"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Paina Esc poistuaksesi"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Paina mitä tahansa näppäintä poistuaksesi"
|
||||
|
||||
@@ -1748,11 +1735,11 @@ msgstr "Gnomen täytyy lukita näyttö"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Lukitus epäonnistui"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Lukitus estettiin sovelluksen toimesta"
|
||||
|
||||
@@ -1811,8 +1798,8 @@ msgid ""
|
||||
msgstr "Avataksesi avaintiedostoja käyttävän taltion, käytä <i>%s</i>."
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
msgid "Enter PIM Number…"
|
||||
msgstr "Kirjoita PIM-numero…"
|
||||
msgid "PIM Number"
|
||||
msgstr "PIM-numero"
|
||||
|
||||
#: js/ui/shellMountOperation.js:365
|
||||
msgid "Remember Password"
|
||||
@@ -1892,7 +1879,7 @@ msgstr "Suuri tekstin koko"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth-asetukset"
|
||||
|
||||
@@ -1926,7 +1913,7 @@ msgstr "Kaksoisnapsautus"
|
||||
|
||||
#: js/ui/status/dwellClick.js:23
|
||||
msgid "Drag"
|
||||
msgstr ""
|
||||
msgstr "Vedä"
|
||||
|
||||
#: js/ui/status/dwellClick.js:28
|
||||
msgid "Secondary Click"
|
||||
@@ -1934,13 +1921,13 @@ msgstr "Toissijainen napsautus"
|
||||
|
||||
#: js/ui/status/dwellClick.js:37
|
||||
msgid "Dwell Click"
|
||||
msgstr ""
|
||||
msgstr "Napsautus kohdistamalla"
|
||||
|
||||
#: js/ui/status/keyboard.js:825
|
||||
#: js/ui/status/keyboard.js:826
|
||||
msgid "Keyboard"
|
||||
msgstr "Näppäimistö"
|
||||
|
||||
#: js/ui/status/keyboard.js:847
|
||||
#: js/ui/status/keyboard.js:848
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Näytä näppäimistön asettelu"
|
||||
|
||||
@@ -1989,7 +1976,7 @@ msgid "<unknown>"
|
||||
msgstr "<tuntematon>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s pois"
|
||||
@@ -2015,7 +2002,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "%s - Katkaistaan yhteyttä"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s - Yhdistetään"
|
||||
@@ -2055,7 +2042,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Mobiililaajakaistan asetukset"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s - Laite poistettu käytöstä"
|
||||
@@ -2067,125 +2054,125 @@ msgstr "%s - Laite poistettu käytöstä"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s - Poistettu käytöstä"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Yhdistä internetiin"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Lentokonetila on päällä"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Wifi on pois päältä lentokonetilan ollessa päällä."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Käytä lentokonetilaa"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Wifi on pois"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Wifin tulee olla päällä, jotta yhteys verkkoon on mahdollinen."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Ota wifi käyttöön"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Wifi-verkot"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Valitse verkko"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Ei verkkoja"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Käytä laitepainiketta sammuttaaksesi"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Valitse verkko"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Wifin asetukset"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s - Yhteyspiste aktiivisena"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s - Ei yhdistetty"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "yhdistetään…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "tunnistautuminen vaaditaan"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "yhteys katkesi"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPN-asetukset"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN pois"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Verkkoasetukset"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s kiinteä yhteys"
|
||||
msgstr[1] "%s kiinteää yhteyttä"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s wifi-yhteys"
|
||||
msgstr[1] "%s wifi-yhteyttä"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s modeemiyhteys"
|
||||
msgstr[1] "%s modeemiyhteyttä"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Yhteys epäonnistui"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Verkkoyhteyden aktivointi epäonnistui"
|
||||
|
||||
@@ -2283,11 +2270,11 @@ msgstr "Sammuta…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Tuntematon Thunderbolt-laite"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2295,20 +2282,20 @@ msgstr ""
|
||||
"Uusi laite havaittiin, kun olit pois. Katkaise laitteen yhteys ja yhdistä se "
|
||||
"uudelleen, jotta voit aloittaa sen käyttämisen."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Thunderbolt-laite ilman valtuutusta"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr "Uusi laite on havaittu. Se tulee valtuuttaa ylläpitäjän toimesta."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Thunderbolt-valtuutusvirhe"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Thunderbolt-laitetta ei voitu valtuuttaa: %s"
|
||||
@@ -2349,7 +2336,24 @@ msgstr "Vain ulkoinen"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Vain sisäinen"
|
||||
|
||||
#: js/ui/unlockDialog.js:459
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
#, fuzzy
|
||||
#| msgctxt "calendar heading"
|
||||
#| msgid "%A, %B %-d"
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A, %-d. %Bta"
|
||||
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Vedä ylös avataksesi lukituksen"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Napsauta tai paina näppäintä avataksesi lukituksen"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
msgid "Unlock Window"
|
||||
msgstr "Lukituksen avausikkuna"
|
||||
|
||||
@@ -2391,7 +2395,7 @@ msgstr[1] "Asetusmuutokset palautetaan %d sekunnissa"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2843,6 +2847,15 @@ msgstr[1] "%u sisääntuloa"
|
||||
msgid "System Sounds"
|
||||
msgstr "Järjestelmän äänet"
|
||||
|
||||
#~ msgid "Username…"
|
||||
#~ msgstr "Käyttäjänimi…"
|
||||
|
||||
#~ msgid "Password: "
|
||||
#~ msgstr "Salasana: "
|
||||
|
||||
#~ msgid "Enter Password…"
|
||||
#~ msgstr "Kirjoita salasana…"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Seuraava"
|
||||
|
||||
@@ -2885,9 +2898,6 @@ msgstr "Järjestelmän äänet"
|
||||
#~ msgid "Mobile broadband network password"
|
||||
#~ msgstr "Mobiililaajakaistan verkkosalasana"
|
||||
|
||||
#~ msgid "Password"
|
||||
#~ msgstr "Salasana"
|
||||
|
||||
#~ msgid "Rename"
|
||||
#~ msgstr "Nimeä uudelleen"
|
||||
|
||||
|
195
po/fr.po
@@ -14,18 +14,18 @@
|
||||
# Alain Lojewski <allomervan@gmail.com>, 2014-2018.
|
||||
# Erwan Georget <egeorget@opmbx.org>, 2016.
|
||||
# Julien Humbert <julroy67@gmail.com>, 2019.
|
||||
# Charles Monzat <charles.monzat@free.fr>, 2016-2019.
|
||||
# Claude Paroz <claude@2xlibre.net>, 2010-2020.
|
||||
# Charles Monzat <charles.monzat@free.fr>, 2016-2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master fr\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-17 11:08+0000\n"
|
||||
"PO-Revision-Date: 2020-02-17 18:39+0100\n"
|
||||
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
|
||||
"POT-Creation-Date: 2020-02-17 22:27+0000\n"
|
||||
"PO-Revision-Date: 2020-02-22 12:16+0100\n"
|
||||
"Last-Translator: Charles Monzat <charles.monzat@free.fr>\n"
|
||||
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
|
||||
"Language: fr\n"
|
||||
"Language: fr_FR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
@@ -439,9 +439,9 @@ msgstr ""
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
@@ -588,11 +588,10 @@ msgstr "Fermer la session…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:214 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:259 js/ui/components/networkAgent.js:279
|
||||
#: js/ui/components/networkAgent.js:289 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
#| msgid "Password:"
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
@@ -614,9 +613,8 @@ msgstr "(par ex. utilisateur ou %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:234
|
||||
#: js/ui/components/networkAgent.js:257 js/ui/components/networkAgent.js:275
|
||||
#| msgid "Username: "
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Nom d’utilisateur"
|
||||
|
||||
@@ -845,11 +843,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%-d %B %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Identification du point d’accès"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -1146,37 +1144,32 @@ msgstr ""
|
||||
"votre routeur."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
#| msgid "Key: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Clé"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
#| msgid "Private key password: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Mot de passe de la clé privée"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
#| msgid "Identity: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Identité"
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
#| msgid "Service: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Service"
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Authentification nécessaire"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1185,44 +1178,42 @@ msgstr ""
|
||||
"Il faut un mot de passe ou une clé de chiffrement pour accéder au réseau "
|
||||
"sans fil « %s »."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Authentification filaire 802.1X"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
#| msgid "Network name: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Nom du réseau"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "Authentification DSL"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "Code PIN requis"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Un code PIN est nécessaire pour les connexions mobiles"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
#| msgid "PIN: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Un mot de passe est requis pour se connecter à « %s »."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestionnaire de réseau"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "Mot de passe VPN"
|
||||
|
||||
@@ -1471,15 +1462,15 @@ msgstr "%s (distant)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (console)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Installer"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Installer l’extension"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Télécharger et installer « %s » à partir de extensions.gnome.org ?"
|
||||
@@ -1569,13 +1560,13 @@ msgid "Leave On"
|
||||
msgstr "Laisser activé"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Activer"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1659,7 +1650,7 @@ msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr ""
|
||||
"Le verrouillage de l’écran nécessite le gestionnaire d’affichage GNOME."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Informations du système"
|
||||
|
||||
@@ -1686,7 +1677,6 @@ msgstr "Vue d’ensemble"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
#| msgid "Type to search…"
|
||||
msgid "Type to search"
|
||||
msgstr "Saisissez votre recherche"
|
||||
|
||||
@@ -1714,23 +1704,23 @@ msgstr "Associer une touche"
|
||||
msgid "Done"
|
||||
msgstr "Terminé"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Édition…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Aucun"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Appuyez sur un bouton pour le configurer"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Appuyez sur Échap pour quitter"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Appuyez sur une touche pour quitter"
|
||||
|
||||
@@ -1780,11 +1770,11 @@ msgstr "GNOME a besoin de verrouiller l’écran"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Impossible de verrouiller"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Le verrouillage a été bloqué par une application"
|
||||
|
||||
@@ -1845,7 +1835,6 @@ msgstr ""
|
||||
"plutôt l’utilitaire <i>%s</i>."
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
#| msgid "Enter PIM Number…"
|
||||
msgid "PIM Number"
|
||||
msgstr "Numéro PIM"
|
||||
|
||||
@@ -1927,7 +1916,7 @@ msgstr "Grand texte"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Paramètres Bluetooth"
|
||||
|
||||
@@ -2024,7 +2013,7 @@ msgid "<unknown>"
|
||||
msgstr "<inconnu>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s éteint"
|
||||
@@ -2050,7 +2039,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "Déconnexion de %s en cours"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "Connexion de %s en cours"
|
||||
@@ -2090,7 +2079,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Paramètres connexion mobile"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "Équipement %s désactivé"
|
||||
@@ -2102,125 +2091,125 @@ msgstr "Équipement %s désactivé"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s désactivé"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Se connecter à Internet"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Le mode avion est activé"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Le Wi-Fi est désactivé quand le mode avion est activé."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Désactiver le mode avion"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Le Wi-Fi est désactivé"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Le Wi-Fi a besoin d’être activé pour se connecter à un réseau."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Activer le Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Réseaux Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Choisir un réseau"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Aucun réseau disponible"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Utiliser l’interrupteur matériel pour éteindre"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Sélectionner un réseau"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Paramètres Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Point d’accès %s actif"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s non connecté"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "connexion…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "authentification nécessaire"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "échec de connexion"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "Paramètres VPN"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN désactivé"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Paramètres du réseau"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s connexion filaire."
|
||||
msgstr[1] "%s connexions filaires."
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s connexion Wi-Fi."
|
||||
msgstr[1] "%s connexions Wi-Fi."
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s connexion à un modem."
|
||||
msgstr[1] "%s connexions à des modems."
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Échec de connexion"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "L’activation de la connexion réseau a échoué"
|
||||
|
||||
@@ -2318,11 +2307,11 @@ msgstr "Éteindre…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Interface Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Périphérique Thunderbolt inconnu"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2330,22 +2319,22 @@ msgstr ""
|
||||
"Un nouveau périphérique a été détecté pendant votre absence. Veuillez le "
|
||||
"débrancher et rebrancher avant de commencer à l’utiliser."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Périphérique Thunderbolt non autorisé"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr ""
|
||||
"Un nouvel appareil a été détecté et a besoin d’être autorisé par un "
|
||||
"administrateur."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Erreur d’autorisation Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Impossible d’autoriser le périphérique Thunderbolt : %s"
|
||||
@@ -2386,6 +2375,22 @@ msgstr "Externe seulement"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Intégré seulement"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
#| msgctxt "calendar heading"
|
||||
#| msgid "%A, %B %-d"
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A %-d %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Faire glisser vers le haut pour déverrouiller"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Cliquer ou appuyer sur une touche pour déverrouiller"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
msgid "Unlock Window"
|
||||
msgstr "Fenêtre de déverrouillage"
|
||||
@@ -2428,7 +2433,7 @@ msgstr[1] "Les paramètres seront restaurés dans %d secondes"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
|
246
po/gl.po
@@ -11,9 +11,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-17 11:08+0000\n"
|
||||
"PO-Revision-Date: 2020-02-17 21:59+0100\n"
|
||||
"Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n"
|
||||
"POT-Creation-Date: 2020-02-25 23:44+0000\n"
|
||||
"PO-Revision-Date: 2020-02-26 21:54+0100\n"
|
||||
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
|
||||
"Language-Team: Galician\n"
|
||||
"Language: gl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -416,11 +416,11 @@ msgid ""
|
||||
"to enable it again"
|
||||
msgstr "Se quita a extensión debe descargala se quere activala de novo"
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:135
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:107
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:165 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@@ -551,10 +551,10 @@ msgid "Log Out…"
|
||||
msgstr "Saír da sesión…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:214 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:259 js/ui/components/networkAgent.js:279
|
||||
#: js/ui/components/networkAgent.js:289 js/ui/components/polkitAgent.js:277
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Contrasinal"
|
||||
@@ -577,8 +577,8 @@ msgstr "(p.ex., usuario ou %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:234
|
||||
#: js/ui/components/networkAgent.js:257 js/ui/components/networkAgent.js:275
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Nome de usuario"
|
||||
|
||||
@@ -807,11 +807,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%d de %B de %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Inicio de sesión do Hotspot"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -847,27 +847,27 @@ msgid "All"
|
||||
msgstr "Todos"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2450 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Abrir Xanelas"
|
||||
|
||||
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2470 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Xanela nova"
|
||||
|
||||
#: js/ui/appDisplay.js:2485
|
||||
#: js/ui/appDisplay.js:2481
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Iniciar usando a Tarxeta Gráfica Adicada"
|
||||
|
||||
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2509 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Retirar dos marcadores"
|
||||
|
||||
#: js/ui/appDisplay.js:2519
|
||||
#: js/ui/appDisplay.js:2515
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Engadir aos favoritos"
|
||||
|
||||
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2525 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Mostrar detalles"
|
||||
|
||||
@@ -1092,33 +1092,32 @@ msgstr ""
|
||||
"De forma alternativa pode conectarse premendo o botón «WPS» do seu ruter."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Chave"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Contrasinal da chave privada"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Identidade"
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Servizo"
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Requírese autenticación"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1127,42 +1126,42 @@ msgstr ""
|
||||
"Requírense contrasinais ou chaves de cifrado para acceder á rede sen fíos "
|
||||
"«%s»."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Autenticación con fíos 802.1X"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Nome da rede"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "Autenticación DSL"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "Requírese un código PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "É necesario un código PIN para o dispositivo de banda larga móbil"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Requírese un contrasinal para conectarse a «%s»."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Xestor da rede"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "Contrasinal da VPN"
|
||||
|
||||
@@ -1402,15 +1401,15 @@ msgstr "%s (remoto)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (consola)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Instalar"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Instalar extensión"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Desexa descargar e instalar «%s» desde extensions.gnome.org?"
|
||||
@@ -1500,13 +1499,13 @@ msgid "Leave On"
|
||||
msgstr "Deixar activado"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Activar"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1520,59 +1519,59 @@ msgstr "Deixar desactivado"
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "Preferencias de rexión e idioma"
|
||||
|
||||
#: js/ui/lookingGlass.js:659
|
||||
#: js/ui/lookingGlass.js:665
|
||||
msgid "No extensions installed"
|
||||
msgstr "Non hai ningunha extensión instalada"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: js/ui/lookingGlass.js:714
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s non emitiu ningún erro."
|
||||
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#: js/ui/lookingGlass.js:726
|
||||
msgid "Hide Errors"
|
||||
msgstr "Ocultar erros"
|
||||
|
||||
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789
|
||||
#: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
|
||||
msgid "Show Errors"
|
||||
msgstr "Mostrar erros"
|
||||
|
||||
#: js/ui/lookingGlass.js:733
|
||||
#: js/ui/lookingGlass.js:739
|
||||
msgid "Enabled"
|
||||
msgstr "Activado"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
#: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
msgid "Disabled"
|
||||
msgstr "Desactivado"
|
||||
|
||||
#: js/ui/lookingGlass.js:738
|
||||
#: js/ui/lookingGlass.js:744
|
||||
msgid "Error"
|
||||
msgstr "Erro"
|
||||
|
||||
#: js/ui/lookingGlass.js:740
|
||||
#: js/ui/lookingGlass.js:746
|
||||
msgid "Out of date"
|
||||
msgstr "Obsoleto"
|
||||
|
||||
#: js/ui/lookingGlass.js:742
|
||||
#: js/ui/lookingGlass.js:748
|
||||
msgid "Downloading"
|
||||
msgstr "Descargando"
|
||||
|
||||
#: js/ui/lookingGlass.js:771
|
||||
#: js/ui/lookingGlass.js:777
|
||||
msgid "View Source"
|
||||
msgstr "Ver fonte"
|
||||
|
||||
#: js/ui/lookingGlass.js:780
|
||||
#: js/ui/lookingGlass.js:786
|
||||
msgid "Web Page"
|
||||
msgstr "Páxina web"
|
||||
|
||||
#: js/ui/main.js:267
|
||||
#: js/ui/main.js:269
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Sesión iniciada como un usuario privilexiado"
|
||||
|
||||
#: js/ui/main.js:268
|
||||
#: js/ui/main.js:270
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1580,15 +1579,15 @@ msgstr ""
|
||||
"Por razóns de seguranza debe evitar executar unha sesión como un usuario "
|
||||
"privilexiado. Se é posíbel, debería iniciar sesión como un usuario normal."
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:276
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Bloqueo de pantalla desactivado"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:277
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "O bloqueo de pantalla require o xestor de pantalla de GNOME."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Información do sistema"
|
||||
|
||||
@@ -1642,23 +1641,23 @@ msgstr "Asignar combinación de teclas"
|
||||
msgid "Done"
|
||||
msgstr "Feito"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Editar…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Ningún"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Prema un botón para continuar"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Prema Esc para saír"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Prema calquera tecla para saír"
|
||||
|
||||
@@ -1672,12 +1671,12 @@ msgstr "Saír"
|
||||
msgid "Activities"
|
||||
msgstr "Actividades"
|
||||
|
||||
#: js/ui/panel.js:707
|
||||
#: js/ui/panel.js:713
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: js/ui/panel.js:820
|
||||
#: js/ui/panel.js:826
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
@@ -1708,11 +1707,11 @@ msgstr "GNOME precisa bloquear a pantalla"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Non foi posíbel bloquear"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Unha aplicación impediu o bloqueo"
|
||||
|
||||
@@ -1854,7 +1853,7 @@ msgstr "Texto grande"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Preferencias do Bluetooth"
|
||||
|
||||
@@ -1898,11 +1897,11 @@ msgstr "Clic secundario"
|
||||
msgid "Dwell Click"
|
||||
msgstr "Clic atrasado"
|
||||
|
||||
#: js/ui/status/keyboard.js:825
|
||||
#: js/ui/status/keyboard.js:826
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclado"
|
||||
|
||||
#: js/ui/status/keyboard.js:847
|
||||
#: js/ui/status/keyboard.js:848
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Mostrar a distribución do teclado"
|
||||
|
||||
@@ -1951,7 +1950,7 @@ msgid "<unknown>"
|
||||
msgstr "<descoñecido>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s apagado"
|
||||
@@ -1977,7 +1976,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "%s desconectando"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s conectando"
|
||||
@@ -2017,7 +2016,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Preferencias da banda larga móbil"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s hardware desactivado"
|
||||
@@ -2029,125 +2028,125 @@ msgstr "%s hardware desactivado"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s desactivado"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Conectarse a internet"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Modo avión activado"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "A Wifi está desactivada cando o modo avión está activo."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Desactivar o modo avión"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Wifi desactivada"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "A Wifi precisa activarse para poder conectarse á rede."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Activar Wifi"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Redes WiFi"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Seleccione unha rede"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Sen redes"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Usar interruptor hardware para apagar"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Seleccione unha rede"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Preferencias da WiFi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s punto wifi activo"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s non conectado"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "conectando…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "requírese autenticación"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "conexión fallada"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "Preferencias de VPN"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN desactivada"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Preferencias da rede"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s conectando con fíos"
|
||||
msgstr[1] "%s conectando con fíos"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s conectando sen fíos"
|
||||
msgstr[1] "%s con fíos conectando"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s con módem conectando"
|
||||
msgstr[1] "%s conectando sen fíos"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Produciuse un fallo na conexión"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Produciuse un fallo na activación da conexión de rede"
|
||||
|
||||
@@ -2245,11 +2244,11 @@ msgstr "Apagar…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Dispositivo Thunderbolt descoñecido"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2257,21 +2256,21 @@ msgstr ""
|
||||
"Detectouse un novo dispositivo mentres non estabas. Por favor desconecte e "
|
||||
"reconecte o dispositivo para comezar a usalo."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Dispositivo Thunderbolt non autorizado"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr ""
|
||||
"Detectouse un novo dispositivo e precisa ser autorizado por un administrador."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Erro de autorización de Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Non foi posíbel autorizar o dispositivo Thunderbolt: %s"
|
||||
@@ -2312,10 +2311,28 @@ msgstr "Só a externa"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Só a interna"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:370
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A, %d de %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:376
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Deslizar para desbloquear"
|
||||
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Prema o rato ou unha tecla para desbloquear"
|
||||
|
||||
#: js/ui/unlockDialog.js:549
|
||||
msgid "Unlock Window"
|
||||
msgstr "Desbloquear xanela"
|
||||
|
||||
#: js/ui/unlockDialog.js:558
|
||||
msgid "Log in as another user"
|
||||
msgstr "Iniciar sesión como outro usuario"
|
||||
|
||||
#: js/ui/viewSelector.js:181
|
||||
msgid "Applications"
|
||||
msgstr "Aplicacións"
|
||||
@@ -2354,7 +2371,7 @@ msgstr[1] "Os cambios das preferencias revertiranse en %d segundos"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2838,9 +2855,6 @@ msgstr "Sons do sistema"
|
||||
#~ msgstr[0] "%d notificación nova"
|
||||
#~ msgstr[1] "%d notificacións novas"
|
||||
|
||||
#~ msgid "Log in as another user"
|
||||
#~ msgstr "Iniciar sesión como outro usuario"
|
||||
|
||||
#~ msgid "Browse in Software"
|
||||
#~ msgstr "Explorar en Software"
|
||||
|
||||
|
77
po/hu.po
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-17 22:27+0000\n"
|
||||
"PO-Revision-Date: 2020-02-18 00:10+0100\n"
|
||||
"POT-Creation-Date: 2020-02-24 12:37+0000\n"
|
||||
"PO-Revision-Date: 2020-02-25 07:25+0100\n"
|
||||
"Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n"
|
||||
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
|
||||
"Language: hu\n"
|
||||
@@ -414,11 +414,11 @@ msgstr ""
|
||||
"Ha eltávolítja a kiterjesztést, akkor vissza kell térnie a letöltéshez, ha "
|
||||
"újra engedélyezni akarja."
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:913
|
||||
#: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:135
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:107
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:165 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Mégse"
|
||||
|
||||
@@ -551,7 +551,7 @@ msgid "Log Out…"
|
||||
msgstr "Kijelentkezés…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
@@ -847,27 +847,27 @@ msgid "All"
|
||||
msgstr "Összes"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2450 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Ablakok megnyitása"
|
||||
|
||||
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2470 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Új ablak"
|
||||
|
||||
#: js/ui/appDisplay.js:2485
|
||||
#: js/ui/appDisplay.js:2481
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Futtatás a dedikált videokártyával"
|
||||
|
||||
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2509 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Eltávolítás a Kedvencek közül"
|
||||
|
||||
#: js/ui/appDisplay.js:2519
|
||||
#: js/ui/appDisplay.js:2515
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Hozzáadás a Kedvencekhez"
|
||||
|
||||
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2525 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Részletek megjelenítése"
|
||||
|
||||
@@ -1518,59 +1518,59 @@ msgstr "Kikapcsolva hagyás"
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "Területi és nyelvi beállítások"
|
||||
|
||||
#: js/ui/lookingGlass.js:659
|
||||
#: js/ui/lookingGlass.js:665
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nincsenek kiterjesztések telepítve"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: js/ui/lookingGlass.js:714
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s nem adott hibát."
|
||||
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#: js/ui/lookingGlass.js:726
|
||||
msgid "Hide Errors"
|
||||
msgstr "Hibák elrejtése"
|
||||
|
||||
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789
|
||||
#: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
|
||||
msgid "Show Errors"
|
||||
msgstr "Hibák megjelenítése"
|
||||
|
||||
#: js/ui/lookingGlass.js:733
|
||||
#: js/ui/lookingGlass.js:739
|
||||
msgid "Enabled"
|
||||
msgstr "Engedélyezve"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
#: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
msgid "Disabled"
|
||||
msgstr "Tiltva"
|
||||
|
||||
#: js/ui/lookingGlass.js:738
|
||||
#: js/ui/lookingGlass.js:744
|
||||
msgid "Error"
|
||||
msgstr "Hiba"
|
||||
|
||||
#: js/ui/lookingGlass.js:740
|
||||
#: js/ui/lookingGlass.js:746
|
||||
msgid "Out of date"
|
||||
msgstr "Elavult"
|
||||
|
||||
#: js/ui/lookingGlass.js:742
|
||||
#: js/ui/lookingGlass.js:748
|
||||
msgid "Downloading"
|
||||
msgstr "Letöltés"
|
||||
|
||||
#: js/ui/lookingGlass.js:771
|
||||
#: js/ui/lookingGlass.js:777
|
||||
msgid "View Source"
|
||||
msgstr "Forrás megtekintése"
|
||||
|
||||
#: js/ui/lookingGlass.js:780
|
||||
#: js/ui/lookingGlass.js:786
|
||||
msgid "Web Page"
|
||||
msgstr "Weblap"
|
||||
|
||||
#: js/ui/main.js:267
|
||||
#: js/ui/main.js:269
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Bejelentkezés privilegizált felhasználóként"
|
||||
|
||||
#: js/ui/main.js:268
|
||||
#: js/ui/main.js:270
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1578,11 +1578,11 @@ msgstr ""
|
||||
"A privilegizált felhasználóként futtatott munkameneteket biztonsági okokból "
|
||||
"érdemes kerülni. Ha lehetséges, jelentkezzen be normál felhasználóként."
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:276
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Zárképernyő letiltva"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:277
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "A képernyőzároláshoz a GNOME kijelzőkezelő szükséges."
|
||||
|
||||
@@ -1896,11 +1896,11 @@ msgstr "Másodlagos kattintás"
|
||||
msgid "Dwell Click"
|
||||
msgstr "Rámutatási kattintás"
|
||||
|
||||
#: js/ui/status/keyboard.js:825
|
||||
#: js/ui/status/keyboard.js:826
|
||||
msgid "Keyboard"
|
||||
msgstr "Billentyűzet"
|
||||
|
||||
#: js/ui/status/keyboard.js:847
|
||||
#: js/ui/status/keyboard.js:848
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Billentyűzetkiosztás megjelenítése"
|
||||
|
||||
@@ -2311,24 +2311,27 @@ msgstr "Csak a beépített"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
#| msgctxt "calendar heading"
|
||||
#| msgid "%A, %B %-d"
|
||||
#: js/ui/unlockDialog.js:370
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%B %-d. %A"
|
||||
|
||||
#: js/ui/unlockDialog.js:378
|
||||
#: js/ui/unlockDialog.js:376
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Húzza felfelé a feloldáshoz"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Kattintson vagy nyomjon meg egy gombot a feloldáshoz"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
#: js/ui/unlockDialog.js:549
|
||||
msgid "Unlock Window"
|
||||
msgstr "Ablak feloldása"
|
||||
|
||||
#: js/ui/unlockDialog.js:558
|
||||
#| msgid "Logged in as a privileged user"
|
||||
msgid "Log in as another user"
|
||||
msgstr "Bejelentkezés más felhasználóként"
|
||||
|
||||
#: js/ui/viewSelector.js:181
|
||||
msgid "Applications"
|
||||
msgstr "Alkalmazások"
|
||||
|
419
po/id.po
@@ -11,15 +11,15 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-06 19:01+0000\n"
|
||||
"PO-Revision-Date: 2020-02-07 13:32+0700\n"
|
||||
"POT-Creation-Date: 2020-02-24 12:37+0000\n"
|
||||
"PO-Revision-Date: 2020-02-25 17:40+0700\n"
|
||||
"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n"
|
||||
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
|
||||
"Language: id\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural= n!=1;\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-DamnedLies-Scope: partial\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
@@ -184,8 +184,8 @@ msgstr ""
|
||||
msgid ""
|
||||
"Whether to remember password for mounting encrypted or remote filesystems"
|
||||
msgstr ""
|
||||
"Apakah mengingat sandi untuk mengait sistem berkas terenkripsi atau jarak "
|
||||
"jauh"
|
||||
"Apakah mengingat kata sandi untuk mengait sistem berkas terenkripsi atau "
|
||||
"jarak jauh"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:87
|
||||
msgid ""
|
||||
@@ -194,7 +194,7 @@ msgid ""
|
||||
"“Remember Password” checkbox will be present. This key sets the default "
|
||||
"state of the checkbox."
|
||||
msgstr ""
|
||||
"Shell akan meminta suatu sandi ketika suatu perangkat terenkripsi atau "
|
||||
"Shell akan meminta suatu kata sandi ketika suatu perangkat terenkripsi atau "
|
||||
"sistem berkas jarak jauh dikaitkan. Bila sandi dapat disimpan untuk dipakai "
|
||||
"dimasa depan, suatu kotak contreng 'Ingat Sandi' akan tampil. Kunci ini "
|
||||
"menata keadaan baku dari kotak contreng."
|
||||
@@ -418,11 +418,11 @@ msgstr ""
|
||||
"Jika Anda menghapus ekstensi, Anda harus kembali untuk mengunduhnya jika "
|
||||
"Anda ingin mengaktifkannya lagi"
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:170
|
||||
#: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:135
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:107
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:166 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:910
|
||||
#: js/ui/extensionDownloader.js:165 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Batal"
|
||||
|
||||
@@ -557,31 +557,26 @@ msgstr ""
|
||||
msgid "Log Out…"
|
||||
msgstr "Keluar…"
|
||||
|
||||
#: js/gdm/authPrompt.js:184 js/gdm/authPrompt.js:237 js/gdm/authPrompt.js:468
|
||||
msgid "Next"
|
||||
msgstr "Selanjutnya"
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Kata Sandi"
|
||||
|
||||
#: js/gdm/authPrompt.js:233 js/ui/shellMountOperation.js:380
|
||||
#: js/ui/unlockDialog.js:44
|
||||
msgid "Unlock"
|
||||
msgstr "Buka Kunci"
|
||||
|
||||
#: js/gdm/authPrompt.js:235
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Masuk"
|
||||
|
||||
#: js/gdm/loginDialog.js:319
|
||||
#: js/gdm/loginDialog.js:318
|
||||
msgid "Choose Session"
|
||||
msgstr "Pilih Sesi"
|
||||
|
||||
#: js/gdm/loginDialog.js:461
|
||||
#: js/gdm/loginDialog.js:457
|
||||
msgid "Not listed?"
|
||||
msgstr "Tak masuk daftar?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: js/gdm/loginDialog.js:895
|
||||
#: js/gdm/loginDialog.js:912
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(cth., pengguna dari %s)"
|
||||
@@ -589,12 +584,12 @@ msgstr "(cth., pengguna dari %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:899 js/ui/components/networkAgent.js:234
|
||||
#: js/ui/components/networkAgent.js:257 js/ui/components/networkAgent.js:275
|
||||
msgid "Username: "
|
||||
msgstr "Nama pengguna: "
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Nama pengguna"
|
||||
|
||||
#: js/gdm/loginDialog.js:1230
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "Jendela Log Masuk"
|
||||
|
||||
@@ -819,16 +814,16 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%d %B %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Log Masuk Area Bersinyal (hotspot)"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
msgstr ""
|
||||
"Koneksi Anda ke log masuk area bersinyal (hotspot) ini tidak aman. Kata "
|
||||
"Koneksi Anda ke log masuk area bersinyal (hotspot) ini tidak aman. Kata kata "
|
||||
"sandi atau informasi lain yang Anda masukkan pada halaman ini dapat dilihat "
|
||||
"oleh orang-orang di sekitar."
|
||||
|
||||
@@ -859,27 +854,27 @@ msgid "All"
|
||||
msgstr "Semua"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2450 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Buka Jendela"
|
||||
|
||||
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2470 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Jendela Baru"
|
||||
|
||||
#: js/ui/appDisplay.js:2485
|
||||
#: js/ui/appDisplay.js:2481
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Luncurkan menggunakan Kartu Grafis Terdedikasi"
|
||||
|
||||
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2509 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Hapus dari Favorit"
|
||||
|
||||
#: js/ui/appDisplay.js:2519
|
||||
#: js/ui/appDisplay.js:2515
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Tambah ke Favorit"
|
||||
|
||||
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2525 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Tampilkan Rincian"
|
||||
|
||||
@@ -1105,86 +1100,78 @@ msgstr ""
|
||||
"router Anda."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Sambung"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/ui/components/networkAgent.js:202 js/ui/components/networkAgent.js:214
|
||||
#: js/ui/components/networkAgent.js:238 js/ui/components/networkAgent.js:259
|
||||
#: js/ui/components/networkAgent.js:279 js/ui/components/networkAgent.js:289
|
||||
msgid "Password: "
|
||||
msgstr "Sandi: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Kunci"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
msgid "Key: "
|
||||
msgstr "Tombol: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Kata sandi kunci privat"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
msgid "Private key password: "
|
||||
msgstr "Sandi kunci privat: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Identitas"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
msgid "Identity: "
|
||||
msgstr "Identitas: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Layanan"
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
msgid "Service: "
|
||||
msgstr "Layanan: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Diperlukan autentikasi"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr ""
|
||||
"Sandi atau kunci enkripsi diperlukan untuk mengakses jaringan nirkabel \"%s"
|
||||
"\"."
|
||||
"Kata sandi atau kunci enkripsi diperlukan untuk mengakses jaringan nirkabel "
|
||||
"\"%s\"."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Autentikasi 802.1X kabel"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
msgid "Network name: "
|
||||
msgstr "Nama jaringan: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Nama jaringan"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "Autentikasi DSL"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "Perlu kode PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Kode PIN diperlukan untuk perangkat data seluler"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Perlu suatu sandi untuk menyambung ke \"%s\"."
|
||||
msgstr "Perlu suatu kata sandi untuk menyambung ke \"%s\"."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Manajer Jaringan"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "Sandi VPN"
|
||||
msgstr "Kata Sandi VPN"
|
||||
|
||||
#: js/ui/components/polkitAgent.js:39
|
||||
msgid "Authentication Required"
|
||||
@@ -1206,10 +1193,6 @@ msgstr "Autentikasi"
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "Maaf, tidak berhasil. Silakan coba lagi."
|
||||
|
||||
#: js/ui/components/polkitAgent.js:277 js/ui/shellMountOperation.js:326
|
||||
msgid "Enter Password…"
|
||||
msgstr "Masukkan Kata Sandi…"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
@@ -1425,15 +1408,15 @@ msgstr "%s (jarak jauh)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (konsol)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Pasang"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Pasang Ekstensi"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Unduh dan pasang \"%s\" dari extensions.gnome.org?"
|
||||
@@ -1521,13 +1504,13 @@ msgid "Leave On"
|
||||
msgstr "Biarkan Menyala"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Nyalakan"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1541,59 +1524,59 @@ msgstr "Biarkan Mati"
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "Pengaturan Wilayah & Bahasa"
|
||||
|
||||
#: js/ui/lookingGlass.js:659
|
||||
#: js/ui/lookingGlass.js:665
|
||||
msgid "No extensions installed"
|
||||
msgstr "Tak ada ekstensi terpasang"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: js/ui/lookingGlass.js:714
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s tidak menampilkan galat apa pun."
|
||||
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#: js/ui/lookingGlass.js:726
|
||||
msgid "Hide Errors"
|
||||
msgstr "Sembunyikan Galat"
|
||||
|
||||
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789
|
||||
#: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
|
||||
msgid "Show Errors"
|
||||
msgstr "Tampilkan Galat"
|
||||
|
||||
#: js/ui/lookingGlass.js:733
|
||||
#: js/ui/lookingGlass.js:739
|
||||
msgid "Enabled"
|
||||
msgstr "Diaktifkan"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
#: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
msgid "Disabled"
|
||||
msgstr "Dinonaktifkan"
|
||||
|
||||
#: js/ui/lookingGlass.js:738
|
||||
#: js/ui/lookingGlass.js:744
|
||||
msgid "Error"
|
||||
msgstr "Galat"
|
||||
|
||||
#: js/ui/lookingGlass.js:740
|
||||
#: js/ui/lookingGlass.js:746
|
||||
msgid "Out of date"
|
||||
msgstr "Kadaluarsa"
|
||||
|
||||
#: js/ui/lookingGlass.js:742
|
||||
#: js/ui/lookingGlass.js:748
|
||||
msgid "Downloading"
|
||||
msgstr "Mengunduh"
|
||||
|
||||
#: js/ui/lookingGlass.js:771
|
||||
#: js/ui/lookingGlass.js:777
|
||||
msgid "View Source"
|
||||
msgstr "Tilik Sumber"
|
||||
|
||||
#: js/ui/lookingGlass.js:780
|
||||
#: js/ui/lookingGlass.js:786
|
||||
msgid "Web Page"
|
||||
msgstr "Halaman Web"
|
||||
|
||||
#: js/ui/main.js:267
|
||||
#: js/ui/main.js:269
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Masuk sebagai pengguna istimewa"
|
||||
|
||||
#: js/ui/main.js:268
|
||||
#: js/ui/main.js:270
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1601,15 +1584,15 @@ msgstr ""
|
||||
"Menjalankan sesi sebagai pengguna istimewa harus dihindari untuk alasan "
|
||||
"keamanan. Jika memungkinkan, Anda harus masuk sebagai pengguna biasa."
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:276
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Kunci Layar dinonaktifkan"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:277
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Penguncian Layar memerlukan manajer tampilan GNOME."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Informasi Sistem"
|
||||
|
||||
@@ -1636,8 +1619,8 @@ msgstr "Gambaran"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
msgid "Type to search…"
|
||||
msgstr "Ketik untuk mencari…"
|
||||
msgid "Type to search"
|
||||
msgstr "Ketik untuk mencari"
|
||||
|
||||
#: js/ui/padOsd.js:95
|
||||
msgid "New shortcut…"
|
||||
@@ -1663,23 +1646,23 @@ msgstr "Tetapkan keystroke"
|
||||
msgid "Done"
|
||||
msgstr "Selesai"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Sunting…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Nihil"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Tekan tombol untuk mengkonfigurasi"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Tekan Esc untuk keluar"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Tekan tombol apa saja untuk keluar"
|
||||
|
||||
@@ -1718,31 +1701,7 @@ msgstr "Memulai ulang tidak tersedia di Wayland"
|
||||
msgid "Restarting…"
|
||||
msgstr "Memulai ulang…"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/screenShield.js:82
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: js/ui/screenShield.js:139
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
msgid_plural "%d new messages"
|
||||
msgstr[0] "%d pesan baru"
|
||||
msgstr[1] "%d pesan baru"
|
||||
|
||||
#: js/ui/screenShield.js:141
|
||||
#, javascript-format
|
||||
msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d pemberitahuan baru"
|
||||
msgstr[1] "%d pemberitahuan baru"
|
||||
|
||||
#: js/ui/screenShield.js:454 js/ui/status/system.js:103
|
||||
msgid "Lock"
|
||||
msgstr "Kunci"
|
||||
|
||||
#: js/ui/screenShield.js:717
|
||||
#: js/ui/screenShield.js:203
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME perlu mengunci layar"
|
||||
|
||||
@@ -1753,11 +1712,11 @@ msgstr "GNOME perlu mengunci layar"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:830 js/ui/screenShield.js:1301
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Tak bisa mengunci"
|
||||
|
||||
#: js/ui/screenShield.js:831 js/ui/screenShield.js:1302
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Kunci diblokir oleh suatu aplikasi"
|
||||
|
||||
@@ -1818,12 +1777,16 @@ msgstr ""
|
||||
"<i>%s</i>."
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
msgid "Enter PIM Number…"
|
||||
msgstr "Masukkan Nomor PIM…"
|
||||
msgid "PIM Number"
|
||||
msgstr "Nomor PIM"
|
||||
|
||||
#: js/ui/shellMountOperation.js:365
|
||||
msgid "Remember Password"
|
||||
msgstr "Ingat Sandi"
|
||||
msgstr "Ingat Kata Sandi"
|
||||
|
||||
#: js/ui/shellMountOperation.js:380
|
||||
msgid "Unlock"
|
||||
msgstr "Buka Kunci"
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:391
|
||||
@@ -1895,7 +1858,7 @@ msgstr "Teks Besar"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Pengaturan Bluetooth"
|
||||
|
||||
@@ -1939,11 +1902,11 @@ msgstr "Klik Sekunder"
|
||||
msgid "Dwell Click"
|
||||
msgstr "Klik Menetap"
|
||||
|
||||
#: js/ui/status/keyboard.js:825
|
||||
#: js/ui/status/keyboard.js:826
|
||||
msgid "Keyboard"
|
||||
msgstr "Papan Ketik"
|
||||
|
||||
#: js/ui/status/keyboard.js:847
|
||||
#: js/ui/status/keyboard.js:848
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Tampilkan Tata Letak Papan Tik"
|
||||
|
||||
@@ -1990,7 +1953,7 @@ msgid "<unknown>"
|
||||
msgstr "<tak dikenal>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s Mati"
|
||||
@@ -2016,7 +1979,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "%s Memutus"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s Menyambung"
|
||||
@@ -2056,7 +2019,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Pengaturan Data Seluler"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s Perangkat Keras Dinonaktifkan"
|
||||
@@ -2068,125 +2031,125 @@ msgstr "%s Perangkat Keras Dinonaktifkan"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s Dinonaktifkan"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Sambungkan ke Internet"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Mode Pesawat Terbang Menyala"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Wi-Fi dinonaktifkan ketika mode pesawat terbang menyala."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Matikan Mode Pesawat Terbang"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Wi-Fi Mati"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Wi-Fi perlu dinyalakan untuk menyambung ke suatu jaringan."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Nyalakan Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Jaringan Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Pilih jaringan"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Tiada Jaringan"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Pakai saklar perangkat keras untuk mematikan"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Pilih Jaringan"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Pengaturan Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s Hotspot Aktif"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s Tak Tersambung"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "menyambung…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "diperlukan autentikasi"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "koneksi gagal"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "Pengaturan VPN"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN Mati"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Pengaturan Jaringan"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s Koneksi Kabel"
|
||||
msgstr[1] "%s Koneksi Kabel"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s Koneksi Wi-Fi"
|
||||
msgstr[1] "%s Koneksi Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s Koneksi Modem"
|
||||
msgstr[1] "%s Koneksi Modem"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Koneksi gagal"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivasi koneksi jaringan gagal"
|
||||
|
||||
@@ -2256,6 +2219,10 @@ msgstr "Matikan"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Mode Pesawat Terbang Aktif"
|
||||
|
||||
#: js/ui/status/system.js:103
|
||||
msgid "Lock"
|
||||
msgstr "Kunci"
|
||||
|
||||
#: js/ui/status/system.js:116
|
||||
msgid "Power Off / Log Out"
|
||||
msgstr "Matikan / Log Keluar"
|
||||
@@ -2280,11 +2247,11 @@ msgstr "Matikan…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Perangkat Thunderbolt tak dikenal"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2292,21 +2259,21 @@ msgstr ""
|
||||
"Perangkat baru telah terdeteksi saat Anda pergi. Harap lepaskan dan "
|
||||
"sambungkan kembali perangkat untuk mulai menggunakannya."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Perangkat Thunderbolt tak dikenal"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr ""
|
||||
"Perangkat baru telah terdeteksi dan perlu diautorisasi oleh administrator."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Autorisasi Thunderbolt galat"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Tidak dapat mengautorisasi perangkat Thunderbolt: %s"
|
||||
@@ -2347,14 +2314,34 @@ msgstr "Hanya Eksternal"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Hanya Bawaan"
|
||||
|
||||
#: js/ui/unlockDialog.js:52
|
||||
msgid "Log in as another user"
|
||||
msgstr "Masuk sebagai pengguna lain"
|
||||
# %A: Full weekday name
|
||||
# %A: Minggu
|
||||
# %B: Full month name
|
||||
# %B: Januari
|
||||
# %d: Day of month as decimal number (01-31)
|
||||
# %d: 1
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:370
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:67
|
||||
#: js/ui/unlockDialog.js:376
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Gesek ke atas untuk membuka kunci"
|
||||
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Klik atau tekan tombol untuk membuka kunci"
|
||||
|
||||
#: js/ui/unlockDialog.js:549
|
||||
msgid "Unlock Window"
|
||||
msgstr "Buka Kunci Jendela"
|
||||
|
||||
#: js/ui/unlockDialog.js:558
|
||||
msgid "Log in as another user"
|
||||
msgstr "Masuk sebagai pengguna lain"
|
||||
|
||||
#: js/ui/viewSelector.js:181
|
||||
msgid "Applications"
|
||||
msgstr "Aplikasi"
|
||||
@@ -2393,7 +2380,7 @@ msgstr[1] "Perubahan tatanan akan dikembalikan dalam %d detik"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2498,11 +2485,11 @@ msgstr "Gagal meluncurkan \"%s\""
|
||||
|
||||
#: src/shell-keyring-prompt.c:731
|
||||
msgid "Passwords do not match."
|
||||
msgstr "Sandi tidak cocok."
|
||||
msgstr "Kata sandi tidak cocok."
|
||||
|
||||
#: src/shell-keyring-prompt.c:739
|
||||
msgid "Password cannot be blank"
|
||||
msgstr "Sandi tidak boleh kosong"
|
||||
msgstr "Kata sandi tidak boleh kosong"
|
||||
|
||||
#: src/shell-polkit-authentication-agent.c:344
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
@@ -2576,7 +2563,7 @@ msgid "Create a new extension"
|
||||
msgstr "Buat ekstensi baru"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-create.c:280
|
||||
#: subprojects/extensions-tool/src/command-list.c:158
|
||||
#: subprojects/extensions-tool/src/command-list.c:168
|
||||
msgid "Unknown arguments"
|
||||
msgstr "Argumen tak dikenal"
|
||||
|
||||
@@ -2634,31 +2621,35 @@ msgstr "Tidak ada bundel ekstensi yang ditentukan"
|
||||
msgid "More than one extension bundle specified"
|
||||
msgstr "Lebih dari satu bundel ekstensi ditentukan"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:118
|
||||
#: subprojects/extensions-tool/src/command-list.c:125
|
||||
msgid "Show user-installed extensions"
|
||||
msgstr "Tampilkan ekstensi yang dipasang pengguna"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:121
|
||||
#: subprojects/extensions-tool/src/command-list.c:128
|
||||
msgid "Show system-installed extensions"
|
||||
msgstr "Tampilkan ekstensi yang dipasang sistem"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:124
|
||||
#: subprojects/extensions-tool/src/command-list.c:131
|
||||
msgid "Show enabled extensions"
|
||||
msgstr "Tampilkan ekstensi yang diaktifkan"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:127
|
||||
#: subprojects/extensions-tool/src/command-list.c:134
|
||||
msgid "Show disabled extensions"
|
||||
msgstr "Tampilkan ekstensi yang dinonaktifkan"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:130
|
||||
#: subprojects/extensions-tool/src/command-list.c:137
|
||||
msgid "Show extensions with preferences"
|
||||
msgstr "Tampilkan ekstensi dengan preferensi"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:133
|
||||
#: subprojects/extensions-tool/src/command-list.c:140
|
||||
msgid "Show extensions with updates"
|
||||
msgstr "Tampilkan ekstensi dengan pemutakhiran"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:143
|
||||
msgid "Print extension details"
|
||||
msgstr "Cetak detail ekstensi"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:141
|
||||
#: subprojects/extensions-tool/src/command-list.c:151
|
||||
msgid "List installed extensions"
|
||||
msgstr "Daftar ekstensi yang dipasang"
|
||||
|
||||
@@ -2841,6 +2832,35 @@ msgstr[1] "%u Masukan"
|
||||
msgid "System Sounds"
|
||||
msgstr "Suara Sistem"
|
||||
|
||||
#~ msgid "Username…"
|
||||
#~ msgstr "Nama pengguna…"
|
||||
|
||||
#~ msgid "Password: "
|
||||
#~ msgstr "Sandi: "
|
||||
|
||||
#~ msgid "Enter Password…"
|
||||
#~ msgstr "Masukkan Kata Sandi…"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Selanjutnya"
|
||||
|
||||
#~ msgctxt "button"
|
||||
#~ msgid "Sign In"
|
||||
#~ msgstr "Masuk"
|
||||
|
||||
#~ msgid "%A, %B %d"
|
||||
#~ msgstr "%A, %d %B"
|
||||
|
||||
#~ msgid "%d new message"
|
||||
#~ msgid_plural "%d new messages"
|
||||
#~ msgstr[0] "%d pesan baru"
|
||||
#~ msgstr[1] "%d pesan baru"
|
||||
|
||||
#~ msgid "%d new notification"
|
||||
#~ msgid_plural "%d new notifications"
|
||||
#~ msgstr[0] "%d pemberitahuan baru"
|
||||
#~ msgstr[1] "%d pemberitahuan baru"
|
||||
|
||||
#~ msgid "org.gnome.Extensions"
|
||||
#~ msgstr "org.gnome.Extensions"
|
||||
|
||||
@@ -2866,8 +2886,5 @@ msgstr "Suara Sistem"
|
||||
#~ msgid "Mobile broadband network password"
|
||||
#~ msgstr "Sandi jaringan data seluler"
|
||||
|
||||
#~ msgid "Password"
|
||||
#~ msgstr "Sandi"
|
||||
|
||||
#~ msgid "Rename"
|
||||
#~ msgstr "Ubah Nama"
|
||||
|
257
po/lt.po
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-17 11:08+0000\n"
|
||||
"PO-Revision-Date: 2020-02-17 22:38+0200\n"
|
||||
"POT-Creation-Date: 2020-02-27 21:57+0000\n"
|
||||
"PO-Revision-Date: 2020-03-01 20:41+0200\n"
|
||||
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
|
||||
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
|
||||
"Language: lt\n"
|
||||
@@ -410,11 +410,11 @@ msgstr ""
|
||||
"Jei pašalinsite plėtinį, reikės grįžti prie jo atsisiuntimo, jei norėsite jį "
|
||||
"vėl įjungti"
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:135
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:107
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:165 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Atsisakyti"
|
||||
|
||||
@@ -546,12 +546,11 @@ msgid "Log Out…"
|
||||
msgstr "Atsijungti…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:214 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:259 js/ui/components/networkAgent.js:279
|
||||
#: js/ui/components/networkAgent.js:289 js/ui/components/polkitAgent.js:277
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
#| msgid "Password:"
|
||||
msgid "Password"
|
||||
msgstr "Slaptažodis"
|
||||
|
||||
@@ -573,9 +572,8 @@ msgstr "(pvz., naudotojas arba %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:234
|
||||
#: js/ui/components/networkAgent.js:257 js/ui/components/networkAgent.js:275
|
||||
#| msgid "Username: "
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Naudotojo vardas"
|
||||
|
||||
@@ -810,11 +808,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%Y %m %-d, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Prisijungimas prie prieigos taško"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -849,27 +847,27 @@ msgid "All"
|
||||
msgstr "Visos"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2450 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Atverti langai"
|
||||
|
||||
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2470 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Naujas langas"
|
||||
|
||||
#: js/ui/appDisplay.js:2485
|
||||
#: js/ui/appDisplay.js:2481
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Paleisti naudojant dedikuotą grafikos kortą"
|
||||
|
||||
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2509 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Pašalinti iš mėgstamų"
|
||||
|
||||
#: js/ui/appDisplay.js:2519
|
||||
#: js/ui/appDisplay.js:2515
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Pridėti prie mėgstamų"
|
||||
|
||||
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2525 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Rodyti detalią informaciją"
|
||||
|
||||
@@ -1094,37 +1092,32 @@ msgstr ""
|
||||
"Taip pat galite prisijungti paspausdami „WPS“ mygtuką savo maršrutizatoriuje."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Prisijungti"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
#| msgid "Key: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Raktas"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
#| msgid "Private key password: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Privataus rakto slaptažodis"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
#| msgid "Identity: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Tapatybė"
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
#| msgid "Service: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Tarnyba"
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Reikia patvirtinti tapatybę"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1133,44 +1126,42 @@ msgstr ""
|
||||
"Slaptažodžiai arba šifravimo raktai yra būtini priėjimui prie belaidžio "
|
||||
"tinklo „%s“."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Laidinis 802.1X tapatybės patvirtinimas"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
#| msgid "Network name: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Tinklo vardas"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL tapatybės patvirtinimas"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "Reikalingas PIN kodas"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Reikalingas PIN kodas mobiliajam plačiajuosčiam įrenginiui"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
#| msgid "PIN: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Būtinas slaptažodis norint prisijungti prie „%s“."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Tinklo tvarkymas"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "VPN slaptažodis"
|
||||
|
||||
@@ -1414,15 +1405,15 @@ msgstr "%s (nutolęs)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (komandų eilutė)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Įdiegti"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Išdiegti plėtinį"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
|
||||
@@ -1510,13 +1501,13 @@ msgid "Leave On"
|
||||
msgstr "Palikti įjungtą"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Įjungti"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1530,59 +1521,59 @@ msgstr "Palikti išjungtą"
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "Regiono ir kalbos nustatymai"
|
||||
|
||||
#: js/ui/lookingGlass.js:659
|
||||
#: js/ui/lookingGlass.js:665
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nėra įdiegtų plėtinių"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: js/ui/lookingGlass.js:714
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s nepranešė apie jokias klaidas."
|
||||
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#: js/ui/lookingGlass.js:726
|
||||
msgid "Hide Errors"
|
||||
msgstr "Slėpti klaidas"
|
||||
|
||||
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789
|
||||
#: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
|
||||
msgid "Show Errors"
|
||||
msgstr "Rodyti klaidas"
|
||||
|
||||
#: js/ui/lookingGlass.js:733
|
||||
#: js/ui/lookingGlass.js:739
|
||||
msgid "Enabled"
|
||||
msgstr "Įjungta"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
#: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
msgid "Disabled"
|
||||
msgstr "Išjungta"
|
||||
|
||||
#: js/ui/lookingGlass.js:738
|
||||
#: js/ui/lookingGlass.js:744
|
||||
msgid "Error"
|
||||
msgstr "Klaida"
|
||||
|
||||
#: js/ui/lookingGlass.js:740
|
||||
#: js/ui/lookingGlass.js:746
|
||||
msgid "Out of date"
|
||||
msgstr "Pasenęs"
|
||||
|
||||
#: js/ui/lookingGlass.js:742
|
||||
#: js/ui/lookingGlass.js:748
|
||||
msgid "Downloading"
|
||||
msgstr "Atsiunčiama"
|
||||
|
||||
#: js/ui/lookingGlass.js:771
|
||||
#: js/ui/lookingGlass.js:777
|
||||
msgid "View Source"
|
||||
msgstr "Žiūrėti šaltinį"
|
||||
|
||||
#: js/ui/lookingGlass.js:780
|
||||
#: js/ui/lookingGlass.js:786
|
||||
msgid "Web Page"
|
||||
msgstr "Tinklalapis"
|
||||
|
||||
#: js/ui/main.js:267
|
||||
#: js/ui/main.js:269
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Prisijungta privilegijuotu naudotoju"
|
||||
|
||||
#: js/ui/main.js:268
|
||||
#: js/ui/main.js:270
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1590,15 +1581,15 @@ msgstr ""
|
||||
"Saugumo sumetimais turėtų būti vengiama vykdyti seansus privilegijuotais "
|
||||
"naudotojais. Jei įmanoma, turėtumėt visada prisjungti normaliu naudotoju."
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:276
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Ekrano užraktas išjungtas"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:277
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Ekrano užrakinimas reikalaujas GNOME vaizduoklio valdyklės."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Sistemos informacija"
|
||||
|
||||
@@ -1625,7 +1616,6 @@ msgstr "Apžvalga"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
#| msgid "Type to search…"
|
||||
msgid "Type to search"
|
||||
msgstr "Rašykite, ko ieškote"
|
||||
|
||||
@@ -1653,23 +1643,23 @@ msgstr "Priskirti klavišų kombinaciją"
|
||||
msgid "Done"
|
||||
msgstr "Atlikta"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Keisti…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Nėra"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Spauskite mygtuką konfigūravimui"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Spauskit Esc išėjimui"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Išėjimui spauskite bet kurį klavišą"
|
||||
|
||||
@@ -1683,12 +1673,12 @@ msgstr "Užverti"
|
||||
msgid "Activities"
|
||||
msgstr "Apžvalga"
|
||||
|
||||
#: js/ui/panel.js:707
|
||||
#: js/ui/panel.js:713
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: js/ui/panel.js:820
|
||||
#: js/ui/panel.js:826
|
||||
msgid "Top Bar"
|
||||
msgstr "Viršutinė juosta"
|
||||
|
||||
@@ -1719,11 +1709,11 @@ msgstr "GNOME aplinkai reikia užrakinti ekraną"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Nepavyksta užrakinti"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Programa užblokavo užrakinimą"
|
||||
|
||||
@@ -1785,7 +1775,6 @@ msgstr ""
|
||||
"įrankį."
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
#| msgid "Enter PIM Number…"
|
||||
msgid "PIM Number"
|
||||
msgstr "PIM numeris"
|
||||
|
||||
@@ -1867,7 +1856,7 @@ msgstr "Didelis tekstas"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth nustatymai"
|
||||
|
||||
@@ -1912,11 +1901,11 @@ msgstr "Antrinis paspaudimas"
|
||||
msgid "Dwell Click"
|
||||
msgstr "Uždelstas paspaudimas"
|
||||
|
||||
#: js/ui/status/keyboard.js:825
|
||||
#: js/ui/status/keyboard.js:826
|
||||
msgid "Keyboard"
|
||||
msgstr "Klaviatūra"
|
||||
|
||||
#: js/ui/status/keyboard.js:847
|
||||
#: js/ui/status/keyboard.js:848
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Rodyti klaviatūros išdėstymą"
|
||||
|
||||
@@ -1963,7 +1952,7 @@ msgid "<unknown>"
|
||||
msgstr "<nežinoma>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s išjungtas"
|
||||
@@ -1989,7 +1978,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "Atsijungiama nuo %s"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "Jungiamasi prie %s"
|
||||
@@ -2029,7 +2018,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Mobiliojo plačiajuosčio tinklo nustatymai"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s aparatinė įranga išjungta"
|
||||
@@ -2041,100 +2030,100 @@ msgstr "%s aparatinė įranga išjungta"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s išjungtas"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Prisijungti prie interneto"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Skrydžio veiksena įjungta"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Belaidis ryšys yra išjungta skrydžio veiksenoje."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Išjungti skrydžio veikseną"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Belaidžio ryšys išjungtas"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Norint prisijungti prie tinklo reikia įjungti belaidį ryšį."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Įjungti belaidį ryšį"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Wi-Fi tinklai"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Pasirinkite tinklą"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Nėra tinklų"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Išjungimui naudoti aparatinį jungiklį"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Pasirinkite tinklą"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Belaidžio ryšio nustatymai"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Prieigos taškas %s aktyvus"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "Neprisijungta prie %s"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "jungiamasi…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "reikia patvirtinti tapatybę"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "nepavyko prisijungti"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPN nustatymai"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN išjungtas"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Tinklo nustatymai"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
@@ -2142,7 +2131,7 @@ msgstr[0] "%s laidinis ryšys"
|
||||
msgstr[1] "%s laidiniai ryšiai"
|
||||
msgstr[2] "%s laidinių ryšių"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
@@ -2150,7 +2139,7 @@ msgstr[0] "%s belaidis ryšys"
|
||||
msgstr[1] "%s belaidžiai ryšiai"
|
||||
msgstr[2] "%s belaidžių ryšių"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
@@ -2158,11 +2147,11 @@ msgstr[0] "%s modemo ryšys"
|
||||
msgstr[1] "%s modemo ryšiai"
|
||||
msgstr[2] "%s modemo ryšių"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Nepavyko prisijungti"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Tinklo ryšio nepavyko aktyvuoti"
|
||||
|
||||
@@ -2260,11 +2249,11 @@ msgstr "Išjungti…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Nežinoma Thunderbolt įrenginys"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2272,20 +2261,20 @@ msgstr ""
|
||||
"Jums nesant aptiktas naujas įrenginys. Atjunkite ir vėl prijunkite įrenginį, "
|
||||
"jei norite jį naudoti."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Neleidžiamas Thunderbolt įrenginys"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr "Buvo aptiktas naujas įrenginys, kurį turi leisti administratorius."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Thunderbolt autorizacijos klaida"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Nepavyko autorizuoti Thunderbolt įrenginio: %s"
|
||||
@@ -2326,10 +2315,30 @@ msgstr "Tik išorinis"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Tik vidinis"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:370
|
||||
#| msgctxt "calendar heading"
|
||||
#| msgid "%A, %B %-d"
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A %B %-d"
|
||||
|
||||
#: js/ui/unlockDialog.js:376
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Atrakinkite perbraukdami"
|
||||
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Atrakinkite mygtuko ar klavišo paspaudimu"
|
||||
|
||||
#: js/ui/unlockDialog.js:549
|
||||
msgid "Unlock Window"
|
||||
msgstr "Atrakinimo langas"
|
||||
|
||||
#: js/ui/unlockDialog.js:558
|
||||
msgid "Log in as another user"
|
||||
msgstr "Prisijungti kitu naudotoju"
|
||||
|
||||
#: js/ui/viewSelector.js:181
|
||||
msgid "Applications"
|
||||
msgstr "Programos"
|
||||
@@ -2369,7 +2378,7 @@ msgstr[2] "Pakeitimai bus grąžinti po %d sekundžių"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2630,7 +2639,6 @@ msgid "Show extensions with preferences"
|
||||
msgstr "Rodyti plėtinius su nuostatomis"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:140
|
||||
#| msgid "Show extensions with preferences"
|
||||
msgid "Show extensions with updates"
|
||||
msgstr "Rodyti plėtinius su atnaujinimais"
|
||||
|
||||
@@ -2851,9 +2859,6 @@ msgstr "Sistemos garsai"
|
||||
#~ msgstr[1] "%d nauji pranešimai"
|
||||
#~ msgstr[2] "%d naujų pranešimų"
|
||||
|
||||
#~ msgid "Log in as another user"
|
||||
#~ msgstr "Prisijungti kitu naudotoju"
|
||||
|
||||
#~ msgid "Logout…"
|
||||
#~ msgstr "Atsijungti…"
|
||||
|
||||
|
241
po/pl.po
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-17 11:08+0000\n"
|
||||
"PO-Revision-Date: 2020-02-17 17:22+0100\n"
|
||||
"POT-Creation-Date: 2020-02-27 21:57+0000\n"
|
||||
"PO-Revision-Date: 2020-02-29 13:09+0100\n"
|
||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||
"Language-Team: Polish <community-poland@mozilla.org>\n"
|
||||
"Language: pl\n"
|
||||
@@ -416,11 +416,11 @@ msgstr ""
|
||||
"Po usunięciu rozszerzenia jego ponowne włączenie będzie wymagało pobrania od "
|
||||
"nowa"
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:135
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:107
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:165 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
@@ -555,10 +555,10 @@ msgid "Log Out…"
|
||||
msgstr "Wyloguj się…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:214 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:259 js/ui/components/networkAgent.js:279
|
||||
#: js/ui/components/networkAgent.js:289 js/ui/components/polkitAgent.js:277
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
@@ -581,8 +581,8 @@ msgstr "(np. użytkownik lub %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:234
|
||||
#: js/ui/components/networkAgent.js:257 js/ui/components/networkAgent.js:275
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Nazwa użytkownika"
|
||||
|
||||
@@ -824,11 +824,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%-d %B %Y, %-l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Logowanie do hotspotu"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -863,27 +863,27 @@ msgid "All"
|
||||
msgstr "Wszystkie"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2450 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Otwarte okna"
|
||||
|
||||
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2470 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Nowe okno"
|
||||
|
||||
#: js/ui/appDisplay.js:2485
|
||||
#: js/ui/appDisplay.js:2481
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Uruchom za pomocą dedykowanej karty graficznej"
|
||||
|
||||
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2509 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Usuń z ulubionych"
|
||||
|
||||
#: js/ui/appDisplay.js:2519
|
||||
#: js/ui/appDisplay.js:2515
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Dodaj do ulubionych"
|
||||
|
||||
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2525 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Wyświetl szczegóły"
|
||||
|
||||
@@ -1105,33 +1105,32 @@ msgid ""
|
||||
msgstr "Można także połączyć naciskając przycisk „WPS” na routerze."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Połącz"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Klucz"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Hasło klucza prywatnego"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Tożsamość"
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Usługa"
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Wymagane jest uwierzytelnienie"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1140,42 +1139,42 @@ msgstr ""
|
||||
"Do uzyskania dostępu do sieci bezprzewodowej „%s” wymagane jest hasło lub "
|
||||
"klucze szyfrowania."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Uwierzytelnianie przewodowe 802.1X"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Nazwa sieci"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "Uwierzytelnienie DSL"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "Wymagany jest kod PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Do korzystania z urządzenia komórkowego wymagane jest podanie kodu PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "Kod PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Do połączenia z siecią „%s” wymagane jest hasło."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Menedżer sieci"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "Hasło sieci VPN"
|
||||
|
||||
@@ -1422,15 +1421,15 @@ msgstr "%s (zdalnie)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (konsola)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Zainstaluj"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Instalacja rozszerzenia"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr ""
|
||||
@@ -1519,13 +1518,13 @@ msgid "Leave On"
|
||||
msgstr "Pozostaw włączone"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Włącz"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1539,59 +1538,59 @@ msgstr "Pozostaw wyłączone"
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "Ustawienia regionu i języka"
|
||||
|
||||
#: js/ui/lookingGlass.js:659
|
||||
#: js/ui/lookingGlass.js:665
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nie zainstalowano rozszerzeń"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: js/ui/lookingGlass.js:714
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "Rozszerzenie „%s” nie wysłało żadnych błędów."
|
||||
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#: js/ui/lookingGlass.js:726
|
||||
msgid "Hide Errors"
|
||||
msgstr "Ukryj błędy"
|
||||
|
||||
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789
|
||||
#: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
|
||||
msgid "Show Errors"
|
||||
msgstr "Wyświetl błędy"
|
||||
|
||||
#: js/ui/lookingGlass.js:733
|
||||
#: js/ui/lookingGlass.js:739
|
||||
msgid "Enabled"
|
||||
msgstr "Włączone"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
#: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
msgid "Disabled"
|
||||
msgstr "Wyłączone"
|
||||
|
||||
#: js/ui/lookingGlass.js:738
|
||||
#: js/ui/lookingGlass.js:744
|
||||
msgid "Error"
|
||||
msgstr "Błąd"
|
||||
|
||||
#: js/ui/lookingGlass.js:740
|
||||
#: js/ui/lookingGlass.js:746
|
||||
msgid "Out of date"
|
||||
msgstr "Nieaktualne"
|
||||
|
||||
#: js/ui/lookingGlass.js:742
|
||||
#: js/ui/lookingGlass.js:748
|
||||
msgid "Downloading"
|
||||
msgstr "Pobieranie"
|
||||
|
||||
#: js/ui/lookingGlass.js:771
|
||||
#: js/ui/lookingGlass.js:777
|
||||
msgid "View Source"
|
||||
msgstr "Wyświetl źródło"
|
||||
|
||||
#: js/ui/lookingGlass.js:780
|
||||
#: js/ui/lookingGlass.js:786
|
||||
msgid "Web Page"
|
||||
msgstr "Strona WWW"
|
||||
|
||||
#: js/ui/main.js:267
|
||||
#: js/ui/main.js:269
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Zalogowano jako uprawniony użytkownik"
|
||||
|
||||
#: js/ui/main.js:268
|
||||
#: js/ui/main.js:270
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1599,15 +1598,15 @@ msgstr ""
|
||||
"Należy unikać działania jako uprawniony użytkownik z powodów bezpieczeństwa. "
|
||||
"Jeśli to możliwe, należy zalogować się jako zwykły użytkownik."
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:276
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Blokada ekranu jest wyłączona"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:277
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Blokowanie ekranu wymaga menedżera wyświetlania GNOME."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Informacje systemowe"
|
||||
|
||||
@@ -1661,23 +1660,23 @@ msgstr "Przydzielenie klawiszy"
|
||||
msgid "Done"
|
||||
msgstr "Gotowe"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Modyfikuj…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Brak"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Naciśnięcie przycisku skonfiguruje"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Klawisz Esc zakończy"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Naciśnięcie dowolnego przycisku zakończy"
|
||||
|
||||
@@ -1691,12 +1690,12 @@ msgstr "Zakończ"
|
||||
msgid "Activities"
|
||||
msgstr "Podgląd"
|
||||
|
||||
#: js/ui/panel.js:707
|
||||
#: js/ui/panel.js:713
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Menu systemowe"
|
||||
|
||||
#: js/ui/panel.js:820
|
||||
#: js/ui/panel.js:826
|
||||
msgid "Top Bar"
|
||||
msgstr "Górny pasek"
|
||||
|
||||
@@ -1727,11 +1726,11 @@ msgstr "Środowisko GNOME musi zablokować ekran"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Nie można zablokować"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Blokowanie zostało zablokowane przez program"
|
||||
|
||||
@@ -1874,7 +1873,7 @@ msgstr "Duży tekst"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Ustawienia Bluetooth"
|
||||
|
||||
@@ -1919,11 +1918,11 @@ msgstr "Kliknięcie pomocnicze"
|
||||
msgid "Dwell Click"
|
||||
msgstr "Kliknięcie spoczynkowe"
|
||||
|
||||
#: js/ui/status/keyboard.js:825
|
||||
#: js/ui/status/keyboard.js:826
|
||||
msgid "Keyboard"
|
||||
msgstr "Klawiatura"
|
||||
|
||||
#: js/ui/status/keyboard.js:847
|
||||
#: js/ui/status/keyboard.js:848
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Wyświetl układ klawiatury"
|
||||
|
||||
@@ -1971,7 +1970,7 @@ msgid "<unknown>"
|
||||
msgstr "<nieznane>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "Wyłączono sieć %s"
|
||||
@@ -1997,7 +1996,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "Rozłączanie z sieci %s"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "Łączenie z siecią %s"
|
||||
@@ -2037,7 +2036,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Ustawienia sieci komórkowej"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "Wyłączono sprzęt dla sieci %s"
|
||||
@@ -2049,100 +2048,100 @@ msgstr "Wyłączono sprzęt dla sieci %s"
|
||||
msgid "%s Disabled"
|
||||
msgstr "Wyłączono sieć %s"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Połącz z Internetem"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Tryb samolotowy jest włączony"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Sieć Wi-Fi jest wyłączona, kiedy tryb samolotowy jest włączony."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Wyłącz tryb samolotowy"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Sieć Wi-Fi jest wyłączona"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Wi-Fi musi być włączone, aby połączyć z siecią."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Włącz sieć Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Sieci Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Wybór sieci"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Brak sieci"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Należy użyć przełącznika sprzętowego, aby wyłączyć"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Wybierz sieć"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Ustawienia sieci Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Hotspot %s jest włączony"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "Nie połączono z siecią %s"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "łączenie…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "wymagane jest uwierzytelnienie"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "połączenie się nie powiodło"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "Ustawienia sieci VPN"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "Wyłączono sieć VPN"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Ustawienia sieci"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
@@ -2150,7 +2149,7 @@ msgstr[0] "%s połączenie przewodowe"
|
||||
msgstr[1] "%s połączenia przewodowe"
|
||||
msgstr[2] "%s połączeń przewodowych"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
@@ -2158,7 +2157,7 @@ msgstr[0] "%s połączenie Wi-Fi"
|
||||
msgstr[1] "%s połączenia Wi-Fi"
|
||||
msgstr[2] "%s połączeń Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
@@ -2166,11 +2165,11 @@ msgstr[0] "%s połączenie modemowe"
|
||||
msgstr[1] "%s połączenia modemowe"
|
||||
msgstr[2] "%s połączeń modemowych"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Połączenie się nie powiodło"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Włączenie połączenia sieciowego się nie powiodło"
|
||||
|
||||
@@ -2268,11 +2267,11 @@ msgstr "Wyłącz komputer…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Nieznane urządzenie Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2280,21 +2279,21 @@ msgstr ""
|
||||
"Podczas nieobecności wykryto nowe urządzenie. Proszę je rozłączyć "
|
||||
"i podłączyć ponownie, aby zacząć je używać."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Nieupoważnione urządzenie Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr ""
|
||||
"Wykryto nowe urządzenie, które musi zostać upoważnione przez administratora."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Błąd upoważnienia Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Nie można upoważnić urządzenia Thunderbolt: %s"
|
||||
@@ -2335,10 +2334,28 @@ msgstr "Tylko zewnętrzny"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Tylko wbudowany"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:370
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A, %-d %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:376
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Przeciągnięcie w górę odblokuje"
|
||||
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Kliknięcie lub naciśnięcie klawisza odblokuje"
|
||||
|
||||
#: js/ui/unlockDialog.js:549
|
||||
msgid "Unlock Window"
|
||||
msgstr "Okno odblokowania"
|
||||
|
||||
#: js/ui/unlockDialog.js:558
|
||||
msgid "Log in as another user"
|
||||
msgstr "Zaloguj jako inny użytkownik"
|
||||
|
||||
#: js/ui/viewSelector.js:181
|
||||
msgid "Applications"
|
||||
msgstr "Programy"
|
||||
@@ -2378,7 +2395,7 @@ msgstr[2] "Zmienione ustawienia zostaną przywrócone za %d sekund"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d×%d"
|
||||
|
265
po/pt_BR.po
@@ -24,8 +24,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-12 19:34+0000\n"
|
||||
"PO-Revision-Date: 2020-02-13 11:08-0300\n"
|
||||
"POT-Creation-Date: 2020-02-17 22:27+0000\n"
|
||||
"PO-Revision-Date: 2020-02-20 07:50-0300\n"
|
||||
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
|
||||
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
@@ -437,9 +437,9 @@ msgstr ""
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@@ -569,6 +569,15 @@ msgstr ""
|
||||
msgid "Log Out…"
|
||||
msgstr "Encerrar sessão…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Senha"
|
||||
|
||||
#: js/gdm/loginDialog.js:318
|
||||
msgid "Choose Session"
|
||||
msgstr "Escolher sessão"
|
||||
@@ -584,12 +593,16 @@ msgstr "Não está listado?"
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(ex.: usuário ou %s)"
|
||||
|
||||
#: js/gdm/loginDialog.js:917
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
#| msgid "Username: "
|
||||
msgid "Username…"
|
||||
msgstr "Nome de usuário…"
|
||||
msgid "Username"
|
||||
msgstr "Nome de usuário"
|
||||
|
||||
#: js/gdm/loginDialog.js:1252
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "Janela de sessão"
|
||||
|
||||
@@ -814,11 +827,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%-d de %B de %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Autenticação de ponto de acesso"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -1100,48 +1113,36 @@ msgstr ""
|
||||
"roteador."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/ui/components/networkAgent.js:202 js/ui/components/networkAgent.js:214
|
||||
#: js/ui/components/networkAgent.js:238 js/ui/components/networkAgent.js:259
|
||||
#: js/ui/components/networkAgent.js:279 js/ui/components/networkAgent.js:289
|
||||
msgid "Password: "
|
||||
msgstr "Senha: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
#| msgid "Key: "
|
||||
msgid "Key"
|
||||
msgstr "Chave"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
msgid "Key: "
|
||||
msgstr "Chave: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
#| msgid "Private key password: "
|
||||
msgid "Private key password"
|
||||
msgstr "Senha da chave privada"
|
||||
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/ui/components/networkAgent.js:234 js/ui/components/networkAgent.js:257
|
||||
#: js/ui/components/networkAgent.js:275
|
||||
msgid "Username: "
|
||||
msgstr "Nome de usuário: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
#| msgid "Identity: "
|
||||
msgid "Identity"
|
||||
msgstr "Identidade"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
msgid "Private key password: "
|
||||
msgstr "Senha da chave privada: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
#| msgid "Service: "
|
||||
msgid "Service"
|
||||
msgstr "Serviço"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
msgid "Identity: "
|
||||
msgstr "Identidade: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
msgid "Service: "
|
||||
msgstr "Serviço: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Autenticação necessária"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1150,42 +1151,44 @@ msgstr ""
|
||||
"Senhas ou chaves criptografadas são necessárias para acessar a rede sem fio "
|
||||
"“%s”."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Autenticação 802.1X cabeada"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
msgid "Network name: "
|
||||
msgstr "Nome da rede: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
#| msgid "Network name: "
|
||||
msgid "Network name"
|
||||
msgstr "Nome da rede"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "Autenticação DSL"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "Código PIN requisitado"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "O código PIN é necessário para o dispositivo móvel de banda larga"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
#| msgid "PIN: "
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Uma senha é necessária para se conectar a “%s”."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Gerenciador de rede"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "Senha de VPN"
|
||||
|
||||
@@ -1209,10 +1212,6 @@ msgstr "Autenticação"
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "Desculpe, isto não funcionou. Por favor, tente novamente."
|
||||
|
||||
#: js/ui/components/polkitAgent.js:277 js/ui/shellMountOperation.js:326
|
||||
msgid "Enter Password…"
|
||||
msgstr "Lembrar senha…"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
@@ -1428,15 +1427,15 @@ msgstr "%s (remoto)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (console)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Instalar"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Instalar extensão"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Baixar e instalar “%s” de extensions.gnome.org?"
|
||||
@@ -1526,13 +1525,13 @@ msgid "Leave On"
|
||||
msgstr "Deixar ativado"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Ligar"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1614,7 +1613,7 @@ msgstr "Bloqueio de tela desabilitado"
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "O bloqueio de tela requer o gerenciador de exibição do GNOME."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Informações do sistema"
|
||||
|
||||
@@ -1641,8 +1640,9 @@ msgstr "Panorama"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
msgid "Type to search…"
|
||||
msgstr "Digite para pesquisar…"
|
||||
#| msgid "Type to search…"
|
||||
msgid "Type to search"
|
||||
msgstr "Digite para pesquisar"
|
||||
|
||||
#: js/ui/padOsd.js:95
|
||||
msgid "New shortcut…"
|
||||
@@ -1668,23 +1668,23 @@ msgstr "Atribuir atalho"
|
||||
msgid "Done"
|
||||
msgstr "Concluído"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Editar…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Nenhum"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Pressione um botão para configurar"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Pressione Esc para sair"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Pressione qualquer tecla para sair"
|
||||
|
||||
@@ -1734,11 +1734,11 @@ msgstr "GNOME precisa bloquear a tela"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Não foi possível bloquear"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "O bloqueio foi impedido por um aplicativo"
|
||||
|
||||
@@ -1799,8 +1799,9 @@ msgstr ""
|
||||
"%s</i>."
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
msgid "Enter PIM Number…"
|
||||
msgstr "Insira um número PIM…"
|
||||
#| msgid "Enter PIM Number…"
|
||||
msgid "PIM Number"
|
||||
msgstr "Insira um número PIM"
|
||||
|
||||
#: js/ui/shellMountOperation.js:365
|
||||
msgid "Remember Password"
|
||||
@@ -1880,7 +1881,7 @@ msgstr "Texto grande"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Configurações de Bluetooth"
|
||||
|
||||
@@ -1977,7 +1978,7 @@ msgid "<unknown>"
|
||||
msgstr "<desconhecido>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s desligado"
|
||||
@@ -2004,7 +2005,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "Desconectando de %s"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "Conectando a %s"
|
||||
@@ -2044,7 +2045,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Configurações de banda larga móvel"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "Hardware de %s desabilitado"
|
||||
@@ -2056,125 +2057,125 @@ msgstr "Hardware de %s desabilitado"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s está desabilitado"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Conectar à Internet"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Modo avião ligado"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "O Wi-Fi é desabilitado quando o modo avião está ligado."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Desligar modo avião"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Wi-Fi desligado"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "O Wi-Fi precisa ser ligado a fim de conectar-se a uma rede."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Ligar Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Redes Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Selecione uma rede"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Nenhuma rede"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Usar alternador de hardware para desligar"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Selecione a rede"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Configurações de Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Ponto de acesso %s está ativo"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s não está conectado"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "conectando…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "autenticação necessária"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "conexão falhou"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "Configurações de VPN"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN desligada"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Configurações de rede"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s conexão cabeada"
|
||||
msgstr[1] "%s conexões cabeadas"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s conexão Wi-Fi"
|
||||
msgstr[1] "%s conexões Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s conexão por modem"
|
||||
msgstr[1] "%s conexões por modems"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Falha de conexão"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Falha ao ativar a conexão da rede"
|
||||
|
||||
@@ -2272,11 +2273,11 @@ msgstr "Desligar…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Dispositivo Thunderbolt desconhecido"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2284,22 +2285,22 @@ msgstr ""
|
||||
"Um novo dispositivo foi detectado enquanto você estava ausente. Por "
|
||||
"gentileza, desconecte e reconecte o dispositivo para começar a usá-lo."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Dispositivo Thunderbolt não autorizado"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr ""
|
||||
"Um novo dispositivo foi detectado e precisa ser autorizado por um "
|
||||
"administrador."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Erro de autorização de thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Não foi possível autorizar o dispositivo Thunderbolt: %s"
|
||||
@@ -2340,7 +2341,23 @@ msgstr "Externa apenas"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Interna apenas"
|
||||
|
||||
#: js/ui/unlockDialog.js:459
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
#| msgctxt "calendar heading"
|
||||
#| msgid "%A, %B %-d"
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A, %-d de %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Deslize para desbloquear"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Clique ou pressione uma tecla para desbloquear"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
msgid "Unlock Window"
|
||||
msgstr "Desbloquear janela"
|
||||
|
||||
@@ -2384,7 +2401,7 @@ msgstr[1] "Alterações nas configurações serão revertidas em %d segundos"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2647,7 +2664,6 @@ msgid "Show extensions with preferences"
|
||||
msgstr "Mostra extensões com preferências"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-list.c:140
|
||||
#| msgid "Show extensions with preferences"
|
||||
msgid "Show extensions with updates"
|
||||
msgstr "Mostra extensões com atualizações"
|
||||
|
||||
@@ -2838,6 +2854,16 @@ msgstr[1] "%u entradas"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sons do sistema"
|
||||
|
||||
#~| msgid "Username: "
|
||||
#~ msgid "Username…"
|
||||
#~ msgstr "Nome de usuário…"
|
||||
|
||||
#~ msgid "Password: "
|
||||
#~ msgstr "Senha: "
|
||||
|
||||
#~ msgid "Enter Password…"
|
||||
#~ msgstr "Lembrar senha…"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Próximo"
|
||||
|
||||
@@ -2876,9 +2902,6 @@ msgstr "Sons do sistema"
|
||||
#~ msgid "Mobile broadband network password"
|
||||
#~ msgstr "Senha da rede de banda larga móvel"
|
||||
|
||||
#~ msgid "Password"
|
||||
#~ msgstr "Senha"
|
||||
|
||||
#~ msgctxt "search-result"
|
||||
#~ msgid "Lock Orientation"
|
||||
#~ msgstr "Bloquear orientação"
|
||||
|
177
po/sr.po
@@ -11,8 +11,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-17 11:08+0000\n"
|
||||
"PO-Revision-Date: 2020-02-17 21:02+0100\n"
|
||||
"POT-Creation-Date: 2020-02-17 22:27+0000\n"
|
||||
"PO-Revision-Date: 2020-02-21 10:42+0100\n"
|
||||
"Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n"
|
||||
"Language-Team: српски <gnome-sr@googlegroups.org>\n"
|
||||
"Language: sr\n"
|
||||
@@ -413,9 +413,9 @@ msgstr ""
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Откажи"
|
||||
|
||||
@@ -554,9 +554,9 @@ msgstr "Одјава…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:214 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:259 js/ui/components/networkAgent.js:279
|
||||
#: js/ui/components/networkAgent.js:289 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Лозинка"
|
||||
@@ -579,8 +579,8 @@ msgstr "(нпр., корисник или %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:234
|
||||
#: js/ui/components/networkAgent.js:257 js/ui/components/networkAgent.js:275
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Корисник"
|
||||
|
||||
@@ -832,11 +832,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%-d .%B %Y., %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Пријава на врућу тачку"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -1115,33 +1115,32 @@ msgid ""
|
||||
msgstr "Или можете повезати притиском на дугме „WPS“, на вашем рутеру."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Повежи се"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Кључ"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Лозинка приватног кључа:"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Идентитет"
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Услуга"
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Потребно је потврђивање идентитета"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1149,42 +1148,42 @@ msgid ""
|
||||
msgstr ""
|
||||
"Потребне су лозинке или кључеви шифровања за приступ бежичној мрежи „%s“."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Потврђивање идентитета за жичану 802.1X везу"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Назив мреже"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "Потврђивање идентитета ДСЛ-а"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "Потребан је ПИН кôд"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Потребан је ПИН код за повезивање мобилног широкопојасног уређаја"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "ПИН"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Потребна је лозинка за повезивање на „%s“."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Управник мреже"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "ВПН лозинка"
|
||||
|
||||
@@ -1432,15 +1431,15 @@ msgstr "%s (удаљено)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (љуска)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Инсталирај"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Инсталирај проширење"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Да преузмем и да инсталирам „%s“ са „extensions.gnome.org“-а?"
|
||||
@@ -1528,13 +1527,13 @@ msgid "Leave On"
|
||||
msgstr "Остави укључено"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Укључи"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1616,7 +1615,7 @@ msgstr "Закључавање екрана онемогућено"
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Потребан је Гномов управник екрана за могућност закључавања екрана."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Подаци о систему"
|
||||
|
||||
@@ -1670,23 +1669,23 @@ msgstr "Додели тастер"
|
||||
msgid "Done"
|
||||
msgstr "Готово"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Уреди…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Ништа"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Притисните дугме да подесите"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Притисните „Есц“ да изађете"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Притисните неки тастер да изађете"
|
||||
|
||||
@@ -1736,11 +1735,11 @@ msgstr "Гном мора да закључа екран"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Не могу да закључам"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Неки програм је блокирао закључавање"
|
||||
|
||||
@@ -1884,7 +1883,7 @@ msgstr "Велики текст"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Блутут"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Подешавања Блутута"
|
||||
|
||||
@@ -1983,7 +1982,7 @@ msgid "<unknown>"
|
||||
msgstr "<непознато>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s искључено"
|
||||
@@ -2009,7 +2008,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "%s прекидање везе у току"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s повезивање у току"
|
||||
@@ -2049,7 +2048,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Подешавања мобилне широкопојасне везе"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s уређај искључен"
|
||||
@@ -2061,100 +2060,100 @@ msgstr "%s уређај искључен"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s искључено"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Повежи се на Интернет"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Авионски режим рада је укључен"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Бежична веза је искључена када је укључен авионски режим рада."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Искључи авионски режим рада"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Бежична веза је искључена"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Бежична веза треба бити укључена да бисте се повезали на мрежу."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Укључи бежичну везу"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Бежичне мреже"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Изаберите мрежу"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Нема мрежа"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Користи физички прекидач за искључивање"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Изабери мрежу"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Подешавања бежичне везе"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s хотспот укључен"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s неповезано"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "повезујем се…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "потребна је пријава"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "повезивање није успело"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "ВПН подешавања"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "ВПН"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "Искључи ВПН"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Подешавања мреже"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
@@ -2163,7 +2162,7 @@ msgstr[1] "%s жичане везе"
|
||||
msgstr[2] "%s жичаних веза"
|
||||
msgstr[3] "%s жичана веза"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
@@ -2172,7 +2171,7 @@ msgstr[1] "%s бежичне везе"
|
||||
msgstr[2] "%s бежичних веза"
|
||||
msgstr[3] "%s бежична веза"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
@@ -2181,11 +2180,11 @@ msgstr[1] "%s модемске везе"
|
||||
msgstr[2] "%s модемских веза"
|
||||
msgstr[3] "%s модемска веза"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Повезивање није успело"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Активирање мрежне везе није успело"
|
||||
|
||||
@@ -2284,11 +2283,11 @@ msgstr "Искључи…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Тандерболт"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Непознат Тандерболт уређај"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2296,21 +2295,21 @@ msgstr ""
|
||||
"Нови уређај је уочен док нисте били ту. Поново повежите уређај да бисте "
|
||||
"почели да га користите."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Неовлашћени Тандерболт уређај"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr ""
|
||||
"Уочен је нови уређај и потребно је да администратор овласти његову употребу."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Грешка у овлашћивању Тандерболта"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Не могу да овластим Тандерболт уређај: %s"
|
||||
@@ -2351,6 +2350,20 @@ msgstr "Само спољни"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Само уграђени"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A, %-d. %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Превуци за откључавање"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Кликни или притисни тастер за откључавање"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
msgid "Unlock Window"
|
||||
msgstr "Откључај прозор"
|
||||
@@ -2395,7 +2408,7 @@ msgstr[3] "Измене подешавања ће бити враћене за %
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
|
255
po/sv.po
@@ -11,8 +11,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-12 19:34+0000\n"
|
||||
"PO-Revision-Date: 2020-02-13 21:18+0100\n"
|
||||
"POT-Creation-Date: 2020-02-17 22:27+0000\n"
|
||||
"PO-Revision-Date: 2020-02-18 22:00+0100\n"
|
||||
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
|
||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||
"Language: sv\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: Poedit 2.2.4\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
|
||||
#: data/50-gnome-shell-system.xml:6
|
||||
msgid "System"
|
||||
@@ -411,9 +411,9 @@ msgstr ""
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
@@ -546,6 +546,15 @@ msgstr ""
|
||||
msgid "Log Out…"
|
||||
msgstr "Logga ut…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Lösenord"
|
||||
|
||||
#: js/gdm/loginDialog.js:318
|
||||
msgid "Choose Session"
|
||||
msgstr "Välj session"
|
||||
@@ -561,11 +570,15 @@ msgstr "Inte listad?"
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(till exempel användare eller %s)"
|
||||
|
||||
#: js/gdm/loginDialog.js:917
|
||||
msgid "Username…"
|
||||
msgstr "Användarnamn…"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Användarnamn"
|
||||
|
||||
#: js/gdm/loginDialog.js:1252
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "Inloggningsfönster"
|
||||
|
||||
@@ -792,11 +805,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%-d %B %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Surfzonsinloggning"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -1077,48 +1090,32 @@ msgstr ""
|
||||
"Alternativt kan du ansluta genom att trycka på ”WPS”-knappen på din router."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Anslut"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/ui/components/networkAgent.js:202 js/ui/components/networkAgent.js:214
|
||||
#: js/ui/components/networkAgent.js:238 js/ui/components/networkAgent.js:259
|
||||
#: js/ui/components/networkAgent.js:279 js/ui/components/networkAgent.js:289
|
||||
msgid "Password: "
|
||||
msgstr "Lösenord: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Nyckel"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
msgid "Key: "
|
||||
msgstr "Nyckel: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Lösenord för privat nyckel"
|
||||
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/ui/components/networkAgent.js:234 js/ui/components/networkAgent.js:257
|
||||
#: js/ui/components/networkAgent.js:275
|
||||
msgid "Username: "
|
||||
msgstr "Användarnamn: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Identitet"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
msgid "Private key password: "
|
||||
msgstr "Lösenord för privat nyckel: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Tjänst"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
msgid "Identity: "
|
||||
msgstr "Identitet: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
msgid "Service: "
|
||||
msgstr "Tjänst: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Autentisering krävs"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1127,42 +1124,42 @@ msgstr ""
|
||||
"Lösenord eller krypteringsnycklar krävs för att komma åt det trådlösa "
|
||||
"nätverket ”%s”."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Trådbunden 802.1X-autentisering"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
msgid "Network name: "
|
||||
msgstr "Nätverksnamn: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Nätverksnamn"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-autentisering"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-kod krävs"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "PIN-koden krävs för den mobila bredbandsenheten"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
msgid "PIN: "
|
||||
msgstr "PIN-kod: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Ett lösenord krävs för att ansluta till ”%s”."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Nätverkshanterare"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "VPN-lösenord"
|
||||
|
||||
@@ -1186,10 +1183,6 @@ msgstr "Autentisera"
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "Tyvärr, det fungerade inte. Försök igen."
|
||||
|
||||
#: js/ui/components/polkitAgent.js:277 js/ui/shellMountOperation.js:326
|
||||
msgid "Enter Password…"
|
||||
msgstr "Ange lösenord…"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
@@ -1406,15 +1399,15 @@ msgstr "%s (fjärransluten)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (konsol)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Installera"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Installera tillägg"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Hämta och installera ”%s” från extensions.gnome.org?"
|
||||
@@ -1503,13 +1496,13 @@ msgid "Leave On"
|
||||
msgstr "Lämna påslagen"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Slå på"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1591,7 +1584,7 @@ msgstr "Skärmlås inaktiverat"
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Skärmlås kräver GNOME:s displayhanterare."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformation"
|
||||
|
||||
@@ -1618,8 +1611,8 @@ msgstr "Översikt"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
msgid "Type to search…"
|
||||
msgstr "Skriv för att söka…"
|
||||
msgid "Type to search"
|
||||
msgstr "Skriv för att söka"
|
||||
|
||||
#: js/ui/padOsd.js:95
|
||||
msgid "New shortcut…"
|
||||
@@ -1645,23 +1638,23 @@ msgstr "Tilldela tangenttryckning"
|
||||
msgid "Done"
|
||||
msgstr "Färdig"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Redigera…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Ingen"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Tryck på en knapp för att konfigurera"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Tryck Esc för att avsluta"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Tryck på valfri tangent för att avsluta"
|
||||
|
||||
@@ -1711,11 +1704,11 @@ msgstr "GNOME behöver låsa skärmen"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Kunde inte låsa"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Låsning hindrades av ett program"
|
||||
|
||||
@@ -1776,8 +1769,8 @@ msgstr ""
|
||||
"i> istället."
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
msgid "Enter PIM Number…"
|
||||
msgstr "Ange PIM-nummer…"
|
||||
msgid "PIM Number"
|
||||
msgstr "PIM-nummer"
|
||||
|
||||
#: js/ui/shellMountOperation.js:365
|
||||
msgid "Remember Password"
|
||||
@@ -1857,7 +1850,7 @@ msgstr "Stor text"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Inställningar för Bluetooth"
|
||||
|
||||
@@ -1952,7 +1945,7 @@ msgid "<unknown>"
|
||||
msgstr "<okänd>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s avslagen"
|
||||
@@ -1978,7 +1971,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "%s kopplar från"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s ansluter"
|
||||
@@ -2018,7 +2011,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Inställningar för mobilt bredband"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "Hårdvara för %s inaktiverad"
|
||||
@@ -2030,126 +2023,126 @@ msgstr "Hårdvara för %s inaktiverad"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s inaktiverad"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Anslut till internet"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Flygplansläge är på"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Trådlöst nätverk är avslaget när flygplansläge är på."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Slå av flygplansläge"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Trådlöst nätverk är av"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr ""
|
||||
"Trådlöst nätverk behöver slås på för att kunna ansluta till ett nätverk."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Slå på trådlöst nätverk"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Trådlösa nätverk"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Välj ett nätverk"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Inga nätverk"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Använd hårdvarubrytare för att slå av"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Välj nätverk"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Inställningar för trådlösa nätverk"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Surfzon för %s aktiv"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s ej ansluten"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "ansluter…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "autentisering krävs"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "anslutningen misslyckades"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPN-inställningar"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN avslaget"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Nätverksinställningar"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s trådbunden anslutning"
|
||||
msgstr[1] "%s trådbundna anslutningar"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s trådlös anslutning"
|
||||
msgstr[1] "%s trådlösa anslutningar"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s modemanslutning"
|
||||
msgstr[1] "%s modemanslutningar"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Anslutningen misslyckades"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivering av nätverksanslutning misslyckades"
|
||||
|
||||
@@ -2247,11 +2240,11 @@ msgstr "Stäng av…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Okänd Thunderbolt-enhet"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2259,21 +2252,21 @@ msgstr ""
|
||||
"En ny enhet har upptäckts medan du var borta. Koppla från och anslut enheten "
|
||||
"igen för att börja använda den."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Ej auktoriserad Thunderbolt-enhet"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr ""
|
||||
"En ny enhet har upptäckts och behöver auktoriseras av en administratör."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Thunderbolt-auktoriseringsfel"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Kunde inte auktorisera Thunderbolt-enheten: %s"
|
||||
@@ -2314,7 +2307,21 @@ msgstr "Extern skärm"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Inbyggd skärm"
|
||||
|
||||
#: js/ui/unlockDialog.js:459
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A %-d %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Svep uppåt för att låsa upp"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Klicka eller tryck på en tangent för att låsa upp"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
msgid "Unlock Window"
|
||||
msgstr "Lås upp fönster"
|
||||
|
||||
@@ -2356,7 +2363,7 @@ msgstr[1] "Inställningarna kommer återställas om %d sekunder"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2808,6 +2815,15 @@ msgstr[1] "%u ingångar"
|
||||
msgid "System Sounds"
|
||||
msgstr "Systemljud"
|
||||
|
||||
#~ msgid "Username…"
|
||||
#~ msgstr "Användarnamn…"
|
||||
|
||||
#~ msgid "Password: "
|
||||
#~ msgstr "Lösenord: "
|
||||
|
||||
#~ msgid "Enter Password…"
|
||||
#~ msgstr "Ange lösenord…"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Nästa"
|
||||
|
||||
@@ -2856,9 +2872,6 @@ msgstr "Systemljud"
|
||||
#~ msgid "Mobile broadband network password"
|
||||
#~ msgstr "Lösenord för mobilt bredbandsnätverk"
|
||||
|
||||
#~ msgid "Password"
|
||||
#~ msgstr "Lösenord"
|
||||
|
||||
#~ msgid "Rename"
|
||||
#~ msgstr "Byt namn"
|
||||
|
||||
|
314
po/tr.po
@@ -17,8 +17,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-12 22:04+0000\n"
|
||||
"PO-Revision-Date: 2020-02-13 20:40+0300\n"
|
||||
"POT-Creation-Date: 2020-02-24 12:37+0000\n"
|
||||
"PO-Revision-Date: 2020-02-18 19:18+0300\n"
|
||||
"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
|
||||
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
|
||||
"Language: tr\n"
|
||||
@@ -26,7 +26,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: data/50-gnome-shell-system.xml:6
|
||||
@@ -425,11 +425,11 @@ msgstr ""
|
||||
"Uzantıyı kaldırırsanız, yeniden etkinleştirmek istediğinizde yeniden "
|
||||
"indirmeniz gerekir"
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:166
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:910
|
||||
#: js/extensionPrefs/main.js:144 js/gdm/authPrompt.js:135
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:107
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:165 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
@@ -559,6 +559,15 @@ msgstr ""
|
||||
msgid "Log Out…"
|
||||
msgstr "Oturumu Kapat…"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Parola"
|
||||
|
||||
#: js/gdm/loginDialog.js:318
|
||||
msgid "Choose Session"
|
||||
msgstr "Oturum Seç"
|
||||
@@ -574,11 +583,15 @@ msgstr "Listede yok mu?"
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(örneğin, kullanıcı veya %s)"
|
||||
|
||||
#: js/gdm/loginDialog.js:917
|
||||
msgid "Username…"
|
||||
msgstr "Kullanıcı Adı…"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
msgid "Username"
|
||||
msgstr "Kullanıcı Adı"
|
||||
|
||||
#: js/gdm/loginDialog.js:1252
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "Oturum Açma Penceresi"
|
||||
|
||||
@@ -797,11 +810,11 @@ msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%-d %B %Y, %l∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:42
|
||||
#: js/portalHelper/main.js:41
|
||||
msgid "Hotspot Login"
|
||||
msgstr "Erişim Noktası Girişi"
|
||||
|
||||
#: js/portalHelper/main.js:88
|
||||
#: js/portalHelper/main.js:87
|
||||
msgid ""
|
||||
"Your connection to this hotspot login is not secure. Passwords or other "
|
||||
"information you enter on this page can be viewed by people nearby."
|
||||
@@ -837,27 +850,27 @@ msgid "All"
|
||||
msgstr "Tümü"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2450 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Açık Pencereler"
|
||||
|
||||
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2470 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Yeni Pencere"
|
||||
|
||||
#: js/ui/appDisplay.js:2485
|
||||
#: js/ui/appDisplay.js:2481
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Adanmış Ekran Kartıyla Başlat"
|
||||
|
||||
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2509 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Sık Kullanılanlardan Çıkar"
|
||||
|
||||
#: js/ui/appDisplay.js:2519
|
||||
#: js/ui/appDisplay.js:2515
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Sık Kullanılanlara Ekle"
|
||||
|
||||
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2525 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Ayrıntıları Göster"
|
||||
|
||||
@@ -1083,48 +1096,32 @@ msgstr ""
|
||||
"bağlayabilirsiniz."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:913
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Bağlan"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/ui/components/networkAgent.js:202 js/ui/components/networkAgent.js:214
|
||||
#: js/ui/components/networkAgent.js:238 js/ui/components/networkAgent.js:259
|
||||
#: js/ui/components/networkAgent.js:279 js/ui/components/networkAgent.js:289
|
||||
msgid "Password: "
|
||||
msgstr "Parola: "
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
msgid "Key"
|
||||
msgstr "Anahtar"
|
||||
|
||||
#. static WEP
|
||||
#: js/ui/components/networkAgent.js:207
|
||||
msgid "Key: "
|
||||
msgstr "Anahtar: "
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
msgid "Private key password"
|
||||
msgstr "Özel anahtar parolası"
|
||||
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/ui/components/networkAgent.js:234 js/ui/components/networkAgent.js:257
|
||||
#: js/ui/components/networkAgent.js:275
|
||||
msgid "Username: "
|
||||
msgstr "Kullanıcı Adı: "
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
msgid "Identity"
|
||||
msgstr "Kimlik"
|
||||
|
||||
#: js/ui/components/networkAgent.js:242 js/ui/components/networkAgent.js:265
|
||||
msgid "Private key password: "
|
||||
msgstr "Özel anahtar parolası: "
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
msgid "Service"
|
||||
msgstr "Hizmet"
|
||||
|
||||
#: js/ui/components/networkAgent.js:263
|
||||
msgid "Identity: "
|
||||
msgstr "Kimlik: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:277
|
||||
msgid "Service: "
|
||||
msgstr "Hizmet: "
|
||||
|
||||
#: js/ui/components/networkAgent.js:306 js/ui/components/networkAgent.js:334
|
||||
#: js/ui/components/networkAgent.js:681 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
msgid "Authentication required"
|
||||
msgstr "Kimlik doğrulama gerekir"
|
||||
|
||||
#: js/ui/components/networkAgent.js:307 js/ui/components/networkAgent.js:682
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1132,42 +1129,42 @@ msgid ""
|
||||
msgstr ""
|
||||
"“%s” kablosuz ağına erişmek için parola veya şifreleme anahtarları gerekiyor."
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Kablolu 802.1X kimlik doğrulaması"
|
||||
|
||||
#: js/ui/components/networkAgent.js:313
|
||||
msgid "Network name: "
|
||||
msgstr "Ağ adı: "
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
msgid "Network name"
|
||||
msgstr "Ağ adı"
|
||||
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL kimlik doğrulama"
|
||||
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:695
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN kodu gerekli"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Mobil geniş bant aygıtı için PIN kodu gerekli"
|
||||
|
||||
#: js/ui/components/networkAgent.js:327
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335 js/ui/components/networkAgent.js:687
|
||||
#: js/ui/components/networkAgent.js:691 js/ui/components/networkAgent.js:703
|
||||
#: js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "“%s”e bağlanmak için parola gerekli."
|
||||
|
||||
#: js/ui/components/networkAgent.js:670 js/ui/status/network.js:1688
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Ağ Yöneticisi"
|
||||
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
msgid "VPN password"
|
||||
msgstr "VPN parolası"
|
||||
|
||||
@@ -1191,10 +1188,6 @@ msgstr "Doğrula"
|
||||
msgid "Sorry, that didn’t work. Please try again."
|
||||
msgstr "Üzgünüm ama işe yaramadı. Lütfen yeniden deneyin."
|
||||
|
||||
#: js/ui/components/polkitAgent.js:277 js/ui/shellMountOperation.js:326
|
||||
msgid "Enter Password…"
|
||||
msgstr "Parola Gir…"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
@@ -1403,15 +1396,15 @@ msgstr "%s (uzak)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (uçbirim)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:170
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
msgid "Install"
|
||||
msgstr "Kur"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
msgid "Install Extension"
|
||||
msgstr "Uzantı Yükle"
|
||||
|
||||
#: js/ui/extensionDownloader.js:177
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "extensions.gnome.org üstünden “%s” uzantısı indirilip kurulsun mu?"
|
||||
@@ -1498,13 +1491,13 @@ msgid "Leave On"
|
||||
msgstr "Açık Bırak"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:1285
|
||||
#: js/ui/status/network.js:1288
|
||||
msgid "Turn On"
|
||||
msgstr "Aç"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:135
|
||||
#: js/ui/status/network.js:131 js/ui/status/network.js:315
|
||||
#: js/ui/status/network.js:1285 js/ui/status/network.js:1397
|
||||
#: js/ui/status/network.js:1288 js/ui/status/network.js:1400
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
@@ -1518,59 +1511,59 @@ msgstr "Kapalı Bırak"
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "Bölge ve Dil Ayarları"
|
||||
|
||||
#: js/ui/lookingGlass.js:659
|
||||
#: js/ui/lookingGlass.js:665
|
||||
msgid "No extensions installed"
|
||||
msgstr "Herhangi bir uzantı kurulu değil"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: js/ui/lookingGlass.js:714
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s, herhangi bir hata vermedi."
|
||||
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#: js/ui/lookingGlass.js:726
|
||||
msgid "Hide Errors"
|
||||
msgstr "Hataları Gizle"
|
||||
|
||||
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789
|
||||
#: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
|
||||
msgid "Show Errors"
|
||||
msgstr "Hataları Göster"
|
||||
|
||||
#: js/ui/lookingGlass.js:733
|
||||
#: js/ui/lookingGlass.js:739
|
||||
msgid "Enabled"
|
||||
msgstr "Etkin"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
#: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
msgid "Disabled"
|
||||
msgstr "Devre dışı"
|
||||
|
||||
#: js/ui/lookingGlass.js:738
|
||||
#: js/ui/lookingGlass.js:744
|
||||
msgid "Error"
|
||||
msgstr "Hata"
|
||||
|
||||
#: js/ui/lookingGlass.js:740
|
||||
#: js/ui/lookingGlass.js:746
|
||||
msgid "Out of date"
|
||||
msgstr "Güncel değil"
|
||||
|
||||
#: js/ui/lookingGlass.js:742
|
||||
#: js/ui/lookingGlass.js:748
|
||||
msgid "Downloading"
|
||||
msgstr "İndiriliyor"
|
||||
|
||||
#: js/ui/lookingGlass.js:771
|
||||
#: js/ui/lookingGlass.js:777
|
||||
msgid "View Source"
|
||||
msgstr "Kaynağı Görüntüle"
|
||||
|
||||
#: js/ui/lookingGlass.js:780
|
||||
#: js/ui/lookingGlass.js:786
|
||||
msgid "Web Page"
|
||||
msgstr "Web Sayfası"
|
||||
|
||||
#: js/ui/main.js:267
|
||||
#: js/ui/main.js:269
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Yetkili kullanıcı olarak oturum açılmış"
|
||||
|
||||
#: js/ui/main.js:268
|
||||
#: js/ui/main.js:270
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1578,15 +1571,15 @@ msgstr ""
|
||||
"Oturumu öncelikli kullanıcı olarak çalıştırmaktan güvenlik nedeniyle "
|
||||
"kaçınılmalıdır. Eğer olasıysa sıradan kullanıcı olarak giriş yapmalısınız."
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:276
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Ekran Kilidi devre dışı"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:277
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Ekran Kilitleme, GNOME ekran yöneticisi gerektirir."
|
||||
|
||||
#: js/ui/messageTray.js:1552
|
||||
#: js/ui/messageTray.js:1554
|
||||
msgid "System Information"
|
||||
msgstr "Sistem Bilgisi"
|
||||
|
||||
@@ -1613,8 +1606,8 @@ msgstr "Genel Görünüm"
|
||||
#. active; it should not exceed ~30
|
||||
#. characters.
|
||||
#: js/ui/overview.js:107
|
||||
msgid "Type to search…"
|
||||
msgstr "Aramak için yaz…"
|
||||
msgid "Type to search"
|
||||
msgstr "Aramak için yaz"
|
||||
|
||||
#: js/ui/padOsd.js:95
|
||||
msgid "New shortcut…"
|
||||
@@ -1640,23 +1633,23 @@ msgstr "Tuş vuruşu ata"
|
||||
msgid "Done"
|
||||
msgstr "Bitti"
|
||||
|
||||
#: js/ui/padOsd.js:747
|
||||
#: js/ui/padOsd.js:745
|
||||
msgid "Edit…"
|
||||
msgstr "Düzenle…"
|
||||
|
||||
#: js/ui/padOsd.js:789 js/ui/padOsd.js:912
|
||||
#: js/ui/padOsd.js:787 js/ui/padOsd.js:910
|
||||
msgid "None"
|
||||
msgstr "Yok"
|
||||
|
||||
#: js/ui/padOsd.js:865
|
||||
#: js/ui/padOsd.js:863
|
||||
msgid "Press a button to configure"
|
||||
msgstr "Yapılandırmak için bir düğmeye bas"
|
||||
|
||||
#: js/ui/padOsd.js:866
|
||||
#: js/ui/padOsd.js:864
|
||||
msgid "Press Esc to exit"
|
||||
msgstr "Çıkmak için Esc’ye bas"
|
||||
|
||||
#: js/ui/padOsd.js:869
|
||||
#: js/ui/padOsd.js:867
|
||||
msgid "Press any key to exit"
|
||||
msgstr "Çıkmak için herhangi bir tuşa bas"
|
||||
|
||||
@@ -1706,11 +1699,11 @@ msgstr "GNOME’un ekranı kilitlemesi gerekiyor"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:602
|
||||
#: js/ui/screenShield.js:244 js/ui/screenShield.js:598
|
||||
msgid "Unable to lock"
|
||||
msgstr "Kilitlenemedi"
|
||||
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:603
|
||||
#: js/ui/screenShield.js:245 js/ui/screenShield.js:599
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Kilitleme bir uygulama tarafından engellendi"
|
||||
|
||||
@@ -1770,8 +1763,8 @@ msgstr ""
|
||||
"kullanın."
|
||||
|
||||
#: js/ui/shellMountOperation.js:306
|
||||
msgid "Enter PIM Number…"
|
||||
msgstr "PIM Numarası Gir…"
|
||||
msgid "PIM Number"
|
||||
msgstr "PIM Numarası"
|
||||
|
||||
#: js/ui/shellMountOperation.js:365
|
||||
msgid "Remember Password"
|
||||
@@ -1851,7 +1844,7 @@ msgstr "Büyük Yazı"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:590
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:591
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth Ayarları"
|
||||
|
||||
@@ -1894,11 +1887,11 @@ msgstr "İkincil Tık"
|
||||
msgid "Dwell Click"
|
||||
msgstr "Durağan Tık"
|
||||
|
||||
#: js/ui/status/keyboard.js:825
|
||||
#: js/ui/status/keyboard.js:826
|
||||
msgid "Keyboard"
|
||||
msgstr "Klavye"
|
||||
|
||||
#: js/ui/status/keyboard.js:847
|
||||
#: js/ui/status/keyboard.js:848
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Klavye Düzenini Göster"
|
||||
|
||||
@@ -1945,7 +1938,7 @@ msgid "<unknown>"
|
||||
msgstr "<bilinmeyen>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1314
|
||||
#: js/ui/status/network.js:420 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s Kapalı"
|
||||
@@ -1971,7 +1964,7 @@ msgid "%s Disconnecting"
|
||||
msgstr "%s Bağlantısı Kesiliyor"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1306
|
||||
#: js/ui/status/network.js:438 js/ui/status/network.js:1309
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s Bağlanıyor"
|
||||
@@ -2011,7 +2004,7 @@ msgid "Mobile Broadband Settings"
|
||||
msgstr "Mobil Geniş Bant Ayarları"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1311
|
||||
#: js/ui/status/network.js:558 js/ui/status/network.js:1314
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s Donanımı Devre Dışı"
|
||||
@@ -2023,122 +2016,122 @@ msgstr "%s Donanımı Devre Dışı"
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s Devre Dışı"
|
||||
|
||||
#: js/ui/status/network.js:602
|
||||
#: js/ui/status/network.js:603
|
||||
msgid "Connect to Internet"
|
||||
msgstr "İnternet’e Bağlan"
|
||||
|
||||
#: js/ui/status/network.js:805
|
||||
#: js/ui/status/network.js:808
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Uçak Kipi Açık"
|
||||
|
||||
#: js/ui/status/network.js:806
|
||||
#: js/ui/status/network.js:809
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Uçak kipi açıldığında kablosuz ağ devre dışı kalır."
|
||||
|
||||
#: js/ui/status/network.js:807
|
||||
#: js/ui/status/network.js:810
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Uçak Kipini Kapat"
|
||||
|
||||
#: js/ui/status/network.js:816
|
||||
#: js/ui/status/network.js:819
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Kablosuz Ağ Kapalı"
|
||||
|
||||
#: js/ui/status/network.js:817
|
||||
#: js/ui/status/network.js:820
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Bir ağa bağlanmak için kablosuz ağın açık olması gerekir."
|
||||
|
||||
#: js/ui/status/network.js:818
|
||||
#: js/ui/status/network.js:821
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Kablosuz Ağı Aç"
|
||||
|
||||
#: js/ui/status/network.js:843
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Kablosuz Ağlar"
|
||||
|
||||
#: js/ui/status/network.js:845
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Select a network"
|
||||
msgstr "Ağ seç"
|
||||
|
||||
#: js/ui/status/network.js:877
|
||||
#: js/ui/status/network.js:880
|
||||
msgid "No Networks"
|
||||
msgstr "Ağ Yok"
|
||||
|
||||
#: js/ui/status/network.js:898 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:901 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Kapatmak için donanım anahtarını kullan"
|
||||
|
||||
#: js/ui/status/network.js:1175
|
||||
#: js/ui/status/network.js:1178
|
||||
msgid "Select Network"
|
||||
msgstr "Ağ Seç"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1184
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Kablosuz Ağ Ayarları"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1302
|
||||
#: js/ui/status/network.js:1305
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s Erişim Noktası Etkin"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s Bağlı Değil"
|
||||
|
||||
#: js/ui/status/network.js:1414
|
||||
#: js/ui/status/network.js:1417
|
||||
msgid "connecting…"
|
||||
msgstr "bağlanıyor…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1417
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "authentication required"
|
||||
msgstr "kimlik doğrulaması gerekli"
|
||||
|
||||
#: js/ui/status/network.js:1419
|
||||
#: js/ui/status/network.js:1422
|
||||
msgid "connection failed"
|
||||
msgstr "bağlantı başarısız"
|
||||
|
||||
#: js/ui/status/network.js:1470
|
||||
#: js/ui/status/network.js:1473
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPN Ayarları"
|
||||
|
||||
#: js/ui/status/network.js:1487
|
||||
#: js/ui/status/network.js:1490
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1497
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN Kapalı"
|
||||
|
||||
#: js/ui/status/network.js:1558 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1561 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Ağ Ayarları"
|
||||
|
||||
#: js/ui/status/network.js:1587
|
||||
#: js/ui/status/network.js:1590
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s Kablolu Bağlantı"
|
||||
|
||||
#: js/ui/status/network.js:1591
|
||||
#: js/ui/status/network.js:1594
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s Kablosuz Ağ Bağlantısı"
|
||||
|
||||
#: js/ui/status/network.js:1595
|
||||
#: js/ui/status/network.js:1598
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s Modem Bağlantısı"
|
||||
|
||||
#: js/ui/status/network.js:1729
|
||||
#: js/ui/status/network.js:1732
|
||||
msgid "Connection failed"
|
||||
msgstr "Bağlantı başarısız oldu"
|
||||
|
||||
#: js/ui/status/network.js:1730
|
||||
#: js/ui/status/network.js:1733
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Ağ bağlantısının etkinleştirilmesi başarısız oldu"
|
||||
|
||||
@@ -2236,11 +2229,11 @@ msgstr "Gücü Kapat…"
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:324
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
msgid "Unknown Thunderbolt device"
|
||||
msgstr "Bilinmeyen Thunderbolt aygıtı"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:325
|
||||
#: js/ui/status/thunderbolt.js:326
|
||||
msgid ""
|
||||
"New device has been detected while you were away. Please disconnect and "
|
||||
"reconnect the device to start using it."
|
||||
@@ -2248,21 +2241,21 @@ msgstr ""
|
||||
"Siz uzaktayken yeni aygıt saptandı. Kullanmaya başlamadan önce aygıtın "
|
||||
"bağlantısını kesin ve yeniden bağlayın."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:328
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
msgid "Unauthorized Thunderbolt device"
|
||||
msgstr "Yetkisiz Thunderbolt aygıtı"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:329
|
||||
#: js/ui/status/thunderbolt.js:330
|
||||
msgid ""
|
||||
"New device has been detected and needs to be authorized by an administrator."
|
||||
msgstr ""
|
||||
"Yeni aygıt saptandı ve bir yönetici tarafından yetkilendirilmesi gerekiyor."
|
||||
|
||||
#: js/ui/status/thunderbolt.js:335
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
msgid "Thunderbolt authorization error"
|
||||
msgstr "Thunderbolt yetkilendirme hatası"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:336
|
||||
#: js/ui/status/thunderbolt.js:337
|
||||
#, javascript-format
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Thunderbolt aygıtı yetkilendirilemedi: %s"
|
||||
@@ -2303,10 +2296,28 @@ msgstr "Yalnızca Dış"
|
||||
msgid "Built-in Only"
|
||||
msgstr "Yalnızca İç"
|
||||
|
||||
#: js/ui/unlockDialog.js:459
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:370
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A %-d %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:376
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Kilidi açmak için yukarı kaydır"
|
||||
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Kilidi açmak için tıklayın veya tuşa basın"
|
||||
|
||||
#: js/ui/unlockDialog.js:549
|
||||
msgid "Unlock Window"
|
||||
msgstr "Kilit Açma Penceresi"
|
||||
|
||||
#: js/ui/unlockDialog.js:558
|
||||
msgid "Log in as another user"
|
||||
msgstr "Başka kullanıcı olarak oturum aç"
|
||||
|
||||
#: js/ui/viewSelector.js:181
|
||||
msgid "Applications"
|
||||
msgstr "Uygulamalar"
|
||||
@@ -2344,7 +2355,7 @@ msgstr[0] "Ayarlardaki değişiklikler %d saniye içinde eski haline döndürül
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:542
|
||||
#: js/ui/windowManager.js:544
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2793,6 +2804,15 @@ msgstr[0] "%u Girdi"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sistem Sesleri"
|
||||
|
||||
#~ msgid "Username…"
|
||||
#~ msgstr "Kullanıcı Adı…"
|
||||
|
||||
#~ msgid "Password: "
|
||||
#~ msgstr "Parola: "
|
||||
|
||||
#~ msgid "Enter Password…"
|
||||
#~ msgstr "Parola Gir…"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Sonraki"
|
||||
|
||||
@@ -2800,9 +2820,6 @@ msgstr "Sistem Sesleri"
|
||||
#~ msgid "Sign In"
|
||||
#~ msgstr "Giriş"
|
||||
|
||||
#~ msgid "Log in as another user"
|
||||
#~ msgstr "Başka kullanıcı olarak oturum aç"
|
||||
|
||||
#~ msgid "%A, %B %d"
|
||||
#~ msgstr "%d %B %A"
|
||||
|
||||
@@ -2829,9 +2846,6 @@ msgstr "Sistem Sesleri"
|
||||
#~ msgid "Rename"
|
||||
#~ msgstr "Yeniden Adlandır"
|
||||
|
||||
#~ msgid "Password:"
|
||||
#~ msgstr "Parola:"
|
||||
|
||||
#~ msgid "Type again:"
|
||||
#~ msgstr "Yeniden yaz:"
|
||||
|
||||
|
800
po/zh_TW.po
@@ -36,14 +36,6 @@ G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
#undef CALENDAR_ENABLE_DEBUG
|
||||
#include "calendar-debug.h"
|
||||
|
||||
#ifndef _
|
||||
#define _(x) gettext(x)
|
||||
#endif
|
||||
|
||||
#ifndef N_
|
||||
#define N_(x) x
|
||||
#endif
|
||||
|
||||
typedef struct _ClientData ClientData;
|
||||
typedef struct _CalendarSourceData CalendarSourceData;
|
||||
|
||||
@@ -51,20 +43,7 @@ struct _ClientData
|
||||
{
|
||||
ECalClient *client;
|
||||
gulong backend_died_id;
|
||||
};
|
||||
|
||||
struct _CalendarSourceData
|
||||
{
|
||||
ECalClientSourceType source_type;
|
||||
CalendarSources *sources;
|
||||
guint changed_signal;
|
||||
|
||||
/* ESource -> EClient */
|
||||
GHashTable *clients;
|
||||
|
||||
guint timeout_id;
|
||||
|
||||
guint loaded : 1;
|
||||
gboolean is_for_events; /* Because this can hold other clients too (for EReminderWatcher) */
|
||||
};
|
||||
|
||||
typedef struct _CalendarSourcesPrivate CalendarSourcesPrivate;
|
||||
@@ -77,175 +56,150 @@ struct _CalendarSources
|
||||
|
||||
struct _CalendarSourcesPrivate
|
||||
{
|
||||
ESourceRegistry *registry;
|
||||
gulong source_added_id;
|
||||
gulong source_changed_id;
|
||||
gulong source_removed_id;
|
||||
ESourceRegistryWatcher *registry_watcher;
|
||||
gulong filter_id;
|
||||
gulong appeared_id;
|
||||
gulong disappeared_id;
|
||||
|
||||
CalendarSourceData appointment_sources;
|
||||
CalendarSourceData task_sources;
|
||||
GMutex clients_lock;
|
||||
GHashTable *clients; /* ESource -> ClientData */
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (CalendarSources, calendar_sources, G_TYPE_OBJECT)
|
||||
|
||||
static void calendar_sources_finalize (GObject *object);
|
||||
|
||||
static void backend_died_cb (EClient *client, CalendarSourceData *source_data);
|
||||
static void calendar_sources_registry_source_changed_cb (ESourceRegistry *registry,
|
||||
ESource *source,
|
||||
CalendarSources *sources);
|
||||
static void calendar_sources_registry_source_removed_cb (ESourceRegistry *registry,
|
||||
ESource *source,
|
||||
CalendarSources *sources);
|
||||
|
||||
enum
|
||||
{
|
||||
APPOINTMENT_SOURCES_CHANGED,
|
||||
TASK_SOURCES_CHANGED,
|
||||
CLIENT_APPEARED,
|
||||
CLIENT_DISAPPEARED,
|
||||
LAST_SIGNAL
|
||||
};
|
||||
static guint signals [LAST_SIGNAL] = { 0, };
|
||||
|
||||
static GObjectClass *parent_class = NULL;
|
||||
static CalendarSources *calendar_sources_singleton = NULL;
|
||||
static void
|
||||
calendar_sources_client_connected_cb (GObject *source_object,
|
||||
GAsyncResult *result,
|
||||
gpointer user_data)
|
||||
{
|
||||
CalendarSources *sources = CALENDAR_SOURCES (source_object);
|
||||
ESource *source = user_data;
|
||||
EClient *client;
|
||||
GError *error = NULL;
|
||||
|
||||
/* The calendar_sources_connect_client_sync() already stored the 'client'
|
||||
* into the priv->clients */
|
||||
client = calendar_sources_connect_client_finish (sources, result, &error);
|
||||
if (error)
|
||||
{
|
||||
g_warning ("Could not load source '%s': %s",
|
||||
e_source_get_uid (source),
|
||||
error->message);
|
||||
g_clear_error (&error);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_signal_emit (sources, signals[CLIENT_APPEARED], 0, client, NULL);
|
||||
}
|
||||
|
||||
g_clear_object (&client);
|
||||
g_clear_object (&source);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
registry_watcher_filter_cb (ESourceRegistryWatcher *watcher,
|
||||
ESource *source,
|
||||
CalendarSources *sources)
|
||||
{
|
||||
return e_source_has_extension (source, E_SOURCE_EXTENSION_CALENDAR) &&
|
||||
e_source_selectable_get_selected (e_source_get_extension (source, E_SOURCE_EXTENSION_CALENDAR));
|
||||
}
|
||||
|
||||
static void
|
||||
registry_watcher_source_appeared_cb (ESourceRegistryWatcher *watcher,
|
||||
ESource *source,
|
||||
CalendarSources *sources)
|
||||
{
|
||||
ECalClientSourceType source_type;
|
||||
|
||||
if (e_source_has_extension (source, E_SOURCE_EXTENSION_CALENDAR))
|
||||
source_type = E_CAL_CLIENT_SOURCE_TYPE_EVENTS;
|
||||
else if (e_source_has_extension (source, E_SOURCE_EXTENSION_MEMO_LIST))
|
||||
source_type = E_CAL_CLIENT_SOURCE_TYPE_MEMOS;
|
||||
else if (e_source_has_extension (source, E_SOURCE_EXTENSION_TASK_LIST))
|
||||
source_type = E_CAL_CLIENT_SOURCE_TYPE_TASKS;
|
||||
else
|
||||
g_return_if_reached ();
|
||||
|
||||
calendar_sources_connect_client (sources, TRUE, source, source_type, 30, NULL, calendar_sources_client_connected_cb, g_object_ref (source));
|
||||
}
|
||||
|
||||
static void
|
||||
registry_watcher_source_disappeared_cb (ESourceRegistryWatcher *watcher,
|
||||
ESource *source,
|
||||
CalendarSources *sources)
|
||||
{
|
||||
gboolean emit;
|
||||
|
||||
g_mutex_lock (&sources->priv->clients_lock);
|
||||
|
||||
emit = g_hash_table_remove (sources->priv->clients, source);
|
||||
|
||||
g_mutex_unlock (&sources->priv->clients_lock);
|
||||
|
||||
if (emit)
|
||||
g_signal_emit (sources, signals[CLIENT_DISAPPEARED], 0, e_source_get_uid (source), NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
client_data_free (ClientData *data)
|
||||
{
|
||||
g_clear_signal_handler (&data->backend_died_id, data->client);
|
||||
g_signal_handler_disconnect (data->client, data->backend_died_id);
|
||||
g_object_unref (data->client);
|
||||
g_slice_free (ClientData, data);
|
||||
}
|
||||
|
||||
static void
|
||||
calendar_sources_class_init (CalendarSourcesClass *klass)
|
||||
{
|
||||
GObjectClass *gobject_class = (GObjectClass *) klass;
|
||||
|
||||
parent_class = g_type_class_peek_parent (klass);
|
||||
|
||||
gobject_class->finalize = calendar_sources_finalize;
|
||||
|
||||
signals [APPOINTMENT_SOURCES_CHANGED] =
|
||||
g_signal_new ("appointment-sources-changed",
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
G_TYPE_NONE,
|
||||
0);
|
||||
|
||||
signals [TASK_SOURCES_CHANGED] =
|
||||
g_signal_new ("task-sources-changed",
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
G_TYPE_NONE,
|
||||
0);
|
||||
}
|
||||
|
||||
static void
|
||||
calendar_sources_init (CalendarSources *sources)
|
||||
calendar_sources_constructed (GObject *object)
|
||||
{
|
||||
CalendarSources *sources = CALENDAR_SOURCES (object);
|
||||
ESourceRegistry *registry = NULL;
|
||||
GError *error = NULL;
|
||||
GDBusConnection *session_bus;
|
||||
GVariant *result;
|
||||
|
||||
sources->priv = calendar_sources_get_instance_private (sources);
|
||||
|
||||
/* WORKAROUND: the hardcoded timeout for e_source_registry_new_sync()
|
||||
(and other library calls that eventually call g_dbus_proxy_new[_sync]())
|
||||
is 25 seconds. This has been shown to be too small for
|
||||
evolution-source-registry in certain cases (slow disk, concurrent IO,
|
||||
many configured sources), so we first ensure that the service
|
||||
starts with a manual call and a higher timeout.
|
||||
|
||||
HACK: every time the DBus API is bumped in e-d-s we need
|
||||
to update this!
|
||||
*/
|
||||
session_bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
|
||||
if (session_bus == NULL)
|
||||
{
|
||||
g_error ("Failed to connect to the session bus: %s", error->message);
|
||||
}
|
||||
|
||||
result = g_dbus_connection_call_sync (session_bus, "org.freedesktop.DBus",
|
||||
"/", "org.freedesktop.DBus",
|
||||
"StartServiceByName",
|
||||
g_variant_new ("(su)",
|
||||
"org.gnome.evolution.dataserver.Sources5",
|
||||
0),
|
||||
NULL,
|
||||
G_DBUS_CALL_FLAGS_NONE,
|
||||
60 * 1000,
|
||||
NULL, &error);
|
||||
if (result != NULL)
|
||||
{
|
||||
g_variant_unref (result);
|
||||
sources->priv->registry = e_source_registry_new_sync (NULL, &error);
|
||||
}
|
||||
G_OBJECT_CLASS (calendar_sources_parent_class)->constructed (object);
|
||||
|
||||
registry = e_source_registry_new_sync (NULL, &error);
|
||||
if (error != NULL)
|
||||
{
|
||||
/* Any error is fatal, but we don't want to crash gnome-shell-calendar-server
|
||||
because of e-d-s problems. So just exit here.
|
||||
*/
|
||||
g_warning ("Failed to start evolution-source-registry: %s", error->message);
|
||||
exit(EXIT_FAILURE);
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
|
||||
g_object_unref (session_bus);
|
||||
g_return_if_fail (registry != NULL);
|
||||
|
||||
sources->priv->source_added_id = g_signal_connect (sources->priv->registry,
|
||||
"source-added",
|
||||
G_CALLBACK (calendar_sources_registry_source_changed_cb),
|
||||
sources);
|
||||
sources->priv->source_changed_id = g_signal_connect (sources->priv->registry,
|
||||
"source-changed",
|
||||
G_CALLBACK (calendar_sources_registry_source_changed_cb),
|
||||
sources);
|
||||
sources->priv->source_removed_id = g_signal_connect (sources->priv->registry,
|
||||
"source-removed",
|
||||
G_CALLBACK (calendar_sources_registry_source_removed_cb),
|
||||
sources);
|
||||
sources->priv->registry_watcher = e_source_registry_watcher_new (registry, NULL);
|
||||
|
||||
sources->priv->appointment_sources.source_type = E_CAL_CLIENT_SOURCE_TYPE_EVENTS;
|
||||
sources->priv->appointment_sources.sources = sources;
|
||||
sources->priv->appointment_sources.changed_signal = signals [APPOINTMENT_SOURCES_CHANGED];
|
||||
sources->priv->appointment_sources.clients = g_hash_table_new_full ((GHashFunc) e_source_hash,
|
||||
(GEqualFunc) e_source_equal,
|
||||
(GDestroyNotify) g_object_unref,
|
||||
(GDestroyNotify) client_data_free);
|
||||
sources->priv->appointment_sources.timeout_id = 0;
|
||||
g_clear_object (®istry);
|
||||
|
||||
sources->priv->task_sources.source_type = E_CAL_CLIENT_SOURCE_TYPE_TASKS;
|
||||
sources->priv->task_sources.sources = sources;
|
||||
sources->priv->task_sources.changed_signal = signals [TASK_SOURCES_CHANGED];
|
||||
sources->priv->task_sources.clients = g_hash_table_new_full ((GHashFunc) e_source_hash,
|
||||
(GEqualFunc) e_source_equal,
|
||||
(GDestroyNotify) g_object_unref,
|
||||
(GDestroyNotify) client_data_free);
|
||||
sources->priv->task_sources.timeout_id = 0;
|
||||
}
|
||||
sources->priv->clients = g_hash_table_new_full ((GHashFunc) e_source_hash,
|
||||
(GEqualFunc) e_source_equal,
|
||||
(GDestroyNotify) g_object_unref,
|
||||
(GDestroyNotify) client_data_free);
|
||||
sources->priv->filter_id = g_signal_connect (sources->priv->registry_watcher,
|
||||
"filter",
|
||||
G_CALLBACK (registry_watcher_filter_cb),
|
||||
sources);
|
||||
sources->priv->appeared_id = g_signal_connect (sources->priv->registry_watcher,
|
||||
"appeared",
|
||||
G_CALLBACK (registry_watcher_source_appeared_cb),
|
||||
sources);
|
||||
sources->priv->disappeared_id = g_signal_connect (sources->priv->registry_watcher,
|
||||
"disappeared",
|
||||
G_CALLBACK (registry_watcher_source_disappeared_cb),
|
||||
sources);
|
||||
|
||||
static void
|
||||
calendar_sources_finalize_source_data (CalendarSources *sources,
|
||||
CalendarSourceData *source_data)
|
||||
{
|
||||
if (source_data->loaded)
|
||||
{
|
||||
g_hash_table_destroy (source_data->clients);
|
||||
source_data->clients = NULL;
|
||||
|
||||
g_clear_handle_id (&source_data->timeout_id, g_source_remove);
|
||||
|
||||
source_data->loaded = FALSE;
|
||||
}
|
||||
e_source_registry_watcher_reclaim (sources->priv->registry_watcher);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -253,28 +207,73 @@ calendar_sources_finalize (GObject *object)
|
||||
{
|
||||
CalendarSources *sources = CALENDAR_SOURCES (object);
|
||||
|
||||
if (sources->priv->registry)
|
||||
if (sources->priv->clients)
|
||||
{
|
||||
g_clear_signal_handler (&sources->priv->source_added_id,
|
||||
sources->priv->registry);
|
||||
g_clear_signal_handler (&sources->priv->source_changed_id,
|
||||
sources->priv->registry);
|
||||
g_clear_signal_handler (&sources->priv->source_removed_id,
|
||||
sources->priv->registry);
|
||||
g_object_unref (sources->priv->registry);
|
||||
g_hash_table_destroy (sources->priv->clients);
|
||||
sources->priv->clients = NULL;
|
||||
}
|
||||
sources->priv->registry = NULL;
|
||||
|
||||
calendar_sources_finalize_source_data (sources, &sources->priv->appointment_sources);
|
||||
calendar_sources_finalize_source_data (sources, &sources->priv->task_sources);
|
||||
if (sources->priv->registry_watcher)
|
||||
{
|
||||
g_signal_handler_disconnect (sources->priv->registry_watcher,
|
||||
sources->priv->filter_id);
|
||||
g_signal_handler_disconnect (sources->priv->registry_watcher,
|
||||
sources->priv->appeared_id);
|
||||
g_signal_handler_disconnect (sources->priv->registry_watcher,
|
||||
sources->priv->disappeared_id);
|
||||
g_clear_object (&sources->priv->registry_watcher);
|
||||
}
|
||||
|
||||
if (G_OBJECT_CLASS (parent_class)->finalize)
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
g_mutex_clear (&sources->priv->clients_lock);
|
||||
|
||||
G_OBJECT_CLASS (calendar_sources_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
calendar_sources_class_init (CalendarSourcesClass *klass)
|
||||
{
|
||||
GObjectClass *gobject_class = (GObjectClass *) klass;
|
||||
|
||||
gobject_class->constructed = calendar_sources_constructed;
|
||||
gobject_class->finalize = calendar_sources_finalize;
|
||||
|
||||
signals [CLIENT_APPEARED] =
|
||||
g_signal_new ("client-appeared",
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
G_TYPE_NONE,
|
||||
1,
|
||||
E_TYPE_CAL_CLIENT);
|
||||
|
||||
signals [CLIENT_DISAPPEARED] =
|
||||
g_signal_new ("client-disappeared",
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
G_TYPE_NONE,
|
||||
1,
|
||||
G_TYPE_STRING); /* ESource::uid of the disappeared client */
|
||||
}
|
||||
|
||||
static void
|
||||
calendar_sources_init (CalendarSources *sources)
|
||||
{
|
||||
sources->priv = calendar_sources_get_instance_private (sources);
|
||||
|
||||
g_mutex_init (&sources->priv->clients_lock);
|
||||
}
|
||||
|
||||
CalendarSources *
|
||||
calendar_sources_get (void)
|
||||
{
|
||||
static CalendarSources *calendar_sources_singleton = NULL;
|
||||
gpointer singleton_location = &calendar_sources_singleton;
|
||||
|
||||
if (calendar_sources_singleton)
|
||||
@@ -282,85 +281,70 @@ calendar_sources_get (void)
|
||||
|
||||
calendar_sources_singleton = g_object_new (CALENDAR_TYPE_SOURCES, NULL);
|
||||
g_object_add_weak_pointer (G_OBJECT (calendar_sources_singleton),
|
||||
singleton_location);
|
||||
singleton_location);
|
||||
|
||||
return calendar_sources_singleton;
|
||||
}
|
||||
|
||||
/* The clients are just created here but not loaded */
|
||||
static void
|
||||
create_client_for_source (ESource *source,
|
||||
ECalClientSourceType source_type,
|
||||
CalendarSourceData *source_data)
|
||||
ESourceRegistry *
|
||||
calendar_sources_get_registry (CalendarSources *sources)
|
||||
{
|
||||
ClientData *data;
|
||||
EClient *client;
|
||||
GError *error = NULL;
|
||||
|
||||
client = g_hash_table_lookup (source_data->clients, source);
|
||||
g_return_if_fail (client == NULL);
|
||||
|
||||
client = e_cal_client_connect_sync (source, source_type, -1, NULL, &error);
|
||||
if (!client)
|
||||
{
|
||||
g_warning ("Could not load source '%s': %s",
|
||||
e_source_get_uid (source),
|
||||
error->message);
|
||||
g_clear_error(&error);
|
||||
return;
|
||||
}
|
||||
|
||||
data = g_slice_new0 (ClientData);
|
||||
data->client = E_CAL_CLIENT (client); /* takes ownership */
|
||||
data->backend_died_id = g_signal_connect (client,
|
||||
"backend-died",
|
||||
G_CALLBACK (backend_died_cb),
|
||||
source_data);
|
||||
|
||||
g_hash_table_insert (source_data->clients, g_object_ref (source), data);
|
||||
}
|
||||
|
||||
static inline void
|
||||
debug_dump_ecal_list (GHashTable *clients)
|
||||
{
|
||||
#ifdef CALENDAR_ENABLE_DEBUG
|
||||
GList *list, *link;
|
||||
|
||||
dprintf ("Loaded clients:\n");
|
||||
list = g_hash_table_get_keys (clients);
|
||||
for (link = list; link != NULL; link = g_list_next (link))
|
||||
{
|
||||
ESource *source = E_SOURCE (link->data);
|
||||
|
||||
dprintf (" %s %s\n",
|
||||
e_source_get_uid (source),
|
||||
e_source_get_display_name (source));
|
||||
}
|
||||
g_list_free (list);
|
||||
#endif
|
||||
return e_source_registry_watcher_get_registry (sources->priv->registry_watcher);
|
||||
}
|
||||
|
||||
static void
|
||||
calendar_sources_load_esource_list (ESourceRegistry *registry,
|
||||
CalendarSourceData *source_data);
|
||||
|
||||
static gboolean
|
||||
backend_restart (gpointer data)
|
||||
gather_event_clients_cb (gpointer key,
|
||||
gpointer value,
|
||||
gpointer user_data)
|
||||
{
|
||||
CalendarSourceData *source_data = data;
|
||||
ESourceRegistry *registry;
|
||||
GSList **plist = user_data;
|
||||
ClientData *cd = value;
|
||||
|
||||
registry = source_data->sources->priv->registry;
|
||||
calendar_sources_load_esource_list (registry, source_data);
|
||||
g_signal_emit (source_data->sources, source_data->changed_signal, 0);
|
||||
if (cd && cd->is_for_events)
|
||||
*plist = g_slist_prepend (*plist, g_object_ref (cd->client));
|
||||
}
|
||||
|
||||
source_data->timeout_id = 0;
|
||||
|
||||
return FALSE;
|
||||
GSList *
|
||||
calendar_sources_ref_clients (CalendarSources *sources)
|
||||
{
|
||||
GSList *list = NULL;
|
||||
|
||||
g_return_val_if_fail (CALENDAR_IS_SOURCES (sources), NULL);
|
||||
|
||||
g_mutex_lock (&sources->priv->clients_lock);
|
||||
g_hash_table_foreach (sources->priv->clients, gather_event_clients_cb, &list);
|
||||
g_mutex_unlock (&sources->priv->clients_lock);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
gboolean
|
||||
calendar_sources_has_clients (CalendarSources *sources)
|
||||
{
|
||||
GHashTableIter iter;
|
||||
gpointer value;
|
||||
gboolean has = FALSE;
|
||||
|
||||
g_return_val_if_fail (CALENDAR_IS_SOURCES (sources), FALSE);
|
||||
|
||||
g_mutex_lock (&sources->priv->clients_lock);
|
||||
|
||||
g_hash_table_iter_init (&iter, sources->priv->clients);
|
||||
while (!has && g_hash_table_iter_next (&iter, NULL, &value))
|
||||
{
|
||||
ClientData *cd = value;
|
||||
|
||||
has = cd && cd->is_for_events;
|
||||
}
|
||||
|
||||
g_mutex_unlock (&sources->priv->clients_lock);
|
||||
|
||||
return has;
|
||||
}
|
||||
|
||||
static void
|
||||
backend_died_cb (EClient *client, CalendarSourceData *source_data)
|
||||
backend_died_cb (EClient *client,
|
||||
CalendarSources *sources)
|
||||
{
|
||||
ESource *source;
|
||||
const char *display_name;
|
||||
@@ -368,196 +352,179 @@ backend_died_cb (EClient *client, CalendarSourceData *source_data)
|
||||
source = e_client_get_source (client);
|
||||
display_name = e_source_get_display_name (source);
|
||||
g_warning ("The calendar backend for '%s' has crashed.", display_name);
|
||||
g_hash_table_remove (source_data->clients, source);
|
||||
|
||||
g_clear_handle_id (&source_data->timeout_id, g_source_remove);
|
||||
|
||||
source_data->timeout_id = g_timeout_add_seconds (2, backend_restart,
|
||||
source_data);
|
||||
g_source_set_name_by_id (source_data->timeout_id, "[gnome-shell] backend_restart");
|
||||
g_mutex_lock (&sources->priv->clients_lock);
|
||||
g_hash_table_remove (sources->priv->clients, source);
|
||||
g_mutex_unlock (&sources->priv->clients_lock);
|
||||
}
|
||||
|
||||
static void
|
||||
calendar_sources_load_esource_list (ESourceRegistry *registry,
|
||||
CalendarSourceData *source_data)
|
||||
EClient *
|
||||
calendar_sources_connect_client_sync (CalendarSources *sources,
|
||||
gboolean is_for_events,
|
||||
ESource *source,
|
||||
ECalClientSourceType source_type,
|
||||
guint32 wait_for_connected_seconds,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
GList *list, *link;
|
||||
const gchar *extension_name;
|
||||
EClient *client = NULL;
|
||||
ClientData *client_data;
|
||||
|
||||
switch (source_data->source_type)
|
||||
g_mutex_lock (&sources->priv->clients_lock);
|
||||
client_data = g_hash_table_lookup (sources->priv->clients, source);
|
||||
if (client_data) {
|
||||
if (is_for_events)
|
||||
client_data->is_for_events = TRUE;
|
||||
client = E_CLIENT (g_object_ref (client_data->client));
|
||||
}
|
||||
g_mutex_unlock (&sources->priv->clients_lock);
|
||||
|
||||
if (client)
|
||||
return client;
|
||||
|
||||
client = e_cal_client_connect_sync (source, source_type, wait_for_connected_seconds, cancellable, error);
|
||||
if (!client)
|
||||
return NULL;
|
||||
|
||||
g_mutex_lock (&sources->priv->clients_lock);
|
||||
client_data = g_hash_table_lookup (sources->priv->clients, source);
|
||||
if (client_data)
|
||||
{
|
||||
case E_CAL_CLIENT_SOURCE_TYPE_EVENTS:
|
||||
extension_name = E_SOURCE_EXTENSION_CALENDAR;
|
||||
break;
|
||||
case E_CAL_CLIENT_SOURCE_TYPE_TASKS:
|
||||
extension_name = E_SOURCE_EXTENSION_TASK_LIST;
|
||||
break;
|
||||
default:
|
||||
g_return_if_reached ();
|
||||
if (is_for_events)
|
||||
client_data->is_for_events = TRUE;
|
||||
g_clear_object (&client);
|
||||
client = E_CLIENT (g_object_ref (client_data->client));
|
||||
}
|
||||
|
||||
list = e_source_registry_list_sources (registry, extension_name);
|
||||
|
||||
for (link = list; link != NULL; link = g_list_next (link))
|
||||
else
|
||||
{
|
||||
ESource *source = E_SOURCE (link->data);
|
||||
ESourceSelectable *extension;
|
||||
gboolean show_source;
|
||||
client_data = g_slice_new0 (ClientData);
|
||||
client_data->client = E_CAL_CLIENT (g_object_ref (client));
|
||||
client_data->is_for_events = is_for_events;
|
||||
client_data->backend_died_id = g_signal_connect (client,
|
||||
"backend-died",
|
||||
G_CALLBACK (backend_died_cb),
|
||||
sources);
|
||||
|
||||
extension = e_source_get_extension (source, extension_name);
|
||||
show_source = e_source_get_enabled (source) && e_source_selectable_get_selected (extension);
|
||||
|
||||
if (show_source)
|
||||
create_client_for_source (source, source_data->source_type, source_data);
|
||||
g_hash_table_insert (sources->priv->clients, g_object_ref (source), client_data);
|
||||
}
|
||||
g_mutex_unlock (&sources->priv->clients_lock);
|
||||
|
||||
debug_dump_ecal_list (source_data->clients);
|
||||
|
||||
g_list_free_full (list, g_object_unref);
|
||||
return client;
|
||||
}
|
||||
|
||||
typedef struct _AsyncContext {
|
||||
gboolean is_for_events;
|
||||
ESource *source;
|
||||
ECalClientSourceType source_type;
|
||||
guint32 wait_for_connected_seconds;
|
||||
} AsyncContext;
|
||||
|
||||
static void
|
||||
calendar_sources_registry_source_changed_cb (ESourceRegistry *registry,
|
||||
ESource *source,
|
||||
CalendarSources *sources)
|
||||
async_context_free (gpointer ptr)
|
||||
{
|
||||
if (e_source_has_extension (source, E_SOURCE_EXTENSION_CALENDAR))
|
||||
AsyncContext *ctx = ptr;
|
||||
|
||||
if (ctx)
|
||||
{
|
||||
CalendarSourceData *source_data;
|
||||
ESourceSelectable *extension;
|
||||
gboolean have_client;
|
||||
gboolean show_source;
|
||||
|
||||
source_data = &sources->priv->appointment_sources;
|
||||
extension = e_source_get_extension (source, E_SOURCE_EXTENSION_CALENDAR);
|
||||
have_client = (g_hash_table_lookup (source_data->clients, source) != NULL);
|
||||
show_source = e_source_get_enabled (source) && e_source_selectable_get_selected (extension);
|
||||
|
||||
if (!show_source && have_client)
|
||||
{
|
||||
g_hash_table_remove (source_data->clients, source);
|
||||
g_signal_emit (sources, source_data->changed_signal, 0);
|
||||
}
|
||||
if (show_source && !have_client)
|
||||
{
|
||||
create_client_for_source (source, source_data->source_type, source_data);
|
||||
g_signal_emit (sources, source_data->changed_signal, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if (e_source_has_extension (source, E_SOURCE_EXTENSION_TASK_LIST))
|
||||
{
|
||||
CalendarSourceData *source_data;
|
||||
ESourceSelectable *extension;
|
||||
gboolean have_client;
|
||||
gboolean show_source;
|
||||
|
||||
source_data = &sources->priv->task_sources;
|
||||
extension = e_source_get_extension (source, E_SOURCE_EXTENSION_TASK_LIST);
|
||||
have_client = (g_hash_table_lookup (source_data->clients, source) != NULL);
|
||||
show_source = e_source_get_enabled (source) && e_source_selectable_get_selected (extension);
|
||||
|
||||
if (!show_source && have_client)
|
||||
{
|
||||
g_hash_table_remove (source_data->clients, source);
|
||||
g_signal_emit (sources, source_data->changed_signal, 0);
|
||||
}
|
||||
if (show_source && !have_client)
|
||||
{
|
||||
create_client_for_source (source, source_data->source_type, source_data);
|
||||
g_signal_emit (sources, source_data->changed_signal, 0);
|
||||
}
|
||||
g_clear_object (&ctx->source);
|
||||
g_slice_free (AsyncContext, ctx);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
calendar_sources_registry_source_removed_cb (ESourceRegistry *registry,
|
||||
ESource *source,
|
||||
CalendarSources *sources)
|
||||
calendar_sources_connect_client_thread (GTask *task,
|
||||
gpointer source_object,
|
||||
gpointer task_data,
|
||||
GCancellable *cancellable)
|
||||
{
|
||||
if (e_source_has_extension (source, E_SOURCE_EXTENSION_CALENDAR))
|
||||
CalendarSources *sources = source_object;
|
||||
AsyncContext *ctx = task_data;
|
||||
EClient *client;
|
||||
GError *local_error = NULL;
|
||||
|
||||
client = calendar_sources_connect_client_sync (sources, ctx->is_for_events, ctx->source, ctx->source_type,
|
||||
ctx->wait_for_connected_seconds, cancellable, &local_error);
|
||||
if (!client)
|
||||
{
|
||||
CalendarSourceData *source_data;
|
||||
|
||||
source_data = &sources->priv->appointment_sources;
|
||||
g_hash_table_remove (source_data->clients, source);
|
||||
g_signal_emit (sources, source_data->changed_signal, 0);
|
||||
}
|
||||
|
||||
if (e_source_has_extension (source, E_SOURCE_EXTENSION_TASK_LIST))
|
||||
{
|
||||
CalendarSourceData *source_data;
|
||||
|
||||
source_data = &sources->priv->task_sources;
|
||||
g_hash_table_remove (source_data->clients, source);
|
||||
g_signal_emit (sources, source_data->changed_signal, 0);
|
||||
if (local_error)
|
||||
g_task_return_error (task, local_error);
|
||||
else
|
||||
g_task_return_pointer (task, NULL, NULL);
|
||||
} else {
|
||||
g_task_return_pointer (task, client, g_object_unref);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
ensure_appointment_sources (CalendarSources *sources)
|
||||
void
|
||||
calendar_sources_connect_client (CalendarSources *sources,
|
||||
gboolean is_for_events,
|
||||
ESource *source,
|
||||
ECalClientSourceType source_type,
|
||||
guint32 wait_for_connected_seconds,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
if (!sources->priv->appointment_sources.loaded)
|
||||
AsyncContext *ctx;
|
||||
GTask *task;
|
||||
|
||||
ctx = g_slice_new0 (AsyncContext);
|
||||
ctx->is_for_events = is_for_events;
|
||||
ctx->source = g_object_ref (source);
|
||||
ctx->source_type = source_type;
|
||||
ctx->wait_for_connected_seconds = wait_for_connected_seconds;
|
||||
|
||||
task = g_task_new (sources, cancellable, callback, user_data);
|
||||
g_task_set_source_tag (task, calendar_sources_connect_client);
|
||||
g_task_set_task_data (task, ctx, async_context_free);
|
||||
|
||||
g_task_run_in_thread (task, calendar_sources_connect_client_thread);
|
||||
|
||||
g_object_unref (task);
|
||||
}
|
||||
|
||||
EClient *
|
||||
calendar_sources_connect_client_finish (CalendarSources *sources,
|
||||
GAsyncResult *result,
|
||||
GError **error)
|
||||
{
|
||||
g_return_val_if_fail (g_task_is_valid (result, sources), NULL);
|
||||
g_return_val_if_fail (g_async_result_is_tagged (result, calendar_sources_connect_client), NULL);
|
||||
|
||||
return g_task_propagate_pointer (G_TASK (result), error);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
print_debug (const gchar *format,
|
||||
...)
|
||||
{
|
||||
g_autofree char *s = NULL;
|
||||
g_autofree char *timestamp = NULL;
|
||||
va_list ap;
|
||||
g_autoptr (GDateTime) now = NULL;
|
||||
static volatile gsize once_init_value = 0;
|
||||
static gboolean show_debug = FALSE;
|
||||
static guint pid = 0;
|
||||
|
||||
if (g_once_init_enter (&once_init_value))
|
||||
{
|
||||
calendar_sources_load_esource_list (sources->priv->registry,
|
||||
&sources->priv->appointment_sources);
|
||||
sources->priv->appointment_sources.loaded = TRUE;
|
||||
show_debug = (g_getenv ("CALENDAR_SERVER_DEBUG") != NULL);
|
||||
pid = getpid ();
|
||||
g_once_init_leave (&once_init_value, 1);
|
||||
}
|
||||
}
|
||||
|
||||
GList *
|
||||
calendar_sources_get_appointment_clients (CalendarSources *sources)
|
||||
{
|
||||
GList *list, *link;
|
||||
|
||||
g_return_val_if_fail (CALENDAR_IS_SOURCES (sources), NULL);
|
||||
|
||||
ensure_appointment_sources (sources);
|
||||
|
||||
list = g_hash_table_get_values (sources->priv->appointment_sources.clients);
|
||||
|
||||
for (link = list; link != NULL; link = g_list_next (link))
|
||||
link->data = ((ClientData *) link->data)->client;
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
static void
|
||||
ensure_task_sources (CalendarSources *sources)
|
||||
{
|
||||
if (!sources->priv->task_sources.loaded)
|
||||
{
|
||||
calendar_sources_load_esource_list (sources->priv->registry,
|
||||
&sources->priv->task_sources);
|
||||
sources->priv->task_sources.loaded = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
GList *
|
||||
calendar_sources_get_task_clients (CalendarSources *sources)
|
||||
{
|
||||
GList *list, *link;
|
||||
|
||||
g_return_val_if_fail (CALENDAR_IS_SOURCES (sources), NULL);
|
||||
|
||||
ensure_task_sources (sources);
|
||||
|
||||
list = g_hash_table_get_values (sources->priv->task_sources.clients);
|
||||
|
||||
for (link = list; link != NULL; link = g_list_next (link))
|
||||
link->data = ((ClientData *) link->data)->client;
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
gboolean
|
||||
calendar_sources_has_sources (CalendarSources *sources)
|
||||
{
|
||||
g_return_val_if_fail (CALENDAR_IS_SOURCES (sources), FALSE);
|
||||
|
||||
ensure_appointment_sources (sources);
|
||||
ensure_task_sources (sources);
|
||||
|
||||
return g_hash_table_size (sources->priv->appointment_sources.clients) > 0 ||
|
||||
g_hash_table_size (sources->priv->task_sources.clients) > 0;
|
||||
|
||||
if (!show_debug)
|
||||
goto out;
|
||||
|
||||
now = g_date_time_new_now_local ();
|
||||
timestamp = g_date_time_format (now, "%H:%M:%S");
|
||||
|
||||
va_start (ap, format);
|
||||
s = g_strdup_vprintf (format, ap);
|
||||
va_end (ap);
|
||||
|
||||
g_print ("gnome-shell-calendar-server[%d]: %s.%03d: %s\n",
|
||||
pid, timestamp, g_date_time_get_microsecond (now), s);
|
||||
out:
|
||||
;
|
||||
}
|
||||
|
@@ -26,17 +26,46 @@
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
#define EDS_DISABLE_DEPRECATED
|
||||
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
|
||||
#include <libedataserver/libedataserver.h>
|
||||
#include <libecal/libecal.h>
|
||||
G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define CALENDAR_TYPE_SOURCES (calendar_sources_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (CalendarSources, calendar_sources,
|
||||
CALENDAR, SOURCES, GObject)
|
||||
|
||||
CalendarSources *calendar_sources_get (void);
|
||||
GList *calendar_sources_get_appointment_clients (CalendarSources *sources);
|
||||
GList *calendar_sources_get_task_clients (CalendarSources *sources);
|
||||
CalendarSources *calendar_sources_get (void);
|
||||
ESourceRegistry *calendar_sources_get_registry (CalendarSources *sources);
|
||||
GSList *calendar_sources_ref_clients (CalendarSources *sources);
|
||||
gboolean calendar_sources_has_clients (CalendarSources *sources);
|
||||
|
||||
gboolean calendar_sources_has_sources (CalendarSources *sources);
|
||||
EClient *calendar_sources_connect_client_sync(CalendarSources *sources,
|
||||
gboolean is_for_events,
|
||||
ESource *source,
|
||||
ECalClientSourceType source_type,
|
||||
guint32 wait_for_connected_seconds,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
void calendar_sources_connect_client (CalendarSources *sources,
|
||||
gboolean is_for_events,
|
||||
ESource *source,
|
||||
ECalClientSourceType source_type,
|
||||
guint32 wait_for_connected_seconds,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data);
|
||||
EClient *calendar_sources_connect_client_finish
|
||||
(CalendarSources *sources,
|
||||
GAsyncResult *result,
|
||||
GError **error);
|
||||
|
||||
/* Set the environment variable CALENDAR_SERVER_DEBUG to show debug */
|
||||
void print_debug (const gchar *str,
|
||||
...) G_GNUC_PRINTF (1, 2);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@@ -2,7 +2,9 @@ calendar_sources = [
|
||||
'gnome-shell-calendar-server.c',
|
||||
'calendar-debug.h',
|
||||
'calendar-sources.c',
|
||||
'calendar-sources.h'
|
||||
'calendar-sources.h',
|
||||
'reminder-watcher.c',
|
||||
'reminder-watcher.h'
|
||||
]
|
||||
|
||||
calendar_server = executable('gnome-shell-calendar-server', calendar_sources,
|
||||
|
767
src/calendar-server/reminder-watcher.c
Normal file
@@ -0,0 +1,767 @@
|
||||
/*
|
||||
* Copyright (C) 2020 Red Hat (www.redhat.com)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <glib/gi18n-lib.h>
|
||||
|
||||
#define HANDLE_LIBICAL_MEMORY
|
||||
#define EDS_DISABLE_DEPRECATED
|
||||
#include <libecal/libecal.h>
|
||||
|
||||
#include "calendar-sources.h"
|
||||
#include "reminder-watcher.h"
|
||||
|
||||
struct _ReminderWatcherPrivate {
|
||||
GApplication *application; /* not referenced */
|
||||
CalendarSources *sources;
|
||||
GSettings *settings;
|
||||
|
||||
GMutex dismiss_lock;
|
||||
GSList *dismiss; /* EReminderData * */
|
||||
GThread *dismiss_thread; /* not referenced, only to know whether it's scheduled */
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ReminderWatcher, reminder_watcher, E_TYPE_REMINDER_WATCHER)
|
||||
|
||||
static const gchar *
|
||||
reminder_watcher_get_rd_summary (const EReminderData *rd)
|
||||
{
|
||||
if (!rd)
|
||||
return NULL;
|
||||
|
||||
return i_cal_component_get_summary (e_cal_component_get_icalcomponent (e_reminder_data_get_component (rd)));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
reminder_watcher_notify_audio (ReminderWatcher *rw,
|
||||
const EReminderData *rd,
|
||||
ECalComponentAlarm *alarm)
|
||||
{
|
||||
#if 0
|
||||
ICalAttach *attach = NULL;
|
||||
GSList *attachments;
|
||||
gboolean did_play = FALSE;
|
||||
|
||||
g_return_val_if_fail (rw != NULL, FALSE);
|
||||
g_return_val_if_fail (rd != NULL, FALSE);
|
||||
g_return_val_if_fail (alarm != NULL, FALSE);
|
||||
|
||||
attachments = e_cal_component_alarm_get_attachments (alarm);
|
||||
if (attachments && !attachments->next)
|
||||
attach = attachments->data;
|
||||
|
||||
if (attach && i_cal_attach_get_is_url (attach))
|
||||
{
|
||||
const gchar *url;
|
||||
|
||||
url = i_cal_attach_get_url (attach);
|
||||
if (url && *url)
|
||||
{
|
||||
gchar *filename;
|
||||
GError *error = NULL;
|
||||
|
||||
filename = g_filename_from_uri (url, NULL, &error);
|
||||
|
||||
if (!filename)
|
||||
ean_debug_print ("Audio notify: Failed to convert URI '%s' to filename: %s\n", url, error ? error->message : "Unknown error");
|
||||
else if (g_file_test (filename, G_FILE_TEST_EXISTS))
|
||||
{
|
||||
#ifdef HAVE_CANBERRA
|
||||
gint err = ca_context_play (ca_gtk_context_get (), 0,
|
||||
CA_PROP_MEDIA_FILENAME, filename,
|
||||
NULL);
|
||||
|
||||
did_play = !err;
|
||||
|
||||
if (err)
|
||||
ean_debug_print ("Audio notify: Cannot play file '%s': %s\n", filename, ca_strerror (err));
|
||||
#else
|
||||
ean_debug_print ("Audio notify: Cannot play file '%s': Not compiled with libcanberra\n", filename);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
ean_debug_print ("Audio notify: File '%s' does not exist\n", filename);
|
||||
|
||||
g_clear_error (&error);
|
||||
g_free (filename);
|
||||
}
|
||||
else
|
||||
ean_debug_print ("Audio notify: Alarm has stored empty URL, fallback to default sound\n");
|
||||
}
|
||||
else if (!attach)
|
||||
ean_debug_print ("Audio notify: Alarm has no attachment, fallback to default sound\n");
|
||||
else
|
||||
ean_debug_print ("Audio notify: Alarm attachment is not a URL to sound file, fallback to default sound\n");
|
||||
|
||||
#ifdef HAVE_CANBERRA
|
||||
if (!did_play)
|
||||
{
|
||||
gint err = ca_context_play (ca_gtk_context_get (), 0,
|
||||
CA_PROP_EVENT_ID, "alarm-clock-elapsed",
|
||||
NULL);
|
||||
|
||||
did_play = !err;
|
||||
|
||||
if (err)
|
||||
ean_debug_print ("Audio notify: Cannot play event sound: %s\n", ca_strerror (err));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!did_play)
|
||||
{
|
||||
GdkDisplay *display;
|
||||
|
||||
display = rw->priv->window ? gtk_widget_get_display (rw->priv->window) : NULL;
|
||||
|
||||
if (!display)
|
||||
display = gdk_display_get_default ();
|
||||
|
||||
if (display)
|
||||
gdk_display_beep (display);
|
||||
else
|
||||
ean_debug_print ("Audio notify: Cannot beep, no display found\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
print_debug ("ReminderWatcher::Notify Audio for '%s'", reminder_watcher_get_rd_summary (rd));
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gchar *
|
||||
reminder_watcher_build_notif_id (const EReminderData *rd)
|
||||
{
|
||||
GString *string;
|
||||
ECalComponentId *id;
|
||||
ECalComponentAlarmInstance *instance;
|
||||
|
||||
g_return_val_if_fail (rd != NULL, NULL);
|
||||
|
||||
string = g_string_sized_new (32);
|
||||
|
||||
if (e_reminder_data_get_source_uid (rd))
|
||||
{
|
||||
g_string_append (string, e_reminder_data_get_source_uid (rd));
|
||||
g_string_append_c (string, '\n');
|
||||
}
|
||||
|
||||
id = e_cal_component_get_id (e_reminder_data_get_component (rd));
|
||||
if (id)
|
||||
{
|
||||
if (e_cal_component_id_get_uid (id))
|
||||
{
|
||||
g_string_append (string, e_cal_component_id_get_uid (id));
|
||||
g_string_append_c (string, '\n');
|
||||
}
|
||||
|
||||
if (e_cal_component_id_get_rid (id))
|
||||
{
|
||||
g_string_append (string, e_cal_component_id_get_rid (id));
|
||||
g_string_append_c (string, '\n');
|
||||
}
|
||||
|
||||
e_cal_component_id_free (id);
|
||||
}
|
||||
|
||||
instance = e_reminder_data_get_instance (rd);
|
||||
|
||||
g_string_append_printf (string, "%" G_GINT64_FORMAT, (gint64) (instance ? e_cal_component_alarm_instance_get_time (instance) : -1));
|
||||
|
||||
return g_string_free (string, FALSE);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
reminder_watcher_notify_display (ReminderWatcher *rw,
|
||||
const EReminderData *rd,
|
||||
ECalComponentAlarm *alarm)
|
||||
{
|
||||
GNotification *notification;
|
||||
#if 0
|
||||
GtkIconInfo *icon_info;
|
||||
#endif
|
||||
gchar *description, *notif_id;
|
||||
|
||||
g_return_val_if_fail (rw != NULL, FALSE);
|
||||
g_return_val_if_fail (rd != NULL, FALSE);
|
||||
g_return_val_if_fail (alarm != NULL, FALSE);
|
||||
|
||||
notif_id = reminder_watcher_build_notif_id (rd);
|
||||
description = e_reminder_watcher_describe_data (E_REMINDER_WATCHER (rw), rd, E_REMINDER_WATCHER_DESCRIBE_FLAG_NONE);
|
||||
|
||||
notification = g_notification_new (_("Reminders"));
|
||||
g_notification_set_body (notification, description);
|
||||
|
||||
#if 0
|
||||
icon_info = gtk_icon_theme_lookup_icon (gtk_icon_theme_get_default (), "appointment-soon", GTK_ICON_SIZE_DIALOG, 0);
|
||||
if (icon_info)
|
||||
{
|
||||
const gchar *filename;
|
||||
|
||||
filename = gtk_icon_info_get_filename (icon_info);
|
||||
if (filename && *filename)
|
||||
{
|
||||
GFile *file;
|
||||
GIcon *icon;
|
||||
|
||||
file = g_file_new_for_path (filename);
|
||||
icon = g_file_icon_new (file);
|
||||
|
||||
if (icon)
|
||||
{
|
||||
g_notification_set_icon (notification, icon);
|
||||
g_object_unref (icon);
|
||||
}
|
||||
|
||||
g_object_unref (file);
|
||||
}
|
||||
|
||||
gtk_icon_info_free (icon_info);
|
||||
}
|
||||
#endif
|
||||
|
||||
g_notification_add_button_with_target (notification, _("Dismiss"), "app.dismiss-reminder", "s", notif_id);
|
||||
g_notification_set_default_action_and_target (notification, "app.dismiss-reminder", "s", notif_id);
|
||||
|
||||
g_application_send_notification (rw->priv->application, notif_id, notification);
|
||||
|
||||
g_object_unref (notification);
|
||||
g_free (description);
|
||||
g_free (notif_id);
|
||||
|
||||
print_debug ("ReminderWatcher::Notify Display for '%s'", reminder_watcher_get_rd_summary (rd));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
reminder_watcher_notify_email (ReminderWatcher *rw,
|
||||
const EReminderData *rd,
|
||||
ECalComponentAlarm *alarm)
|
||||
{
|
||||
print_debug ("ReminderWatcher::Notify Email for '%s'", reminder_watcher_get_rd_summary (rd));
|
||||
|
||||
/* Nothing to do here */
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
reminder_watcher_is_blessed_program (GSettings *settings,
|
||||
const gchar *url)
|
||||
{
|
||||
gchar **list;
|
||||
gint ii;
|
||||
gboolean found = FALSE;
|
||||
|
||||
g_return_val_if_fail (G_IS_SETTINGS (settings), FALSE);
|
||||
g_return_val_if_fail (url != NULL, FALSE);
|
||||
|
||||
list = g_settings_get_strv (settings, "notify-programs");
|
||||
|
||||
for (ii = 0; list && list[ii] && !found; ii++)
|
||||
{
|
||||
found = g_strcmp0 (list[ii], url) == 0;
|
||||
}
|
||||
|
||||
g_strfreev (list);
|
||||
|
||||
return found;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void
|
||||
reminder_watcher_save_blessed_program (GSettings *settings,
|
||||
const gchar *url)
|
||||
{
|
||||
gchar **list;
|
||||
gint ii;
|
||||
GPtrArray *array;
|
||||
|
||||
g_return_if_fail (G_IS_SETTINGS (settings));
|
||||
g_return_if_fail (url != NULL);
|
||||
|
||||
array = g_ptr_array_new ();
|
||||
|
||||
list = g_settings_get_strv (settings, "notify-programs");
|
||||
|
||||
for (ii = 0; list && list[ii]; ii++)
|
||||
{
|
||||
if (g_strcmp0 (url, list[ii]) != 0)
|
||||
g_ptr_array_add (array, list[ii]);
|
||||
}
|
||||
|
||||
g_ptr_array_add (array, (gpointer) url);
|
||||
g_ptr_array_add (array, NULL);
|
||||
|
||||
g_settings_set_strv (settings, "notify-programs", (const gchar * const *) array->pdata);
|
||||
|
||||
g_ptr_array_free (array, TRUE);
|
||||
g_strfreev (list);
|
||||
}
|
||||
#endif
|
||||
|
||||
static gboolean
|
||||
reminder_watcher_can_procedure (ReminderWatcher *rw,
|
||||
const gchar *cmd,
|
||||
const gchar *url)
|
||||
{
|
||||
#if 0
|
||||
GtkWidget *container;
|
||||
GtkWidget *dialog;
|
||||
GtkWidget *label;
|
||||
GtkWidget *checkbox;
|
||||
gchar *str;
|
||||
gint response;
|
||||
#endif
|
||||
|
||||
if (reminder_watcher_is_blessed_program (rw->priv->settings, url))
|
||||
return TRUE;
|
||||
|
||||
#if 0
|
||||
dialog = gtk_dialog_new_with_buttons (
|
||||
_("Warning"), GTK_WINDOW (rw->priv->window), 0,
|
||||
_("_No"), GTK_RESPONSE_CANCEL,
|
||||
_("_Yes"), GTK_RESPONSE_OK,
|
||||
NULL);
|
||||
|
||||
str = g_strdup_printf (
|
||||
_("A calendar reminder is about to trigger. "
|
||||
"This reminder is configured to run the following program:\n\n"
|
||||
" %s\n\n"
|
||||
"Are you sure you want to run this program?"),
|
||||
cmd);
|
||||
label = gtk_label_new (str);
|
||||
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
|
||||
gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
|
||||
gtk_widget_show (label);
|
||||
|
||||
container = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
|
||||
gtk_box_pack_start (GTK_BOX (container), label, TRUE, TRUE, 4);
|
||||
g_free (str);
|
||||
|
||||
checkbox = gtk_check_button_new_with_label (_("Do not ask me about this program again"));
|
||||
gtk_widget_show (checkbox);
|
||||
gtk_box_pack_start (GTK_BOX (container), checkbox, TRUE, TRUE, 4);
|
||||
|
||||
response = gtk_dialog_run (GTK_DIALOG (dialog));
|
||||
|
||||
if (response == GTK_RESPONSE_OK &&
|
||||
gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox)))
|
||||
{
|
||||
reminder_watcher_save_blessed_program (rw->priv->settings, url);
|
||||
}
|
||||
|
||||
gtk_widget_destroy (dialog);
|
||||
|
||||
return response == GTK_RESPONSE_OK;
|
||||
#endif
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
reminder_watcher_notify_procedure (ReminderWatcher *rw,
|
||||
const EReminderData *rd,
|
||||
ECalComponentAlarm *alarm)
|
||||
{
|
||||
ECalComponentText *description;
|
||||
ICalAttach *attach = NULL;
|
||||
GSList *attachments;
|
||||
const gchar *url;
|
||||
gchar *cmd;
|
||||
gboolean result = FALSE;
|
||||
|
||||
g_return_val_if_fail (rw != NULL, FALSE);
|
||||
g_return_val_if_fail (rd != NULL, FALSE);
|
||||
g_return_val_if_fail (alarm != NULL, FALSE);
|
||||
|
||||
print_debug ("ReminderWatcher::Notify Procedure for '%s'", reminder_watcher_get_rd_summary (rd));
|
||||
|
||||
attachments = e_cal_component_alarm_get_attachments (alarm);
|
||||
|
||||
if (attachments && !attachments->next)
|
||||
attach = attachments->data;
|
||||
|
||||
description = e_cal_component_alarm_get_description (alarm);
|
||||
|
||||
/* If the alarm has no attachment, simply display a notification dialog. */
|
||||
if (!attach)
|
||||
goto fallback;
|
||||
|
||||
if (!i_cal_attach_get_is_url (attach))
|
||||
goto fallback;
|
||||
|
||||
url = i_cal_attach_get_url (attach);
|
||||
g_return_val_if_fail (url != NULL, FALSE);
|
||||
|
||||
/* Ask for confirmation before executing the stuff */
|
||||
if (description && e_cal_component_text_get_value (description))
|
||||
cmd = g_strconcat (url, " ", e_cal_component_text_get_value (description), NULL);
|
||||
else
|
||||
cmd = (gchar *) url;
|
||||
|
||||
if (reminder_watcher_can_procedure (rw, cmd, url))
|
||||
result = g_spawn_command_line_async (cmd, NULL);
|
||||
|
||||
if (cmd != (gchar *) url)
|
||||
g_free (cmd);
|
||||
|
||||
/* Fall back to display notification if we got an error */
|
||||
if (!result)
|
||||
goto fallback;
|
||||
|
||||
return FALSE;
|
||||
|
||||
fallback:
|
||||
|
||||
return reminder_watcher_notify_display (rw, rd, alarm);
|
||||
}
|
||||
|
||||
/* Returns %TRUE to keep it, %FALSE to dismiss it */
|
||||
static gboolean
|
||||
reminders_process_one (ReminderWatcher *rw,
|
||||
const EReminderData *rd,
|
||||
gboolean snoozed)
|
||||
{
|
||||
ECalComponentAlarm *alarm;
|
||||
ECalComponentAlarmInstance *instance;
|
||||
ECalComponentAlarmAction action;
|
||||
gboolean keep_in_reminders = FALSE;
|
||||
|
||||
g_return_val_if_fail (rw != NULL, FALSE);
|
||||
g_return_val_if_fail (rd != NULL, FALSE);
|
||||
|
||||
if (e_cal_component_get_vtype (e_reminder_data_get_component (rd)) == E_CAL_COMPONENT_TODO)
|
||||
{
|
||||
ICalPropertyStatus status;
|
||||
|
||||
status = e_cal_component_get_status (e_reminder_data_get_component (rd));
|
||||
|
||||
if (status == I_CAL_STATUS_COMPLETED &&
|
||||
!g_settings_get_boolean (rw->priv->settings, "notify-completed-tasks"))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
instance = e_reminder_data_get_instance (rd);
|
||||
|
||||
alarm = instance ? e_cal_component_get_alarm (e_reminder_data_get_component (rd), e_cal_component_alarm_instance_get_uid (instance)) : NULL;
|
||||
if (!alarm)
|
||||
return FALSE;
|
||||
|
||||
if (!snoozed && !g_settings_get_boolean (rw->priv->settings, "notify-past-events"))
|
||||
{
|
||||
ECalComponentAlarmTrigger *trigger;
|
||||
time_t offset = 0, event_relative, orig_trigger_day, today;
|
||||
|
||||
trigger = e_cal_component_alarm_get_trigger (alarm);
|
||||
|
||||
switch (trigger ? e_cal_component_alarm_trigger_get_kind (trigger) : E_CAL_COMPONENT_ALARM_TRIGGER_NONE)
|
||||
{
|
||||
case E_CAL_COMPONENT_ALARM_TRIGGER_NONE:
|
||||
case E_CAL_COMPONENT_ALARM_TRIGGER_ABSOLUTE:
|
||||
break;
|
||||
|
||||
case E_CAL_COMPONENT_ALARM_TRIGGER_RELATIVE_START:
|
||||
case E_CAL_COMPONENT_ALARM_TRIGGER_RELATIVE_END:
|
||||
offset = i_cal_duration_as_int (e_cal_component_alarm_trigger_get_duration (trigger));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
today = time (NULL);
|
||||
event_relative = e_cal_component_alarm_instance_get_occur_start (instance) - offset;
|
||||
|
||||
#define CLAMP_TO_DAY(x) ((x) - ((x) % (60 * 60 * 24)))
|
||||
|
||||
event_relative = CLAMP_TO_DAY (event_relative);
|
||||
orig_trigger_day = CLAMP_TO_DAY (e_cal_component_alarm_instance_get_time (instance));
|
||||
today = CLAMP_TO_DAY (today);
|
||||
|
||||
#undef CLAMP_TO_DAY
|
||||
|
||||
if (event_relative < today && orig_trigger_day < today)
|
||||
{
|
||||
e_cal_component_alarm_free (alarm);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
action = e_cal_component_alarm_get_action (alarm);
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case E_CAL_COMPONENT_ALARM_AUDIO:
|
||||
keep_in_reminders = reminder_watcher_notify_audio (rw, rd, alarm);
|
||||
break;
|
||||
|
||||
case E_CAL_COMPONENT_ALARM_DISPLAY:
|
||||
keep_in_reminders = reminder_watcher_notify_display (rw, rd, alarm);
|
||||
break;
|
||||
|
||||
case E_CAL_COMPONENT_ALARM_EMAIL:
|
||||
keep_in_reminders = reminder_watcher_notify_email (rw, rd, alarm);
|
||||
break;
|
||||
|
||||
case E_CAL_COMPONENT_ALARM_PROCEDURE:
|
||||
keep_in_reminders = reminder_watcher_notify_procedure (rw, rd, alarm);
|
||||
break;
|
||||
|
||||
case E_CAL_COMPONENT_ALARM_NONE:
|
||||
case E_CAL_COMPONENT_ALARM_UNKNOWN:
|
||||
break;
|
||||
}
|
||||
|
||||
e_cal_component_alarm_free (alarm);
|
||||
|
||||
return keep_in_reminders;
|
||||
}
|
||||
|
||||
static gpointer
|
||||
reminders_dismiss_thread (gpointer user_data)
|
||||
{
|
||||
ReminderWatcher *rw = user_data;
|
||||
EReminderWatcher *watcher;
|
||||
GSList *dismiss, *link;
|
||||
|
||||
g_return_val_if_fail (IS_REMINDER_WATCHER (rw), NULL);
|
||||
|
||||
g_mutex_lock (&rw->priv->dismiss_lock);
|
||||
dismiss = rw->priv->dismiss;
|
||||
rw->priv->dismiss = NULL;
|
||||
rw->priv->dismiss_thread = NULL;
|
||||
g_mutex_unlock (&rw->priv->dismiss_lock);
|
||||
|
||||
watcher = E_REMINDER_WATCHER (rw);
|
||||
if (watcher)
|
||||
{
|
||||
for (link = dismiss; link; link = g_slist_next (link))
|
||||
{
|
||||
EReminderData *rd = link->data;
|
||||
|
||||
if (rd)
|
||||
{
|
||||
/* Silently ignore any errors here */
|
||||
e_reminder_watcher_dismiss_sync (watcher, rd, NULL, NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
g_slist_free_full (dismiss, e_reminder_data_free);
|
||||
g_clear_object (&rw);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
reminders_triggered_cb (EReminderWatcher *watcher,
|
||||
const GSList *reminders, /* EReminderData * */
|
||||
gboolean snoozed,
|
||||
gpointer user_data)
|
||||
{
|
||||
ReminderWatcher *rw = REMINDER_WATCHER (watcher);
|
||||
GSList *link;
|
||||
|
||||
g_return_if_fail (IS_REMINDER_WATCHER (rw));
|
||||
|
||||
g_mutex_lock (&rw->priv->dismiss_lock);
|
||||
|
||||
for (link = (GSList *) reminders; link; link = g_slist_next (link))
|
||||
{
|
||||
const EReminderData *rd = link->data;
|
||||
|
||||
if (rd && !reminders_process_one (rw, rd, snoozed))
|
||||
{
|
||||
rw->priv->dismiss = g_slist_prepend (rw->priv->dismiss, e_reminder_data_copy (rd));
|
||||
}
|
||||
}
|
||||
|
||||
if (rw->priv->dismiss && !rw->priv->dismiss_thread)
|
||||
{
|
||||
rw->priv->dismiss_thread = g_thread_new (NULL, reminders_dismiss_thread, g_object_ref (rw));
|
||||
g_warn_if_fail (rw->priv->dismiss_thread != NULL);
|
||||
if (rw->priv->dismiss_thread)
|
||||
g_thread_unref (rw->priv->dismiss_thread);
|
||||
}
|
||||
|
||||
g_mutex_unlock (&rw->priv->dismiss_lock);
|
||||
}
|
||||
|
||||
static EClient *
|
||||
reminder_watcher_cal_client_connect_sync (EReminderWatcher *watcher,
|
||||
ESource *source,
|
||||
ECalClientSourceType source_type,
|
||||
guint32 wait_for_connected_seconds,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
ReminderWatcher *reminder_watcher = REMINDER_WATCHER (watcher);
|
||||
|
||||
return calendar_sources_connect_client_sync (reminder_watcher->priv->sources, FALSE, source, source_type,
|
||||
wait_for_connected_seconds, cancellable, error);
|
||||
}
|
||||
|
||||
static void
|
||||
reminder_watcher_cal_client_connect (EReminderWatcher *watcher,
|
||||
ESource *source,
|
||||
ECalClientSourceType source_type,
|
||||
guint32 wait_for_connected_seconds,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
ReminderWatcher *reminder_watcher = REMINDER_WATCHER (watcher);
|
||||
|
||||
calendar_sources_connect_client (reminder_watcher->priv->sources, FALSE, source, source_type,
|
||||
wait_for_connected_seconds, cancellable, callback, user_data);
|
||||
}
|
||||
|
||||
static EClient *
|
||||
reminder_watcher_cal_client_connect_finish (EReminderWatcher *watcher,
|
||||
GAsyncResult *result,
|
||||
GError **error)
|
||||
{
|
||||
ReminderWatcher *reminder_watcher = REMINDER_WATCHER (watcher);
|
||||
|
||||
return calendar_sources_connect_client_finish (reminder_watcher->priv->sources, result, error);
|
||||
}
|
||||
|
||||
static void
|
||||
reminder_watcher_constructed (GObject *object)
|
||||
{
|
||||
ReminderWatcher *rw = REMINDER_WATCHER (object);
|
||||
|
||||
G_OBJECT_CLASS (reminder_watcher_parent_class)->constructed (object);
|
||||
|
||||
rw->priv->sources = calendar_sources_get ();
|
||||
|
||||
g_signal_connect (rw, "triggered",
|
||||
G_CALLBACK (reminders_triggered_cb), NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
reminder_watcher_finalize (GObject *object)
|
||||
{
|
||||
ReminderWatcher *rw = REMINDER_WATCHER (object);
|
||||
|
||||
g_clear_object (&rw->priv->sources);
|
||||
g_clear_object (&rw->priv->settings);
|
||||
g_mutex_clear (&rw->priv->dismiss_lock);
|
||||
|
||||
G_OBJECT_CLASS (reminder_watcher_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
reminder_watcher_class_init (ReminderWatcherClass *klass)
|
||||
{
|
||||
GObjectClass *object_class;
|
||||
EReminderWatcherClass *watcher_class;
|
||||
|
||||
object_class = G_OBJECT_CLASS (klass);
|
||||
object_class->constructed = reminder_watcher_constructed;
|
||||
object_class->finalize = reminder_watcher_finalize;
|
||||
|
||||
watcher_class = E_REMINDER_WATCHER_CLASS (klass);
|
||||
watcher_class->cal_client_connect_sync = reminder_watcher_cal_client_connect_sync;
|
||||
watcher_class->cal_client_connect = reminder_watcher_cal_client_connect;
|
||||
watcher_class->cal_client_connect_finish = reminder_watcher_cal_client_connect_finish;
|
||||
}
|
||||
|
||||
static void
|
||||
reminder_watcher_init (ReminderWatcher *rw)
|
||||
{
|
||||
rw->priv = reminder_watcher_get_instance_private (rw);
|
||||
rw->priv->settings = g_settings_new ("org.gnome.evolution-data-server.calendar");
|
||||
|
||||
g_mutex_init (&rw->priv->dismiss_lock);
|
||||
}
|
||||
|
||||
EReminderWatcher *
|
||||
reminder_watcher_new (GApplication *application,
|
||||
ESourceRegistry *registry)
|
||||
{
|
||||
ReminderWatcher *rw;
|
||||
|
||||
g_return_val_if_fail (E_IS_SOURCE_REGISTRY (registry), NULL);
|
||||
|
||||
rw = g_object_new (TYPE_REMINDER_WATCHER,
|
||||
"registry", registry,
|
||||
NULL);
|
||||
|
||||
rw->priv->application = application;
|
||||
|
||||
return E_REMINDER_WATCHER (rw);
|
||||
}
|
||||
|
||||
static void
|
||||
reminder_watcher_dismiss_done_cb (GObject *source_object,
|
||||
GAsyncResult *result,
|
||||
gpointer user_data)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
if (!e_reminder_watcher_dismiss_finish (E_REMINDER_WATCHER (source_object), result, &error))
|
||||
{
|
||||
if (!g_error_matches (error, E_CLIENT_ERROR, E_CLIENT_ERROR_NOT_SUPPORTED))
|
||||
print_debug ("Dismiss: Failed with error: %s", error ? error->message : "Unknown error");
|
||||
|
||||
g_clear_error (&error);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
reminder_watcher_dismiss_by_id (EReminderWatcher *reminder_watcher,
|
||||
const gchar *id)
|
||||
{
|
||||
ReminderWatcher *rw;
|
||||
GSList *past, *link;
|
||||
|
||||
g_return_if_fail (IS_REMINDER_WATCHER (reminder_watcher));
|
||||
g_return_if_fail (id && *id);
|
||||
|
||||
rw = REMINDER_WATCHER (reminder_watcher);
|
||||
past = e_reminder_watcher_dup_past (reminder_watcher);
|
||||
|
||||
for (link = past; link; link = g_slist_next (link))
|
||||
{
|
||||
EReminderData *rd = link->data;
|
||||
gchar *rd_id;
|
||||
|
||||
rd_id = reminder_watcher_build_notif_id (rd);
|
||||
|
||||
if (g_strcmp0 (rd_id, id) == 0)
|
||||
{
|
||||
print_debug ("Dismiss: Going to dismiss '%s'", reminder_watcher_get_rd_summary (rd));
|
||||
|
||||
g_application_withdraw_notification (rw->priv->application, id);
|
||||
|
||||
e_reminder_watcher_dismiss (reminder_watcher, rd, NULL,
|
||||
reminder_watcher_dismiss_done_cb, NULL);
|
||||
|
||||
g_free (rd_id);
|
||||
break;
|
||||
}
|
||||
|
||||
g_free (rd_id);
|
||||
}
|
||||
|
||||
if (!link)
|
||||
print_debug ("Dismiss: Cannot find reminder '%s'", id);
|
||||
|
||||
g_slist_free_full (past, e_reminder_data_free);
|
||||
}
|
67
src/calendar-server/reminder-watcher.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* Copyright (C) 2020 Red Hat (www.redhat.com)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef REMINDER_WATCHER_H
|
||||
#define REMINDER_WATCHER_H
|
||||
|
||||
#define HANDLE_LIBICAL_MEMORY
|
||||
#define EDS_DISABLE_DEPRECATED
|
||||
#include <libecal/libecal.h>
|
||||
|
||||
/* Standard GObject macros */
|
||||
#define TYPE_REMINDER_WATCHER \
|
||||
(reminder_watcher_get_type ())
|
||||
#define REMINDER_WATCHER(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST \
|
||||
((obj), TYPE_REMINDER_WATCHER, ReminderWatcher))
|
||||
#define REMINDER_WATCHER_CLASS(cls) \
|
||||
(G_TYPE_CHECK_CLASS_CAST \
|
||||
((cls), TYPE_REMINDER_WATCHER, ReminderWatcherClass))
|
||||
#define IS_REMINDER_WATCHER(obj) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE \
|
||||
((obj), TYPE_REMINDER_WATCHER))
|
||||
#define IS_REMINDER_WATCHER_CLASS(cls) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE \
|
||||
((cls), TYPE_REMINDER_WATCHER))
|
||||
#define REMINDER_WATCHER_GET_CLASS(obj) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS \
|
||||
((obj), TYPE_REMINDER_WATCHER, ReminderWatcherClass))
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct _ReminderWatcher ReminderWatcher;
|
||||
typedef struct _ReminderWatcherClass ReminderWatcherClass;
|
||||
typedef struct _ReminderWatcherPrivate ReminderWatcherPrivate;
|
||||
|
||||
struct _ReminderWatcher {
|
||||
EReminderWatcher parent;
|
||||
ReminderWatcherPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ReminderWatcherClass {
|
||||
EReminderWatcherClass parent_class;
|
||||
};
|
||||
|
||||
GType reminder_watcher_get_type (void) G_GNUC_CONST;
|
||||
EReminderWatcher *reminder_watcher_new (GApplication *application,
|
||||
ESourceRegistry *registry);
|
||||
void reminder_watcher_dismiss_by_id(EReminderWatcher *reminder_watcher,
|
||||
const gchar *id);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* REMINDER_WATCHER_H */
|
@@ -1659,6 +1659,55 @@ delete_variant_cb (GObject *object,
|
||||
g_hash_table_remove (global->save_ops, object);
|
||||
}
|
||||
|
||||
static void
|
||||
replace_contents_worker (GTask *task,
|
||||
gpointer source_object,
|
||||
gpointer task_data,
|
||||
GCancellable *cancellable)
|
||||
{
|
||||
GFile *file = source_object;
|
||||
GBytes *bytes = task_data;
|
||||
GError *error = NULL;
|
||||
const gchar *data;
|
||||
gsize len;
|
||||
|
||||
data = g_bytes_get_data (bytes, &len);
|
||||
|
||||
if (!g_file_replace_contents (file, data, len, NULL, FALSE,
|
||||
G_FILE_CREATE_REPLACE_DESTINATION,
|
||||
NULL, cancellable, &error))
|
||||
g_task_return_error (task, g_steal_pointer (&error));
|
||||
else
|
||||
g_task_return_boolean (task, TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
replace_contents_async (GFile *path,
|
||||
GBytes *bytes,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
g_autoptr(GTask) task = NULL;
|
||||
|
||||
g_assert (G_IS_FILE (path));
|
||||
g_assert (bytes != NULL);
|
||||
g_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
|
||||
|
||||
task = g_task_new (path, cancellable, callback, user_data);
|
||||
g_task_set_source_tag (task, replace_contents_async);
|
||||
g_task_set_task_data (task, g_bytes_ref (bytes), (GDestroyNotify)g_bytes_unref);
|
||||
g_task_run_in_thread (task, replace_contents_worker);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
replace_contents_finish (GFile *file,
|
||||
GAsyncResult *result,
|
||||
GError **error)
|
||||
{
|
||||
return g_task_propagate_boolean (G_TASK (result), error);
|
||||
}
|
||||
|
||||
static void
|
||||
replace_variant_cb (GObject *object,
|
||||
GAsyncResult *result,
|
||||
@@ -1667,7 +1716,7 @@ replace_variant_cb (GObject *object,
|
||||
ShellGlobal *global = user_data;
|
||||
GError *error = NULL;
|
||||
|
||||
if (!g_file_replace_contents_finish (G_FILE (object), result, NULL, &error))
|
||||
if (!replace_contents_finish (G_FILE (object), result, &error))
|
||||
{
|
||||
if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
|
||||
{
|
||||
@@ -1703,12 +1752,19 @@ save_variant (ShellGlobal *global,
|
||||
}
|
||||
else
|
||||
{
|
||||
g_file_replace_contents_async (path,
|
||||
g_variant_get_data (variant),
|
||||
g_variant_get_size (variant),
|
||||
NULL, FALSE,
|
||||
G_FILE_CREATE_REPLACE_DESTINATION,
|
||||
cancellable, replace_variant_cb, global);
|
||||
g_autoptr(GBytes) bytes = NULL;
|
||||
|
||||
bytes = g_bytes_new_with_free_func (g_variant_get_data (variant),
|
||||
g_variant_get_size (variant),
|
||||
(GDestroyNotify)g_variant_unref,
|
||||
g_variant_ref (variant));
|
||||
/* g_file_replace_contents_async() can potentially fsync() from the
|
||||
* calling thread when completing the asynchronous task. Instead, we
|
||||
* want to force that fsync() to a thread to avoid blocking the
|
||||
* compositor main loop. Using our own replace_contents_async()
|
||||
* simply executes the operation synchronously from a thread.
|
||||
*/
|
||||
replace_contents_async (path, bytes, cancellable, replace_variant_cb, global);
|
||||
}
|
||||
|
||||
g_object_unref (path);
|
||||
|
@@ -170,6 +170,8 @@ shell_stack_navigate_focus (StWidget *widget,
|
||||
}
|
||||
|
||||
top_actor = clutter_actor_get_last_child (CLUTTER_ACTOR (widget));
|
||||
while (top_actor && !clutter_actor_is_visible (top_actor))
|
||||
top_actor = clutter_actor_get_previous_sibling (top_actor);
|
||||
if (ST_IS_WIDGET (top_actor))
|
||||
return st_widget_navigate_focus (ST_WIDGET (top_actor), from, direction, FALSE);
|
||||
else
|
||||
|
@@ -20,6 +20,8 @@
|
||||
#include <glib/gi18n-lib.h>
|
||||
#include <gtk/gtk.h>
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
#include <meta/display.h>
|
||||
#include <meta/meta-x11-display.h>
|
||||
|
||||
#include <locale.h>
|
||||
#ifdef HAVE__NL_TIME_FIRST_WEEKDAY
|
||||
@@ -639,3 +641,27 @@ shell_util_sd_notify (void)
|
||||
* our environment. */
|
||||
sd_notify (1, "READY=1");
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_util_has_x11_display_extension:
|
||||
* @display: A #MetaDisplay
|
||||
* @extension: An X11 extension
|
||||
*
|
||||
* If the corresponding X11 display provides the passed extension, return %TRUE,
|
||||
* otherwise %FALSE. If there is no X11 display, %FALSE is passed.
|
||||
*/
|
||||
gboolean
|
||||
shell_util_has_x11_display_extension (MetaDisplay *display,
|
||||
const char *extension)
|
||||
{
|
||||
MetaX11Display *x11_display;
|
||||
Display *xdisplay;
|
||||
int op, event, error;
|
||||
|
||||
x11_display = meta_display_get_x11_display (display);
|
||||
if (!x11_display)
|
||||
return FALSE;
|
||||
|
||||
xdisplay = meta_x11_display_get_xdisplay (x11_display);
|
||||
return XQueryExtension (xdisplay, extension, &op, &event, &error);
|
||||
}
|
||||
|
@@ -66,6 +66,9 @@ gboolean shell_util_stop_systemd_unit (const char *unit,
|
||||
|
||||
void shell_util_sd_notify (void);
|
||||
|
||||
gboolean shell_util_has_x11_display_extension (MetaDisplay *display,
|
||||
const char *extension);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __SHELL_UTIL_H__ */
|
||||
|