Compare commits
109 Commits
3.15.91
...
wip/fmuell
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
efba8774b5 | ||
|
|
ff68e268b2 | ||
|
|
d7ff7e062b | ||
|
|
87767422e4 | ||
|
|
73c35f8629 | ||
|
|
8f275a79a9 | ||
|
|
a504dd866b | ||
|
|
dfc51ef243 | ||
|
|
a25d2dc256 | ||
|
|
b2ae945cf2 | ||
|
|
681861c8c7 | ||
|
|
6d40cb98e7 | ||
|
|
81d7ab1e49 | ||
|
|
2212b4ea71 | ||
|
|
5650355da5 | ||
|
|
20a9206919 | ||
|
|
3533b2a8bc | ||
|
|
b8d2238ff0 | ||
|
|
96c8870820 | ||
|
|
177e9316b0 | ||
|
|
27b7e6ef4b | ||
|
|
32d686d90f | ||
|
|
f812e9be7d | ||
|
|
c7185d597b | ||
|
|
6380526c12 | ||
|
|
fa4f6c4561 | ||
|
|
a5b7eaec1a | ||
|
|
d165295c83 | ||
|
|
5f5874f8ca | ||
|
|
ab5e950cd0 | ||
|
|
3e760f5ca6 | ||
|
|
9e8a24467e | ||
|
|
d84d1f79a0 | ||
|
|
024ec36cc0 | ||
|
|
51b1258866 | ||
|
|
ff1b76f4c7 | ||
|
|
0389ae5299 | ||
|
|
35ab60b712 | ||
|
|
0ea15f70c3 | ||
|
|
f1c7a36dde | ||
|
|
cc9093f118 | ||
|
|
775a2ea051 | ||
|
|
cb3d5c2b51 | ||
|
|
dc1c31d704 | ||
|
|
777616d8b0 | ||
|
|
8aeebbbf78 | ||
|
|
dade67ba5a | ||
|
|
921a9071a1 | ||
|
|
90a08ba0b6 | ||
|
|
4e52ed9df7 | ||
|
|
01b51cd081 | ||
|
|
d1efc274e5 | ||
|
|
d48d787c1e | ||
|
|
e4ad31a5dd | ||
|
|
b61cb92053 | ||
|
|
e72450f5d8 | ||
|
|
d9211b8e20 | ||
|
|
c16b83fc3e | ||
|
|
8b5a44e119 | ||
|
|
b0be6b8678 | ||
|
|
bb73547acf | ||
|
|
d8fc58e174 | ||
|
|
b9fdffbb62 | ||
|
|
e48a83fcfc | ||
|
|
4c7eae7ef2 | ||
|
|
75745fc23f | ||
|
|
82479db084 | ||
|
|
9becb3985d | ||
|
|
4cb7df67b7 | ||
|
|
e0a12f55b9 | ||
|
|
b18240370d | ||
|
|
4253df6463 | ||
|
|
d8b43865a2 | ||
|
|
3eb8b9ef68 | ||
|
|
f96077bd0f | ||
|
|
741846d1ff | ||
|
|
f36d7bd078 | ||
|
|
bd51c92d65 | ||
|
|
2aed6ade79 | ||
|
|
83e5ea4827 | ||
|
|
5915348396 | ||
|
|
567dc70c9b | ||
|
|
8323891294 | ||
|
|
5bf8695295 | ||
|
|
7012437929 | ||
|
|
83ad98d640 | ||
|
|
1816f763d2 | ||
|
|
1a01f07b2c | ||
|
|
23d48fb334 | ||
|
|
dada0420b1 | ||
|
|
17a336c795 | ||
|
|
8c347965d7 | ||
|
|
e1816cd228 | ||
|
|
3614da6845 | ||
|
|
8aa1765f24 | ||
|
|
8eb0782f25 | ||
|
|
5f6aba7f4b | ||
|
|
986b14fb1b | ||
|
|
7c03b88b74 | ||
|
|
1f277ebcb9 | ||
|
|
8c54bc68e0 | ||
|
|
6e39be5b19 | ||
|
|
cf71ea016f | ||
|
|
4affa5528a | ||
|
|
8536f9312c | ||
|
|
a0e8456cb5 | ||
|
|
77074b5646 | ||
|
|
cd68ed8297 | ||
|
|
eaef067b3e |
@@ -80,12 +80,13 @@ StEntry {
|
||||
padding: 0 4px; }
|
||||
|
||||
/* Scrollbars */
|
||||
StScrollView.vfade {
|
||||
-st-vfade-offset: 68px; }
|
||||
StScrollView.hfade {
|
||||
-st-hfade-offset: 68px; }
|
||||
|
||||
StScrollBar {
|
||||
padding: 0; }
|
||||
StScrollBar.vfade {
|
||||
-st-vfade-offset: 68px; }
|
||||
StScrollBar.hfade {
|
||||
-st-hfade-offset: 68px; }
|
||||
StScrollView StScrollBar {
|
||||
min-width: 14px;
|
||||
min-height: 14px; }
|
||||
@@ -323,7 +324,7 @@ StScrollBar {
|
||||
|
||||
.prompt-dialog-headline {
|
||||
font-weight: bold;
|
||||
color: #b3b3b3; }
|
||||
color: #b2b2a9; }
|
||||
|
||||
.prompt-dialog-description:rtl {
|
||||
text-align: right; }
|
||||
@@ -392,14 +393,11 @@ StScrollBar {
|
||||
background-color: black;
|
||||
box-shadow: inset 0 1px 0px #0d0d0d;
|
||||
font-weight: bold; }
|
||||
.popup-menu .popup-menu-item:focus {
|
||||
background-color: #215d9c;
|
||||
color: #ffffff; }
|
||||
.popup-menu .popup-menu-item:hover {
|
||||
.popup-menu .popup-menu-item:hover, .popup-menu .popup-menu-item:focus {
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
color: #fff; }
|
||||
.popup-menu .popup-menu-item:active {
|
||||
background-color: #1c5187;
|
||||
background-color: #215d9c;
|
||||
color: #ffffff; }
|
||||
.popup-menu .popup-menu-item:insensitive {
|
||||
color: rgba(255, 255, 255, 0.5); }
|
||||
@@ -794,12 +792,12 @@ StScrollBar {
|
||||
padding: 13px;
|
||||
border: 1px solid #0d0d0d; }
|
||||
.system-menu-action:hover, .system-menu-action:focus {
|
||||
color: #ffffff;
|
||||
background-color: #215d9c;
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
color: #fff;
|
||||
border: none;
|
||||
padding: 14px; }
|
||||
.system-menu-action:active {
|
||||
background-color: #1c5187;
|
||||
background-color: #215d9c;
|
||||
color: #ffffff; }
|
||||
.system-menu-action > StIcon {
|
||||
icon-size: 16px; }
|
||||
@@ -820,7 +818,7 @@ StScrollBar {
|
||||
.popup-menu-icon {
|
||||
icon-size: 1.09em; }
|
||||
|
||||
.window-close, .notification-close {
|
||||
.window-close {
|
||||
background-image: url("resource:///org/gnome/shell/theme/close-window.svg");
|
||||
background-size: 32px;
|
||||
height: 32px;
|
||||
@@ -831,12 +829,6 @@ StScrollBar {
|
||||
.window-close:rtl {
|
||||
-st-background-image-shadow: 2px 2px 6px rgba(0, 0, 0, 0.5); }
|
||||
|
||||
.notification-close {
|
||||
-shell-close-overlap-x: 14px;
|
||||
-shell-close-overlap-y: -12px; }
|
||||
.notification-close:rtl {
|
||||
-shell-close-overlap-x: -14px; }
|
||||
|
||||
/* NETWORK DIALOGS */
|
||||
.nm-dialog {
|
||||
max-height: 500px;
|
||||
@@ -1157,7 +1149,7 @@ StScrollBar {
|
||||
|
||||
/* NOTIFICATIONS & MESSAGE TRAY */
|
||||
.url-highlighter {
|
||||
link-color: #215d9c; }
|
||||
link-color: #2a76c6; }
|
||||
|
||||
.notification-banner {
|
||||
font-size: 11pt;
|
||||
@@ -1192,32 +1184,6 @@ StScrollBar {
|
||||
.notification-banner .notification-button:hover, .notification-banner .notification-buttonfocus {
|
||||
background-color: #292f30; }
|
||||
|
||||
.notification {
|
||||
font-size: 11pt;
|
||||
width: 34em;
|
||||
margin: 5px;
|
||||
border-radius: 6px;
|
||||
color: #eeeeec;
|
||||
background-color: #2e3436;
|
||||
border: 1px solid black;
|
||||
spacing-rows: 4px;
|
||||
padding: 8px;
|
||||
spacing-columns: 10px; }
|
||||
|
||||
.notification-unexpanded {
|
||||
min-height: 48px;
|
||||
height: 48px; }
|
||||
|
||||
.notification-with-image {
|
||||
min-height: 159px; }
|
||||
|
||||
.notification-body {
|
||||
spacing: 5px; }
|
||||
|
||||
.notification-actions {
|
||||
paddinf-top: 18px;
|
||||
spacing: 6px; }
|
||||
|
||||
.summary-source-counter {
|
||||
font-size: 10pt;
|
||||
font-weight: bold;
|
||||
@@ -1231,36 +1197,20 @@ StScrollBar {
|
||||
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
|
||||
border-radius: 0.9em; }
|
||||
|
||||
.notification-scrollview {
|
||||
max-height: 18em;
|
||||
-st-vfade-offset: 24px; }
|
||||
.notification-scrollview:ltr > StScrollBar {
|
||||
padding-left: 6px; }
|
||||
.notification-scrollview:rtl > StScrollBar {
|
||||
padding-right: 6px; }
|
||||
|
||||
.notification-button {
|
||||
height: 24px; }
|
||||
|
||||
.notification-icon-button {
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
height: 24px;
|
||||
width: 24px; }
|
||||
.notification-icon-button > StIcon {
|
||||
icons-size: 16px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
padding: 2px; }
|
||||
|
||||
.secondary-icon {
|
||||
icon-size: 1.09em; }
|
||||
|
||||
.chat-body {
|
||||
spacing: 5px; }
|
||||
|
||||
.chat-response {
|
||||
margin: 5px; }
|
||||
|
||||
.chat-log-message {
|
||||
color: #e6e6e6; }
|
||||
|
||||
.chat-empty-line {
|
||||
font-size: 4px; }
|
||||
.chat-new-group {
|
||||
padding-top: 1em; }
|
||||
|
||||
.chat-received {
|
||||
padding-left: 4px; }
|
||||
@@ -1284,12 +1234,6 @@ StScrollBar {
|
||||
padding-left: 0;
|
||||
padding-right: 4px; }
|
||||
|
||||
.chat-notification-scrollview {
|
||||
max-height: 22em; }
|
||||
|
||||
.subscription-message {
|
||||
font-style: italic; }
|
||||
|
||||
.hotplug-transient-box {
|
||||
spacing: 6px;
|
||||
padding: 2px 72px 2px 12px; }
|
||||
@@ -1340,12 +1284,23 @@ StScrollBar {
|
||||
border-radius: 6px 0 0 0;
|
||||
border-right-width: 0; }
|
||||
|
||||
.legacy-tray-handle StIcon {
|
||||
icon-size: 24px; }
|
||||
.legacy-tray-handle,
|
||||
.legacy-tray-icon {
|
||||
padding: 6px; }
|
||||
.legacy-tray-handle StIcon,
|
||||
.legacy-tray-icon StIcon {
|
||||
icon-size: 24px; }
|
||||
.legacy-tray-handle:hover, .legacy-tray-handle:focus,
|
||||
.legacy-tray-icon:hover,
|
||||
.legacy-tray-icon:focus {
|
||||
background-color: rgba(255, 255, 255, 0.1); }
|
||||
|
||||
.legacy-tray-icon-box {
|
||||
padding: 6px;
|
||||
spacing: 12px; }
|
||||
.legacy-tray-icon-box:ltr {
|
||||
padding-left: 12px; }
|
||||
.legacy-tray-icon-box:rtl {
|
||||
padding-right: 12px; }
|
||||
.legacy-tray-icon-box StButton {
|
||||
width: 24px;
|
||||
height: 24px; }
|
||||
@@ -1454,10 +1409,12 @@ StScrollBar {
|
||||
/* Auth Dialogs & Screen Shield */
|
||||
.framed-user-icon {
|
||||
background-size: contain;
|
||||
border: 2px solid black;
|
||||
border: 2px solid #eeeeec;
|
||||
color: #eeeeec;
|
||||
border-radius: 3px; }
|
||||
.framed-user-icon:hover {
|
||||
border-color: #4d4d4d; }
|
||||
border-color: white;
|
||||
color: white; }
|
||||
|
||||
.login-dialog-banner-view {
|
||||
padding-top: 24px;
|
||||
@@ -1554,9 +1511,10 @@ StScrollBar {
|
||||
color: #ffffff; }
|
||||
.login-dialog-user-list-item .login-dialog-timed-login-indicator {
|
||||
height: 2px;
|
||||
background-color: transparent; }
|
||||
margin: 2px 0 0 0;
|
||||
background-color: #eeeeec; }
|
||||
.login-dialog-user-list-item:focus .login-dialog-timed-login-indicator {
|
||||
background-color: #2e3436; }
|
||||
background-color: #ffffff; }
|
||||
|
||||
.login-dialog-username,
|
||||
.user-widget-label {
|
||||
|
||||
Submodule data/theme/gnome-shell-sass updated: d2176f46bd...e7f8bec7ef
@@ -80,12 +80,13 @@ StEntry {
|
||||
padding: 0 4px; }
|
||||
|
||||
/* Scrollbars */
|
||||
StScrollView.vfade {
|
||||
-st-vfade-offset: 68px; }
|
||||
StScrollView.hfade {
|
||||
-st-hfade-offset: 68px; }
|
||||
|
||||
StScrollBar {
|
||||
padding: 0; }
|
||||
StScrollBar.vfade {
|
||||
-st-vfade-offset: 68px; }
|
||||
StScrollBar.hfade {
|
||||
-st-hfade-offset: 68px; }
|
||||
StScrollView StScrollBar {
|
||||
min-width: 14px;
|
||||
min-height: 14px; }
|
||||
@@ -323,7 +324,7 @@ StScrollBar {
|
||||
|
||||
.prompt-dialog-headline {
|
||||
font-weight: bold;
|
||||
color: #a6a69b; }
|
||||
color: #b2b2a9; }
|
||||
|
||||
.prompt-dialog-description:rtl {
|
||||
text-align: right; }
|
||||
@@ -392,14 +393,11 @@ StScrollBar {
|
||||
background-color: #343a3a;
|
||||
box-shadow: inset 0 1px 0px #282c2c;
|
||||
font-weight: bold; }
|
||||
.popup-menu .popup-menu-item:focus {
|
||||
background-color: #215d9c;
|
||||
color: #ffffff; }
|
||||
.popup-menu .popup-menu-item:hover {
|
||||
.popup-menu .popup-menu-item:hover, .popup-menu .popup-menu-item:focus {
|
||||
background-color: rgba(238, 238, 236, 0.1);
|
||||
color: #eeeeec; }
|
||||
.popup-menu .popup-menu-item:active {
|
||||
background-color: #1c5187;
|
||||
background-color: #215d9c;
|
||||
color: #ffffff; }
|
||||
.popup-menu .popup-menu-item:insensitive {
|
||||
color: rgba(238, 238, 236, 0.5); }
|
||||
@@ -794,12 +792,12 @@ StScrollBar {
|
||||
padding: 13px;
|
||||
border: 1px solid #282c2c; }
|
||||
.system-menu-action:hover, .system-menu-action:focus {
|
||||
color: #ffffff;
|
||||
background-color: #215d9c;
|
||||
background-color: rgba(238, 238, 236, 0.1);
|
||||
color: #eeeeec;
|
||||
border: none;
|
||||
padding: 14px; }
|
||||
.system-menu-action:active {
|
||||
background-color: #1c5187;
|
||||
background-color: #215d9c;
|
||||
color: #ffffff; }
|
||||
.system-menu-action > StIcon {
|
||||
icon-size: 16px; }
|
||||
@@ -820,7 +818,7 @@ StScrollBar {
|
||||
.popup-menu-icon {
|
||||
icon-size: 1.09em; }
|
||||
|
||||
.window-close, .notification-close {
|
||||
.window-close {
|
||||
background-image: url("resource:///org/gnome/shell/theme/close-window.svg");
|
||||
background-size: 32px;
|
||||
height: 32px;
|
||||
@@ -831,12 +829,6 @@ StScrollBar {
|
||||
.window-close:rtl {
|
||||
-st-background-image-shadow: 2px 2px 6px rgba(0, 0, 0, 0.5); }
|
||||
|
||||
.notification-close {
|
||||
-shell-close-overlap-x: 14px;
|
||||
-shell-close-overlap-y: -12px; }
|
||||
.notification-close:rtl {
|
||||
-shell-close-overlap-x: -14px; }
|
||||
|
||||
/* NETWORK DIALOGS */
|
||||
.nm-dialog {
|
||||
max-height: 500px;
|
||||
@@ -1157,7 +1149,7 @@ StScrollBar {
|
||||
|
||||
/* NOTIFICATIONS & MESSAGE TRAY */
|
||||
.url-highlighter {
|
||||
link-color: #215d9c; }
|
||||
link-color: #2a76c6; }
|
||||
|
||||
.notification-banner {
|
||||
font-size: 11pt;
|
||||
@@ -1192,32 +1184,6 @@ StScrollBar {
|
||||
.notification-banner .notification-button:hover, .notification-banner .notification-buttonfocus {
|
||||
background-color: #292f30; }
|
||||
|
||||
.notification {
|
||||
font-size: 11pt;
|
||||
width: 34em;
|
||||
margin: 5px;
|
||||
border-radius: 6px;
|
||||
color: #eeeeec;
|
||||
background-color: #2e3436;
|
||||
border: 1px solid #1c1f1f;
|
||||
spacing-rows: 4px;
|
||||
padding: 8px;
|
||||
spacing-columns: 10px; }
|
||||
|
||||
.notification-unexpanded {
|
||||
min-height: 48px;
|
||||
height: 48px; }
|
||||
|
||||
.notification-with-image {
|
||||
min-height: 159px; }
|
||||
|
||||
.notification-body {
|
||||
spacing: 5px; }
|
||||
|
||||
.notification-actions {
|
||||
paddinf-top: 18px;
|
||||
spacing: 6px; }
|
||||
|
||||
.summary-source-counter {
|
||||
font-size: 10pt;
|
||||
font-weight: bold;
|
||||
@@ -1231,36 +1197,20 @@ StScrollBar {
|
||||
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
|
||||
border-radius: 0.9em; }
|
||||
|
||||
.notification-scrollview {
|
||||
max-height: 18em;
|
||||
-st-vfade-offset: 24px; }
|
||||
.notification-scrollview:ltr > StScrollBar {
|
||||
padding-left: 6px; }
|
||||
.notification-scrollview:rtl > StScrollBar {
|
||||
padding-right: 6px; }
|
||||
|
||||
.notification-button {
|
||||
height: 24px; }
|
||||
|
||||
.notification-icon-button {
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
height: 24px;
|
||||
width: 24px; }
|
||||
.notification-icon-button > StIcon {
|
||||
icons-size: 16px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
padding: 2px; }
|
||||
|
||||
.secondary-icon {
|
||||
icon-size: 1.09em; }
|
||||
|
||||
.chat-body {
|
||||
spacing: 5px; }
|
||||
|
||||
.chat-response {
|
||||
margin: 5px; }
|
||||
|
||||
.chat-log-message {
|
||||
color: #d6d6d1; }
|
||||
|
||||
.chat-empty-line {
|
||||
font-size: 4px; }
|
||||
.chat-new-group {
|
||||
padding-top: 1em; }
|
||||
|
||||
.chat-received {
|
||||
padding-left: 4px; }
|
||||
@@ -1284,12 +1234,6 @@ StScrollBar {
|
||||
padding-left: 0;
|
||||
padding-right: 4px; }
|
||||
|
||||
.chat-notification-scrollview {
|
||||
max-height: 22em; }
|
||||
|
||||
.subscription-message {
|
||||
font-style: italic; }
|
||||
|
||||
.hotplug-transient-box {
|
||||
spacing: 6px;
|
||||
padding: 2px 72px 2px 12px; }
|
||||
@@ -1340,12 +1284,23 @@ StScrollBar {
|
||||
border-radius: 6px 0 0 0;
|
||||
border-right-width: 0; }
|
||||
|
||||
.legacy-tray-handle StIcon {
|
||||
icon-size: 24px; }
|
||||
.legacy-tray-handle,
|
||||
.legacy-tray-icon {
|
||||
padding: 6px; }
|
||||
.legacy-tray-handle StIcon,
|
||||
.legacy-tray-icon StIcon {
|
||||
icon-size: 24px; }
|
||||
.legacy-tray-handle:hover, .legacy-tray-handle:focus,
|
||||
.legacy-tray-icon:hover,
|
||||
.legacy-tray-icon:focus {
|
||||
background-color: rgba(238, 238, 236, 0.1); }
|
||||
|
||||
.legacy-tray-icon-box {
|
||||
padding: 6px;
|
||||
spacing: 12px; }
|
||||
.legacy-tray-icon-box:ltr {
|
||||
padding-left: 12px; }
|
||||
.legacy-tray-icon-box:rtl {
|
||||
padding-right: 12px; }
|
||||
.legacy-tray-icon-box StButton {
|
||||
width: 24px;
|
||||
height: 24px; }
|
||||
@@ -1454,10 +1409,12 @@ StScrollBar {
|
||||
/* Auth Dialogs & Screen Shield */
|
||||
.framed-user-icon {
|
||||
background-size: contain;
|
||||
border: 2px solid #1c1f1f;
|
||||
border: 2px solid #eeeeec;
|
||||
color: #eeeeec;
|
||||
border-radius: 3px; }
|
||||
.framed-user-icon:hover {
|
||||
border-color: #656f6f; }
|
||||
border-color: white;
|
||||
color: white; }
|
||||
|
||||
.login-dialog-banner-view {
|
||||
padding-top: 24px;
|
||||
@@ -1554,9 +1511,10 @@ StScrollBar {
|
||||
color: #ffffff; }
|
||||
.login-dialog-user-list-item .login-dialog-timed-login-indicator {
|
||||
height: 2px;
|
||||
background-color: transparent; }
|
||||
margin: 2px 0 0 0;
|
||||
background-color: #eeeeec; }
|
||||
.login-dialog-user-list-item:focus .login-dialog-timed-login-indicator {
|
||||
background-color: #2e3436; }
|
||||
background-color: #ffffff; }
|
||||
|
||||
.login-dialog-username,
|
||||
.user-widget-label {
|
||||
|
||||
@@ -22,6 +22,7 @@ const Clutter = imports.gi.Clutter;
|
||||
const Gdm = imports.gi.Gdm;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
@@ -71,6 +72,9 @@ const UserListItem = new Lang.Class({
|
||||
this._userWidget = new UserWidget.UserWidget(this.user);
|
||||
layout.add(this._userWidget.actor);
|
||||
|
||||
this._userWidget.actor.bind_property('label-actor', this.actor, 'label-actor',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
|
||||
this._timedLoginIndicator = new St.Bin({ style_class: 'login-dialog-timed-login-indicator',
|
||||
scale_x: 0 });
|
||||
layout.add(this._timedLoginIndicator);
|
||||
@@ -319,13 +323,15 @@ const SessionMenuButton = new Lang.Class({
|
||||
}
|
||||
},
|
||||
|
||||
setActiveSession: function(sessionId) {
|
||||
activeSessionChanged: function(sessionId) {
|
||||
if (sessionId == this._activeSessionId)
|
||||
return;
|
||||
|
||||
this._activeSessionId = sessionId;
|
||||
this._updateOrnament();
|
||||
},
|
||||
|
||||
setActiveSession: function(sessionId) {
|
||||
this.emit('session-activated', this._activeSessionId);
|
||||
},
|
||||
|
||||
@@ -350,9 +356,6 @@ const SessionMenuButton = new Lang.Class({
|
||||
this._menu.addMenuItem(item);
|
||||
this._items[id] = item;
|
||||
|
||||
if (!this._activeSessionId)
|
||||
this.setActiveSession(id);
|
||||
|
||||
item.connect('activate', Lang.bind(this, function() {
|
||||
this.setActiveSession(id);
|
||||
}));
|
||||
@@ -787,7 +790,7 @@ const LoginDialog = new Lang.Class({
|
||||
},
|
||||
|
||||
_onDefaultSessionChanged: function(client, sessionId) {
|
||||
this._sessionMenuButton.setActiveSession(sessionId);
|
||||
this._sessionMenuButton.activeSessionChanged(sessionId);
|
||||
},
|
||||
|
||||
_shouldShowSessionMenuButton: function() {
|
||||
|
||||
@@ -410,7 +410,7 @@ const ShellUserVerifier = new Lang.Class({
|
||||
_updateDefaultService: function() {
|
||||
if (this._settings.get_boolean(PASSWORD_AUTHENTICATION_KEY))
|
||||
this._defaultService = PASSWORD_SERVICE_NAME;
|
||||
else if (this.smartcardDetected)
|
||||
else if (this._settings.get_boolean(SMARTCARD_AUTHENTICATION_KEY))
|
||||
this._defaultService = SMARTCARD_SERVICE_NAME;
|
||||
else if (this._haveFingerprintReader)
|
||||
this._defaultService = FINGERPRINT_SERVICE_NAME;
|
||||
|
||||
@@ -44,6 +44,10 @@ function _sameDay(dateA, dateB) {
|
||||
return _sameMonth(dateA, dateB) && (dateA.getDate() == dateB.getDate());
|
||||
}
|
||||
|
||||
function _isToday(date) {
|
||||
return _sameDay(new Date(), date);
|
||||
}
|
||||
|
||||
function _isWorkDay(date) {
|
||||
/* Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
|
||||
let days = C_('calendar-no-work', "06");
|
||||
@@ -68,21 +72,6 @@ function _getEndOfDay(date) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
function _formatEventTime(event, periodBegin, periodEnd) {
|
||||
let ret;
|
||||
let allDay = (event.allDay || (event.date <= periodBegin && event.end >= periodEnd));
|
||||
if (allDay) {
|
||||
/* Translators: Shown in calendar event list for all day events
|
||||
* Keep it short, best if you can use less then 10 characters
|
||||
*/
|
||||
ret = C_("event list time", "All Day");
|
||||
} else {
|
||||
let date = event.date >= periodBegin ? event.date : event.end;
|
||||
ret = Util.formatTime(date, { timeOnly: true });
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
function _getCalendarDayAbbreviation(dayNumber) {
|
||||
let abbreviations = [
|
||||
/* Translators: Calendar grid abbreviation for Sunday.
|
||||
@@ -253,7 +242,8 @@ const URLHighlighter = new Lang.Class({
|
||||
const CalendarEvent = new Lang.Class({
|
||||
Name: 'CalendarEvent',
|
||||
|
||||
_init: function(date, end, summary, allDay) {
|
||||
_init: function(id, date, end, summary, allDay) {
|
||||
this.id = id;
|
||||
this.date = date;
|
||||
this.end = end;
|
||||
this.summary = summary;
|
||||
@@ -425,9 +415,10 @@ const DBusEventSource = new Lang.Class({
|
||||
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 event = new CalendarEvent(date, end, summary, allDay);
|
||||
let event = new CalendarEvent(id, date, end, summary, allDay);
|
||||
newEvents.push(event);
|
||||
}
|
||||
newEvents.sort(function(event1, event2) {
|
||||
@@ -1008,8 +999,7 @@ const Message = new Lang.Class({
|
||||
this._closeButton = new St.Button({ child: closeIcon, visible: false });
|
||||
titleBox.add_actor(this._closeButton);
|
||||
|
||||
this._bodyStack = new St.Widget({ x_expand: true,
|
||||
x_align: Clutter.ActorAlign.START });
|
||||
this._bodyStack = new St.Widget({ x_expand: true });
|
||||
this._bodyStack.layout_manager = new LabelExpanderLayout();
|
||||
contentBox.add_actor(this._bodyStack);
|
||||
|
||||
@@ -1018,16 +1008,17 @@ const Message = new Lang.Class({
|
||||
this._bodyStack.add_actor(this.bodyLabel.actor);
|
||||
this.setBody(body);
|
||||
|
||||
this._closeButton.connect('clicked', Lang.bind(this,
|
||||
function() {
|
||||
this.emit('close');
|
||||
}));
|
||||
this._closeButton.connect('clicked', Lang.bind(this, this.close));
|
||||
this.actor.connect('notify::hover', Lang.bind(this, this._sync));
|
||||
this.actor.connect('clicked', Lang.bind(this, this._onClicked));
|
||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||
this._sync();
|
||||
},
|
||||
|
||||
close: function() {
|
||||
this.emit('close');
|
||||
},
|
||||
|
||||
setIcon: function(actor) {
|
||||
this._iconBin.child = actor;
|
||||
this._iconBin.visible = (actor != null);
|
||||
@@ -1044,7 +1035,10 @@ const Message = new Lang.Class({
|
||||
|
||||
setBody: function(text) {
|
||||
this._bodyText = text;
|
||||
this.bodyLabel.setMarkup(text, this._useBodyMarkup);
|
||||
this.bodyLabel.setMarkup(text ? text.replace(/\n/g, ' ') : '',
|
||||
this._useBodyMarkup);
|
||||
if (this._expandedLabel)
|
||||
this._expandedLabel.setMarkup(text, this._useBodyMarkup);
|
||||
},
|
||||
|
||||
setUseBodyMarkup: function(enable) {
|
||||
@@ -1092,9 +1086,9 @@ const Message = new Lang.Class({
|
||||
this._actionBin.visible = (this._actionBin.get_n_children() > 0);
|
||||
|
||||
if (this._bodyStack.get_n_children() < 2) {
|
||||
let expandedLabel = new URLHighlighter(this._bodyText,
|
||||
true, this._useBodyMarkup);
|
||||
this.setExpandedBody(expandedLabel.actor);
|
||||
this._expandedLabel = new URLHighlighter(this._bodyText,
|
||||
true, this._useBodyMarkup);
|
||||
this.setExpandedBody(this._expandedLabel.actor);
|
||||
}
|
||||
|
||||
if (animate) {
|
||||
@@ -1135,13 +1129,13 @@ const Message = new Lang.Class({
|
||||
}
|
||||
},
|
||||
|
||||
canClear: function() {
|
||||
canClose: function() {
|
||||
return true;
|
||||
},
|
||||
|
||||
_sync: function() {
|
||||
let hovered = this.actor.hover;
|
||||
this._closeButton.visible = hovered;
|
||||
this._closeButton.visible = hovered && this.canClose();
|
||||
this._secondaryBin.visible = !hovered;
|
||||
},
|
||||
|
||||
@@ -1156,7 +1150,7 @@ const Message = new Lang.Class({
|
||||
|
||||
if (keysym == Clutter.KEY_Delete ||
|
||||
keysym == Clutter.KEY_KP_Delete) {
|
||||
this.emit('close');
|
||||
this.close();
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
@@ -1164,6 +1158,55 @@ const Message = new Lang.Class({
|
||||
});
|
||||
Signals.addSignalMethods(Message.prototype);
|
||||
|
||||
const EventMessage = new Lang.Class({
|
||||
Name: 'EventMessage',
|
||||
Extends: Message,
|
||||
|
||||
_init: function(event, date) {
|
||||
this._event = event;
|
||||
this._date = date;
|
||||
|
||||
this.parent(this._formatEventTime(), event.summary);
|
||||
},
|
||||
|
||||
_formatEventTime: function() {
|
||||
let periodBegin = _getBeginningOfDay(this._date);
|
||||
let periodEnd = _getEndOfDay(this._date);
|
||||
let allDay = (this._event.allDay || (this._event.date <= periodBegin &&
|
||||
this._event.end >= periodEnd));
|
||||
let title;
|
||||
if (allDay) {
|
||||
/* Translators: Shown in calendar event list for all day events
|
||||
* Keep it short, best if you can use less then 10 characters
|
||||
*/
|
||||
title = C_("event list time", "All Day");
|
||||
} else {
|
||||
let date = this._event.date >= periodBegin ? this._event.date
|
||||
: this._event.end;
|
||||
title = Util.formatTime(date, { timeOnly: true });
|
||||
}
|
||||
|
||||
let rtl = Clutter.get_default_text_direction() == Clutter.TextDirection.RTL;
|
||||
if (this._event.date < periodBegin && !this._event.allDay) {
|
||||
if (rtl)
|
||||
title = title + ELLIPSIS_CHAR;
|
||||
else
|
||||
title = ELLIPSIS_CHAR + title;
|
||||
}
|
||||
if (this._event.end > periodEnd && !this._event.allDay) {
|
||||
if (rtl)
|
||||
title = ELLIPSIS_CHAR + title;
|
||||
else
|
||||
title = title + ELLIPSIS_CHAR;
|
||||
}
|
||||
return title;
|
||||
},
|
||||
|
||||
canClose: function() {
|
||||
return _isToday(this._date);
|
||||
}
|
||||
});
|
||||
|
||||
const NotificationMessage = new Lang.Class({
|
||||
Name: 'NotificationMessage',
|
||||
Extends: Message,
|
||||
@@ -1184,7 +1227,7 @@ const NotificationMessage = new Lang.Class({
|
||||
notification.connect('destroy', Lang.bind(this,
|
||||
function() {
|
||||
if (!this._closed)
|
||||
this.emit('close');
|
||||
this.close();
|
||||
}));
|
||||
this._updatedId = notification.connect('updated',
|
||||
Lang.bind(this, this._onUpdated));
|
||||
@@ -1204,7 +1247,7 @@ const NotificationMessage = new Lang.Class({
|
||||
this.setUseBodyMarkup(n.bannerBodyMarkup);
|
||||
},
|
||||
|
||||
canClear: function() {
|
||||
canClose: function() {
|
||||
return !this.notification.resident;
|
||||
},
|
||||
|
||||
@@ -1289,7 +1332,7 @@ const MessageListSection = new Lang.Class({
|
||||
},
|
||||
|
||||
addMessage: function(message, animate) {
|
||||
this.addMessageAtIndex(message, 0, animate);
|
||||
this.addMessageAtIndex(message, -1, animate);
|
||||
},
|
||||
|
||||
addMessageAtIndex: function(message, index, animate) {
|
||||
@@ -1358,26 +1401,30 @@ const MessageListSection = new Lang.Class({
|
||||
|
||||
this._messages.delete(message);
|
||||
|
||||
if (animate)
|
||||
if (animate) {
|
||||
Tweener.addTween(obj.container, { scale_x: 0, scale_y: 0,
|
||||
time: MESSAGE_ANIMATION_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: function() {
|
||||
obj.container.destroy();
|
||||
global.sync_pointer();
|
||||
}});
|
||||
else
|
||||
} else {
|
||||
obj.container.destroy();
|
||||
global.sync_pointer();
|
||||
}
|
||||
},
|
||||
|
||||
clear: function() {
|
||||
let messages = [...this._messages.keys()].filter(function(message) {
|
||||
return message.canClear();
|
||||
return message.canClose();
|
||||
});
|
||||
|
||||
// If there are few messages, letting them all zoom out looks OK
|
||||
if (messages.length < 2) {
|
||||
messages.forEach(Lang.bind(this, function(message) {
|
||||
this.removeMessage(message, true); }));
|
||||
messages.forEach(function(message) {
|
||||
message.close();
|
||||
});
|
||||
} else {
|
||||
// Otherwise we slide them out one by one, and then zoom them
|
||||
// out "off-screen" in the end to smoothly shrink the parent
|
||||
@@ -1391,25 +1438,20 @@ const MessageListSection = new Lang.Class({
|
||||
time: MESSAGE_ANIMATION_TIME,
|
||||
delay: i * delay,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: Lang.bind(this, function() {
|
||||
this.removeMessage(message, true);
|
||||
})});
|
||||
onComplete: function() {
|
||||
message.close();
|
||||
}});
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_canClear: function() {
|
||||
for (let message of this._messages.keys())
|
||||
if (message.canClear())
|
||||
if (message.canClose())
|
||||
return true;
|
||||
return false;
|
||||
},
|
||||
|
||||
_isToday: function() {
|
||||
let today = new Date();
|
||||
return _sameDay(this._date, today);
|
||||
},
|
||||
|
||||
_shouldShow: function() {
|
||||
return !this.empty;
|
||||
},
|
||||
@@ -1437,6 +1479,15 @@ const EventsSection = new Lang.Class({
|
||||
this._desktopSettings.connect('changed', Lang.bind(this, this._reloadEvents));
|
||||
this._eventSource = new EmptyEventSource();
|
||||
|
||||
this._ignoredEvents = new Map();
|
||||
|
||||
let savedState = global.get_persistent_state('as', 'ignored_events');
|
||||
if (savedState)
|
||||
savedState.deep_unpack().forEach(Lang.bind(this,
|
||||
function(eventId) {
|
||||
this._ignoredEvents.set(eventId, true);
|
||||
}));
|
||||
|
||||
this.parent('');
|
||||
|
||||
Shell.AppSystem.get_default().connect('installed-changed',
|
||||
@@ -1444,6 +1495,12 @@ const EventsSection = new Lang.Class({
|
||||
this._appInstalledChanged();
|
||||
},
|
||||
|
||||
_ignoreEvent: function(event) {
|
||||
this._ignoredEvents.set(event.id, true);
|
||||
let savedState = new GLib.Variant('as', [...this._ignoredEvents.keys()]);
|
||||
global.set_persistent_state('ignored_events', savedState);
|
||||
},
|
||||
|
||||
setEventSource: function(eventSource) {
|
||||
this._eventSource = eventSource;
|
||||
this._eventSource.connect('changed', Lang.bind(this, this._reloadEvents));
|
||||
@@ -1454,13 +1511,13 @@ const EventsSection = new Lang.Class({
|
||||
},
|
||||
|
||||
_updateTitle: function() {
|
||||
let now = new Date();
|
||||
if (_sameDay(this._date, now)) {
|
||||
if (_isToday(this._date)) {
|
||||
this._title.label = _("Events");
|
||||
return;
|
||||
}
|
||||
|
||||
let dayFormat;
|
||||
let now = new Date();
|
||||
if (_sameYear(this._date, now))
|
||||
/* Translators: Shown on calendar heading when selected day occurs on current year */
|
||||
dayFormat = Shell.util_translate_time_string(NC_("calendar heading",
|
||||
@@ -1486,22 +1543,15 @@ const EventsSection = new Lang.Class({
|
||||
|
||||
for (let i = 0; i < events.length; i++) {
|
||||
let event = events[i];
|
||||
let title = _formatEventTime(event, periodBegin, periodEnd);
|
||||
|
||||
let rtl = this.actor.get_text_direction() == Clutter.TextDirection.RTL;
|
||||
if (event.date < periodBegin && !event.allDay) {
|
||||
if (rtl)
|
||||
title = title + ELLIPSIS_CHAR;
|
||||
else
|
||||
title = ELLIPSIS_CHAR + title;
|
||||
}
|
||||
if (event.end > periodEnd && !event.allDay) {
|
||||
if (rtl)
|
||||
title = ELLIPSIS_CHAR + title;
|
||||
else
|
||||
title = title + ELLIPSIS_CHAR;
|
||||
}
|
||||
this.addMessage(new Message(title, event.summary), false);
|
||||
if (this._ignoredEvents.has(event.id))
|
||||
continue;
|
||||
|
||||
let message = new EventMessage(event, this._date);
|
||||
message.connect('close', Lang.bind(this, function() {
|
||||
this._ignoreEvent(event);
|
||||
}));
|
||||
this.addMessage(message, false);
|
||||
}
|
||||
|
||||
this._reloading = false;
|
||||
@@ -1544,7 +1594,7 @@ const EventsSection = new Lang.Class({
|
||||
},
|
||||
|
||||
_shouldShow: function() {
|
||||
return !this.empty || !this._isToday();
|
||||
return !this.empty || !_isToday(this._date);
|
||||
},
|
||||
|
||||
_sync: function() {
|
||||
@@ -1663,7 +1713,7 @@ const NotificationSection = new Lang.Class({
|
||||
},
|
||||
|
||||
_shouldShow: function() {
|
||||
return !this.empty && this._isToday();
|
||||
return !this.empty && _isToday(this._date);
|
||||
},
|
||||
|
||||
_sync: function() {
|
||||
@@ -1703,7 +1753,7 @@ const Placeholder = new Lang.Class({
|
||||
},
|
||||
|
||||
_sync: function() {
|
||||
let isToday = _sameDay(this._date, new Date());
|
||||
let isToday = _isToday(this._date);
|
||||
if (isToday && this._icon.gicon == this._todayIcon)
|
||||
return;
|
||||
if (!isToday && this._icon.gicon == this._otherIcon)
|
||||
|
||||
@@ -12,6 +12,8 @@ const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
|
||||
const Config = imports.misc.config;
|
||||
const Main = imports.ui.main;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
@@ -338,6 +340,7 @@ const NetworkSecretDialog = new Lang.Class({
|
||||
content.message = _("PIN code is needed for the mobile broadband device");
|
||||
content.secrets.push({ label: _("PIN: "), key: 'pin',
|
||||
value: gsmSetting.pin || '', password: true });
|
||||
break;
|
||||
}
|
||||
// fall through
|
||||
case 'cdma':
|
||||
@@ -610,6 +613,7 @@ const NetworkAgent = new Lang.Class({
|
||||
|
||||
this._dialogs = { };
|
||||
this._vpnRequests = { };
|
||||
this._notifications = { };
|
||||
|
||||
this._native.connect('new-request', Lang.bind(this, this._newRequest));
|
||||
this._native.connect('cancel-request', Lang.bind(this, this._cancelRequest));
|
||||
@@ -632,21 +636,92 @@ const NetworkAgent = new Lang.Class({
|
||||
this._vpnRequests[requestId].cancel(true);
|
||||
this._vpnRequests = { };
|
||||
|
||||
for (requestId in this._notifications)
|
||||
this._notifications[requestId].destroy();
|
||||
this._notifications = { };
|
||||
|
||||
this._enabled = false;
|
||||
},
|
||||
|
||||
_showNotification: function(requestId, connection, settingName, hints, flags) {
|
||||
let source = new MessageTray.Source(_("Network Manager"), 'network-transmit-receive');
|
||||
source.policy = new MessageTray.NotificationApplicationPolicy('gnome-network-panel');
|
||||
|
||||
let title, body;
|
||||
|
||||
let connectionSetting = connection.get_setting_connection();
|
||||
let connectionType = connectionSetting.get_connection_type();
|
||||
switch (connectionType) {
|
||||
case '802-11-wireless':
|
||||
let wirelessSetting = connection.get_setting_wireless();
|
||||
let ssid = NetworkManager.utils_ssid_to_utf8(wirelessSetting.get_ssid());
|
||||
title = _("Authentication required by wireless network");
|
||||
body = _("Passwords or encryption keys are required to access the wireless network “%s”.").format(ssid);
|
||||
break;
|
||||
case '802-3-ethernet':
|
||||
title = _("Wired 802.1X authentication");
|
||||
body = _("A password is required to connect to “%s”.".format(connection.get_id()));
|
||||
break;
|
||||
case 'pppoe':
|
||||
title = _("DSL authentication");
|
||||
body = _("A password is required to connect to “%s”.".format(connection.get_id()));
|
||||
break;
|
||||
case 'gsm':
|
||||
if (hints.indexOf('pin') != -1) {
|
||||
let gsmSetting = connection.get_setting_gsm();
|
||||
title = _("PIN code required");
|
||||
message = _("PIN code is needed for the mobile broadband device");
|
||||
break;
|
||||
}
|
||||
// fall through
|
||||
case 'cdma':
|
||||
case 'bluetooth':
|
||||
title = _("Mobile broadband network password");
|
||||
message = _("A password is required to connect to “%s”.").format(connectionSetting.get_id());
|
||||
break;
|
||||
default:
|
||||
log('Invalid connection type: ' + connectionType);
|
||||
this._native.respond(requestId, Shell.NetworkAgentResponse.INTERNAL_ERROR);
|
||||
return;
|
||||
}
|
||||
|
||||
let notification = new MessageTray.Notification(source, title, body);
|
||||
|
||||
notification.connect('activated', Lang.bind(this, function() {
|
||||
notification.answered = true;
|
||||
this._handleRequest(requestId, connection, settingName, hints, flags);
|
||||
}));
|
||||
|
||||
this._notifications[requestId] = notification;
|
||||
notification.connect('destroy', Lang.bind(this, function() {
|
||||
if (!notification.answered)
|
||||
this._native.respond(requestId, Shell.NetworkAgentResponse.USER_CANCELED);
|
||||
delete this._notifications[requestId];
|
||||
}));
|
||||
|
||||
Main.messageTray.add(source);
|
||||
source.notify(notification);
|
||||
},
|
||||
|
||||
_newRequest: function(agent, requestId, connection, settingName, hints, flags) {
|
||||
if (!this._enabled) {
|
||||
agent.respond(requestId, Shell.NetworkAgentResponse.USER_CANCELED);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(flags & NMClient.SecretAgentGetSecretsFlags.USER_REQUESTED))
|
||||
this._showNotification(requestId, connection, settingName, hints, flags);
|
||||
else
|
||||
this._handleRequest(requestId, connection, settingName, hints, flags);
|
||||
},
|
||||
|
||||
_handleRequest: function(requestId, connection, settingName, hints, flags) {
|
||||
if (settingName == 'vpn') {
|
||||
this._vpnRequest(requestId, connection, hints, flags);
|
||||
return;
|
||||
}
|
||||
|
||||
let dialog = new NetworkSecretDialog(agent, requestId, connection, settingName, hints);
|
||||
let dialog = new NetworkSecretDialog(this._native, requestId, connection, settingName, hints);
|
||||
dialog.connect('destroy', Lang.bind(this, function() {
|
||||
delete this._dialogs[requestId];
|
||||
}));
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Lang = imports.lang;
|
||||
const Mainloop = imports.mainloop;
|
||||
const Shell = imports.gi.Shell;
|
||||
@@ -31,6 +32,8 @@ const SCROLLBACK_HISTORY_LINES = 10;
|
||||
// See Notification._onEntryChanged
|
||||
const COMPOSING_STOP_TIMEOUT = 5;
|
||||
|
||||
const CHAT_EXPAND_LINES = 12;
|
||||
|
||||
const NotificationDirection = {
|
||||
SENT: 'chat-sent',
|
||||
RECEIVED: 'chat-received'
|
||||
@@ -273,13 +276,13 @@ const ChatSource = new Lang.Class({
|
||||
|
||||
this._notification = new ChatNotification(this);
|
||||
this._notification.connect('activated', Lang.bind(this, this.open));
|
||||
this._notification.setUrgency(MessageTray.Urgency.HIGH);
|
||||
this._notification.connect('updated', Lang.bind(this,
|
||||
function() {
|
||||
if (this._banner && this._banner.expanded)
|
||||
this._ackMessages();
|
||||
}));
|
||||
this._notifyTimeoutId = 0;
|
||||
|
||||
// We ack messages when the user expands the new notification or views the summary
|
||||
// notification, in which case the notification is also expanded.
|
||||
this._notification.connect('expanded', Lang.bind(this, this._ackMessages));
|
||||
|
||||
this._presence = contact.get_presence_type();
|
||||
|
||||
this._sentId = this._channel.connect('message-sent', Lang.bind(this, this._messageSent));
|
||||
@@ -301,6 +304,20 @@ const ChatSource = new Lang.Class({
|
||||
return new MessageTray.NotificationApplicationPolicy('empathy');
|
||||
},
|
||||
|
||||
createBanner: function() {
|
||||
this._banner = new ChatNotificationBanner(this._notification);
|
||||
|
||||
// We ack messages when the user expands the new notification
|
||||
let id = this._banner.connect('expanded', Lang.bind(this, this._ackMessages));
|
||||
this._banner.actor.connect('destroy', Lang.bind(this,
|
||||
function() {
|
||||
this._banner.disconnect(id);
|
||||
this._banner = null;
|
||||
}));
|
||||
|
||||
return this._banner;
|
||||
},
|
||||
|
||||
_updateAlias: function() {
|
||||
let oldAlias = this.title;
|
||||
let newAlias = this._contact.get_alias();
|
||||
@@ -352,10 +369,15 @@ const ChatSource = new Lang.Class({
|
||||
|
||||
_updateAvatarIcon: function() {
|
||||
this.iconUpdated();
|
||||
this._notification.update(this._notification.title, null, { customContent: true });
|
||||
this._notification.update(this._notification.title,
|
||||
this._notification.bannerBodyText,
|
||||
{ gicon: this.getIcon() });
|
||||
},
|
||||
|
||||
open: function() {
|
||||
Main.overview.hide();
|
||||
Main.panel.closeCalendar();
|
||||
|
||||
if (this._client.is_handling_channel(this._channel)) {
|
||||
// We are handling the channel, try to pass it to Empathy or Polari
|
||||
// (depending on the channel type)
|
||||
@@ -543,14 +565,9 @@ const ChatSource = new Lang.Class({
|
||||
},
|
||||
|
||||
_presenceChanged: function (contact, presence, status, message) {
|
||||
let msg, title;
|
||||
|
||||
title = GLib.markup_escape_text(this.title, -1);
|
||||
|
||||
this._notification.update(this._notification.title, null, { customContent: true, secondaryGIcon: this.getSecondaryIcon() });
|
||||
|
||||
if (message)
|
||||
msg += ' <i>(' + GLib.markup_escape_text(message, -1) + ')</i>';
|
||||
this._notification.update(this._notification.title,
|
||||
this._notification.bannerBodyText,
|
||||
{ secondaryGIcon: this.getSecondaryIcon() });
|
||||
},
|
||||
|
||||
_pendingRemoved: function(channel, message) {
|
||||
@@ -574,42 +591,13 @@ const ChatNotification = new Lang.Class({
|
||||
Extends: MessageTray.Notification,
|
||||
|
||||
_init: function(source) {
|
||||
this.parent(source, source.title, null, { customContent: true, secondaryGIcon: source.getSecondaryIcon() });
|
||||
this.parent(source, source.title, null,
|
||||
{ secondaryGIcon: source.getSecondaryIcon() });
|
||||
this.setUrgency(MessageTray.Urgency.HIGH);
|
||||
this.setResident(true);
|
||||
|
||||
this._responseEntry = new St.Entry({ style_class: 'chat-response',
|
||||
can_focus: true });
|
||||
this._responseEntry.clutter_text.connect('activate', Lang.bind(this, this._onEntryActivated));
|
||||
this._responseEntry.clutter_text.connect('text-changed', Lang.bind(this, this._onEntryChanged));
|
||||
this.setActionArea(this._responseEntry);
|
||||
|
||||
this._responseEntry.clutter_text.connect('key-focus-in', Lang.bind(this, function() {
|
||||
this.focused = true;
|
||||
}));
|
||||
this._responseEntry.clutter_text.connect('key-focus-out', Lang.bind(this, function() {
|
||||
this.focused = false;
|
||||
this.emit('unfocused');
|
||||
}));
|
||||
|
||||
this._createScrollArea();
|
||||
this._lastGroup = null;
|
||||
|
||||
// Keep track of the bottom position for the current adjustment and
|
||||
// force a scroll to the bottom if things change while we were at the
|
||||
// bottom
|
||||
this._oldMaxScrollValue = this._scrollArea.vscroll.adjustment.value;
|
||||
this._scrollArea.add_style_class_name('chat-notification-scrollview');
|
||||
this._scrollArea.vscroll.adjustment.connect('changed', Lang.bind(this, function(adjustment) {
|
||||
if (adjustment.value == this._oldMaxScrollValue)
|
||||
this.scrollTo(St.Side.BOTTOM);
|
||||
this._oldMaxScrollValue = Math.max(adjustment.lower, adjustment.upper - adjustment.page_size);
|
||||
}));
|
||||
|
||||
this._inputHistory = new History.HistoryManager({ entry: this._responseEntry.clutter_text });
|
||||
|
||||
this._history = [];
|
||||
this.messages = [];
|
||||
this._timestampTimeoutId = 0;
|
||||
this._composingTimeoutId = 0;
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -635,10 +623,8 @@ const ChatNotification = new Lang.Class({
|
||||
styles.push('chat-action');
|
||||
}
|
||||
|
||||
if (message.direction == NotificationDirection.RECEIVED) {
|
||||
this.update(this.source.title, messageBody, { customContent: true,
|
||||
bannerMarkup: true });
|
||||
}
|
||||
if (message.direction == NotificationDirection.RECEIVED)
|
||||
this.update(this.source.title, messageBody, { bannerMarkup: true });
|
||||
|
||||
let group = (message.direction == NotificationDirection.RECEIVED ?
|
||||
'received' : 'sent');
|
||||
@@ -651,10 +637,10 @@ const ChatNotification = new Lang.Class({
|
||||
},
|
||||
|
||||
_filterMessages: function() {
|
||||
if (this._history.length < 1)
|
||||
if (this.messages.length < 1)
|
||||
return;
|
||||
|
||||
let lastMessageTime = this._history[0].time;
|
||||
let lastMessageTime = this.messages[0].timestamp;
|
||||
let currentTime = (Date.now() / 1000);
|
||||
|
||||
// Keep the scrollback from growing too long. If the most
|
||||
@@ -666,12 +652,12 @@ const ChatNotification = new Lang.Class({
|
||||
let maxLength = (lastMessageTime < currentTime - SCROLLBACK_RECENT_TIME) ?
|
||||
SCROLLBACK_IDLE_LENGTH : SCROLLBACK_RECENT_LENGTH;
|
||||
|
||||
let filteredHistory = this._history.filter(function(item) { return item.realMessage });
|
||||
let filteredHistory = this.messages.filter(function(item) { return item.realMessage });
|
||||
if (filteredHistory.length > maxLength) {
|
||||
let lastMessageToKeep = filteredHistory[maxLength];
|
||||
let expired = this._history.splice(this._history.indexOf(lastMessageToKeep));
|
||||
let expired = this.messages.splice(this.messages.indexOf(lastMessageToKeep));
|
||||
for (let i = 0; i < expired.length; i++)
|
||||
expired[i].actor.destroy();
|
||||
this.emit('message-removed', expired[i]);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -684,7 +670,6 @@ const ChatNotification = new Lang.Class({
|
||||
* styles: Style class names for the message to have.
|
||||
* timestamp: The timestamp of the message.
|
||||
* noTimestamp: suppress timestamp signal?
|
||||
* childProps: props to add the actor with.
|
||||
*/
|
||||
_append: function(props) {
|
||||
let currentTime = (Date.now() / 1000);
|
||||
@@ -692,44 +677,22 @@ const ChatNotification = new Lang.Class({
|
||||
group: null,
|
||||
styles: [],
|
||||
timestamp: currentTime,
|
||||
noTimestamp: false,
|
||||
childProps: null });
|
||||
noTimestamp: false });
|
||||
|
||||
// Reset the old message timeout
|
||||
if (this._timestampTimeoutId)
|
||||
Mainloop.source_remove(this._timestampTimeoutId);
|
||||
|
||||
let highlighter = new MessageTray.URLHighlighter(props.body,
|
||||
true, // line wrap?
|
||||
true); // allow markup?
|
||||
let message = { realMessage: props.group != 'meta',
|
||||
showTimestamp: false };
|
||||
Lang.copyProperties(props, message);
|
||||
delete message.noTimestamp;
|
||||
|
||||
let body = highlighter.actor;
|
||||
|
||||
let styles = props.styles;
|
||||
for (let i = 0; i < styles.length; i++)
|
||||
body.add_style_class_name(styles[i]);
|
||||
|
||||
let group = props.group;
|
||||
if (group != this._lastGroup) {
|
||||
this._lastGroup = group;
|
||||
let emptyLine = new St.Label({ style_class: 'chat-empty-line' });
|
||||
this.addActor(emptyLine);
|
||||
this._history.unshift({ actor: emptyLine, time: timestamp,
|
||||
realMessage: false });
|
||||
}
|
||||
|
||||
let lineBox = new St.BoxLayout({ vertical: false });
|
||||
lineBox.add(body, props.childProps);
|
||||
this.addActor(lineBox);
|
||||
this._lastMessageBox = lineBox;
|
||||
|
||||
this.updated();
|
||||
|
||||
let timestamp = props.timestamp;
|
||||
this._history.unshift({ actor: lineBox, time: timestamp,
|
||||
realMessage: group != 'meta' });
|
||||
this.messages.unshift(message);
|
||||
this.emit('message-added', message);
|
||||
|
||||
if (!props.noTimestamp) {
|
||||
let timestamp = props.timestamp;
|
||||
if (timestamp < currentTime - SCROLLBACK_IMMEDIATE_TIME) {
|
||||
this.appendTimestamp();
|
||||
} else {
|
||||
@@ -748,15 +711,8 @@ const ChatNotification = new Lang.Class({
|
||||
appendTimestamp: function() {
|
||||
this._timestampTimeoutId = 0;
|
||||
|
||||
let lastMessageTime = this._history[0].time;
|
||||
let lastMessageDate = new Date(lastMessageTime * 1000);
|
||||
|
||||
let timeLabel = Util.createTimeLabel(lastMessageDate);
|
||||
timeLabel.style_class = 'chat-meta-message';
|
||||
timeLabel.x_expand = timeLabel.y_expand = true;
|
||||
timeLabel.x_align = timeLabel.y_align = Clutter.ActorAlign.END;
|
||||
|
||||
this._lastMessageBox.add_actor(timeLabel);
|
||||
this.messages[0].showTimestamp = true;
|
||||
this.emit('timestamp-changed', this.messages[0]);
|
||||
|
||||
this._filterMessages();
|
||||
|
||||
@@ -771,13 +727,150 @@ const ChatNotification = new Lang.Class({
|
||||
IM name. */
|
||||
let message = '<i>' + _("%s is now known as %s").format(oldAlias, newAlias) + '</i>';
|
||||
|
||||
let label = this._append({ body: message,
|
||||
group: 'meta',
|
||||
styles: ['chat-meta-message'] });
|
||||
|
||||
this.update(newAlias, null, { customContent: true });
|
||||
this._append({ body: message,
|
||||
group: 'meta',
|
||||
styles: ['chat-meta-message'] });
|
||||
|
||||
this._filterMessages();
|
||||
}
|
||||
});
|
||||
|
||||
const ChatLineBox = new Lang.Class({
|
||||
Name: 'ChatLineBox',
|
||||
Extends: St.BoxLayout,
|
||||
|
||||
vfunc_get_preferred_height: function(forWidth) {
|
||||
let [, natHeight] = this.parent(forWidth);
|
||||
return [natHeight, natHeight];
|
||||
}
|
||||
});
|
||||
|
||||
const ChatNotificationBanner = new Lang.Class({
|
||||
Name: 'ChatNotificationBanner',
|
||||
Extends: MessageTray.NotificationBanner,
|
||||
|
||||
_init: function(notification) {
|
||||
this.parent(notification);
|
||||
|
||||
this._responseEntry = new St.Entry({ style_class: 'chat-response',
|
||||
x_expand: true,
|
||||
can_focus: true });
|
||||
this._responseEntry.clutter_text.connect('activate', Lang.bind(this, this._onEntryActivated));
|
||||
this._responseEntry.clutter_text.connect('text-changed', Lang.bind(this, this._onEntryChanged));
|
||||
this.setActionArea(this._responseEntry);
|
||||
|
||||
this._responseEntry.clutter_text.connect('key-focus-in', Lang.bind(this, function() {
|
||||
this.focused = true;
|
||||
}));
|
||||
this._responseEntry.clutter_text.connect('key-focus-out', Lang.bind(this, function() {
|
||||
this.focused = false;
|
||||
this.emit('unfocused');
|
||||
}));
|
||||
|
||||
this._scrollArea = new St.ScrollView({ style_class: 'chat-scrollview vfade',
|
||||
vscrollbar_policy: Gtk.PolicyType.AUTOMATIC,
|
||||
hscrollbar_policy: Gtk.PolicyType.NEVER,
|
||||
visible: this.expanded });
|
||||
this._contentArea = new St.BoxLayout({ style_class: 'chat-body',
|
||||
vertical: true });
|
||||
this._scrollArea.add_actor(this._contentArea);
|
||||
|
||||
this.setExpandedBody(this._scrollArea);
|
||||
this.setExpandedLines(CHAT_EXPAND_LINES);
|
||||
|
||||
this._lastGroup = null;
|
||||
|
||||
// Keep track of the bottom position for the current adjustment and
|
||||
// force a scroll to the bottom if things change while we were at the
|
||||
// bottom
|
||||
this._oldMaxScrollValue = this._scrollArea.vscroll.adjustment.value;
|
||||
this._scrollArea.vscroll.adjustment.connect('changed', Lang.bind(this, function(adjustment) {
|
||||
if (adjustment.value == this._oldMaxScrollValue)
|
||||
this.scrollTo(St.Side.BOTTOM);
|
||||
this._oldMaxScrollValue = Math.max(adjustment.lower, adjustment.upper - adjustment.page_size);
|
||||
}));
|
||||
|
||||
this._inputHistory = new History.HistoryManager({ entry: this._responseEntry.clutter_text });
|
||||
|
||||
this._composingTimeoutId = 0;
|
||||
|
||||
this._messageActors = new Map();
|
||||
|
||||
this._messageAddedId = this.notification.connect('message-added',
|
||||
Lang.bind(this, function(n, message) {
|
||||
this._addMessage(message);
|
||||
}));
|
||||
this._messageRemovedId = this.notification.connect('message-removed',
|
||||
Lang.bind(this, function(n, message) {
|
||||
let actor = this._messageActors.get(message);
|
||||
if (this._messageActors.delete(message))
|
||||
actor.destroy();
|
||||
}));
|
||||
this._timestampChangedId = this.notification.connect('timestamp-changed',
|
||||
Lang.bind(this, function(n, message) {
|
||||
this._updateTimestamp(message);
|
||||
}));
|
||||
|
||||
for (let i = this.notification.messages.length - 1; i >= 0; i--)
|
||||
this._addMessage(this.notification.messages[i]);
|
||||
},
|
||||
|
||||
_onDestroy: function() {
|
||||
this.parent();
|
||||
this.notification.disconnect(this._messageAddedId);
|
||||
this.notification.disconnect(this._messageRemovedId);
|
||||
this.notification.disconnect(this._timestampChangedId);
|
||||
},
|
||||
|
||||
scrollTo: function(side) {
|
||||
let adjustment = this._scrollArea.vscroll.adjustment;
|
||||
if (side == St.Side.TOP)
|
||||
adjustment.value = adjustment.lower;
|
||||
else if (side == St.Side.BOTTOM)
|
||||
adjustment.value = adjustment.upper;
|
||||
},
|
||||
|
||||
_addMessage: function(message) {
|
||||
let highlighter = new Calendar.URLHighlighter(message.body, true, true);
|
||||
let body = highlighter.actor;
|
||||
|
||||
let styles = message.styles;
|
||||
for (let i = 0; i < styles.length; i++)
|
||||
body.add_style_class_name(styles[i]);
|
||||
|
||||
let group = message.group;
|
||||
if (group != this._lastGroup) {
|
||||
this._lastGroup = group;
|
||||
body.add_style_class_name('chat-new-group');
|
||||
}
|
||||
|
||||
let lineBox = new ChatLineBox();
|
||||
lineBox.add(body);
|
||||
this._contentArea.add_actor(lineBox);
|
||||
this._messageActors.set(message, lineBox);
|
||||
|
||||
this._updateTimestamp(message);
|
||||
},
|
||||
|
||||
_updateTimestamp: function(message) {
|
||||
let actor = this._messageActors.get(message);
|
||||
if (!actor)
|
||||
return;
|
||||
|
||||
while (actor.get_n_children() > 1)
|
||||
actor.get_child_at_index(1).destroy();
|
||||
|
||||
if (message.showTimestamp) {
|
||||
let lastMessageTime = message.timestamp;
|
||||
let lastMessageDate = new Date(lastMessageTime * 1000);
|
||||
|
||||
let timeLabel = Util.createTimeLabel(lastMessageDate);
|
||||
timeLabel.style_class = 'chat-meta-message';
|
||||
timeLabel.x_expand = timeLabel.y_expand = true;
|
||||
timeLabel.x_align = timeLabel.y_align = Clutter.ActorAlign.END;
|
||||
|
||||
actor.add_actor(timeLabel);
|
||||
}
|
||||
},
|
||||
|
||||
_onEntryActivated: function() {
|
||||
@@ -790,13 +883,13 @@ const ChatNotification = new Lang.Class({
|
||||
// Telepathy sends out the Sent signal for us.
|
||||
// see Source._messageSent
|
||||
this._responseEntry.set_text('');
|
||||
this.source.respond(text);
|
||||
this.notification.source.respond(text);
|
||||
},
|
||||
|
||||
_composingStopTimeout: function() {
|
||||
this._composingTimeoutId = 0;
|
||||
|
||||
this.source.setChatState(Tp.ChannelChatState.PAUSED);
|
||||
this.notification.source.setChatState(Tp.ChannelChatState.PAUSED);
|
||||
|
||||
return GLib.SOURCE_REMOVE;
|
||||
},
|
||||
@@ -816,14 +909,14 @@ const ChatNotification = new Lang.Class({
|
||||
}
|
||||
|
||||
if (text != '') {
|
||||
this.source.setChatState(Tp.ChannelChatState.COMPOSING);
|
||||
this.notification.source.setChatState(Tp.ChannelChatState.COMPOSING);
|
||||
|
||||
this._composingTimeoutId = Mainloop.timeout_add_seconds(
|
||||
COMPOSING_STOP_TIMEOUT,
|
||||
Lang.bind(this, this._composingStopTimeout));
|
||||
GLib.Source.set_name_by_id(this._composingTimeoutId, '[gnome-shell] this._composingStopTimeout');
|
||||
} else {
|
||||
this.source.setChatState(Tp.ChannelChatState.ACTIVE);
|
||||
this.notification.source.setChatState(Tp.ChannelChatState.ACTIVE);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -27,8 +27,8 @@ const CtrlAltTabManager = new Lang.Class({
|
||||
_init: function() {
|
||||
this._items = [];
|
||||
this.addGroup(global.window_group, _("Windows"),
|
||||
'emblem-documents-symbolic', { sortGroup: SortGroup.TOP,
|
||||
focusCallback: Lang.bind(this, this._focusWindows) });
|
||||
'focus-windows-symbolic', { sortGroup: SortGroup.TOP,
|
||||
focusCallback: Lang.bind(this, this._focusWindows) });
|
||||
},
|
||||
|
||||
addGroup: function(root, name, icon, params) {
|
||||
|
||||
@@ -242,6 +242,8 @@ const ShowAppsIcon = new Lang.Class({
|
||||
_init: function() {
|
||||
this.parent();
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
|
||||
this.toggleButton = new St.Button({ style_class: 'show-apps',
|
||||
track_hover: true,
|
||||
can_focus: true,
|
||||
|
||||
@@ -211,7 +211,7 @@ const InstallExtensionDialog = new Lang.Class({
|
||||
let icon = new St.Icon({ gicon: gicon });
|
||||
box.add(icon);
|
||||
|
||||
let label = new St.Label({ style_class: 'prompt-dialog-headline',
|
||||
let label = new St.Label({ style_class: 'prompt-dialog-headline headline',
|
||||
text: message });
|
||||
box.add(label);
|
||||
},
|
||||
|
||||
@@ -6,6 +6,7 @@ const Gdk = imports.gi.Gdk;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Lang = imports.lang;
|
||||
const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Signals = imports.signals;
|
||||
const St = imports.gi.St;
|
||||
@@ -60,14 +61,7 @@ const CaribouDaemonIface = '<node> \
|
||||
</interface> \
|
||||
</node>';
|
||||
|
||||
const CursorManagerIface = '<node> \
|
||||
<interface name="org.gnome.SettingsDaemon.Cursor"> \
|
||||
<property name="ShowOSK" type="b" access="read" /> \
|
||||
</interface> \
|
||||
</node>';
|
||||
|
||||
const CaribouDaemonProxy = Gio.DBusProxy.makeProxyWrapper(CaribouDaemonIface);
|
||||
const CursorManagerProxy = Gio.DBusProxy.makeProxyWrapper(CursorManagerIface);
|
||||
|
||||
const Key = new Lang.Class({
|
||||
Name: 'Key',
|
||||
@@ -188,17 +182,18 @@ const Keyboard = new Lang.Class({
|
||||
Lang.bind(this, this._sync),
|
||||
Lang.bind(this, this._sync));
|
||||
this._daemonProxy = null;
|
||||
this._cursorProxy = new CursorManagerProxy(Gio.DBus.session, CURSOR_BUS_NAME,
|
||||
CURSOR_OBJECT_PATH,
|
||||
Lang.bind(this, function(proxy, error) {
|
||||
if (error) {
|
||||
log(error.message);
|
||||
return;
|
||||
}
|
||||
this._cursorProxy.connect('g-properties-changed',
|
||||
Lang.bind(this, this._sync));
|
||||
this._sync();
|
||||
}));
|
||||
this._lastDeviceId = null;
|
||||
|
||||
Meta.get_backend().connect('last-device-changed', Lang.bind(this,
|
||||
function (backend, deviceId) {
|
||||
let manager = Clutter.DeviceManager.get_default();
|
||||
let device = manager.get_device(deviceId);
|
||||
|
||||
if (device.get_device_name().indexOf('XTEST') < 0) {
|
||||
this._lastDeviceId = deviceId;
|
||||
this._sync();
|
||||
}
|
||||
}));
|
||||
this._sync();
|
||||
|
||||
this._showIdleId = 0;
|
||||
@@ -217,9 +212,22 @@ const Keyboard = new Lang.Class({
|
||||
this._redraw();
|
||||
},
|
||||
|
||||
_lastDeviceIsTouchscreen: function () {
|
||||
if (!this._lastDeviceId)
|
||||
return false;
|
||||
|
||||
let manager = Clutter.DeviceManager.get_default();
|
||||
let device = manager.get_device(this._lastDeviceId);
|
||||
|
||||
if (!device)
|
||||
return false;
|
||||
|
||||
return device.get_device_type() == Clutter.InputDeviceType.TOUCHSCREEN_DEVICE;
|
||||
},
|
||||
|
||||
_sync: function () {
|
||||
this._enableKeyboard = this._a11yApplicationsSettings.get_boolean(SHOW_KEYBOARD) ||
|
||||
this._cursorProxy.ShowOSK;
|
||||
this._lastDeviceIsTouchscreen();
|
||||
if (!this._enableKeyboard && !this._keyboard)
|
||||
return;
|
||||
if (this._enableKeyboard && this._keyboard &&
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
|
||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
||||
const Lang = imports.lang;
|
||||
const Layout = imports.ui.layout;
|
||||
const Main = imports.ui.main;
|
||||
@@ -29,6 +31,9 @@ const STANDARD_TRAY_ICON_IMPLEMENTATIONS = {
|
||||
const CONCEALED_VISIBLE_FRACTION = 0.2;
|
||||
const REVEAL_ANIMATION_TIME = 0.2;
|
||||
|
||||
const BARRIER_THRESHOLD = 70;
|
||||
const BARRIER_TIMEOUT = 1000;
|
||||
|
||||
const LegacyTray = new Lang.Class({
|
||||
Name: 'LegacyTray',
|
||||
|
||||
@@ -49,11 +54,15 @@ const LegacyTray = new Lang.Class({
|
||||
y_align: Clutter.ActorAlign.END,
|
||||
layout_manager: this._slideLayout });
|
||||
this.actor.add_actor(this._slider);
|
||||
this._slider.connect('notify::allocation', Lang.bind(this, this._syncBarrier));
|
||||
|
||||
this._box = new St.BoxLayout();
|
||||
this._slider.add_actor(this._box);
|
||||
|
||||
this._concealHandle = new St.Button({ style_class: 'legacy-tray-handle' });
|
||||
this._concealHandle = new St.Button({ style_class: 'legacy-tray-handle',
|
||||
/* translators: 'Hide' is a verb */
|
||||
accessible_name: _("Hide tray"),
|
||||
can_focus: true });
|
||||
this._concealHandle.child = new St.Icon({ icon_name: 'go-previous-symbolic' });
|
||||
this._box.add_child(this._concealHandle);
|
||||
|
||||
@@ -81,12 +90,23 @@ const LegacyTray = new Lang.Class({
|
||||
this._revealHandle.show();
|
||||
}));
|
||||
|
||||
this._horizontalBarrier = null;
|
||||
this._pressureBarrier = new Layout.PressureBarrier(BARRIER_THRESHOLD,
|
||||
BARRIER_TIMEOUT,
|
||||
Shell.ActionMode.NORMAL);
|
||||
this._pressureBarrier.connect('trigger', Lang.bind(this, function() {
|
||||
this._concealHandle.show();
|
||||
}));
|
||||
|
||||
Main.layoutManager.addChrome(this.actor, { affectsInputRegion: false });
|
||||
Main.layoutManager.trackChrome(this._slider, { affectsInputRegion: true });
|
||||
Main.ctrlAltTabManager.addGroup(this.actor,
|
||||
_("Status Icons"), 'focus-legacy-systray-symbolic',
|
||||
{ sortGroup: CtrlAltTab.SortGroup.BOTTOM });
|
||||
|
||||
this._trayManager = new Shell.TrayManager();
|
||||
this._trayManager.connect('tray-icon-added', Lang.bind(this, this._onTrayIconAdded));
|
||||
this._trayManager.connect('tray-icon-removed', Lang.bind(this, this._onTrayIconRemoved));
|
||||
this._trayIconAddedId = this._trayManager.connect('tray-icon-added', Lang.bind(this, this._onTrayIconAdded));
|
||||
this._trayIconRemovedId = this._trayManager.connect('tray-icon-removed', Lang.bind(this, this._onTrayIconRemoved));
|
||||
this._trayManager.manage_screen(global.screen, this.actor);
|
||||
|
||||
Main.overview.connect('showing', Lang.bind(this,
|
||||
@@ -121,14 +141,20 @@ const LegacyTray = new Lang.Class({
|
||||
return;
|
||||
|
||||
let button = new St.Button({ child: icon,
|
||||
style_class: 'legacy-tray-icon',
|
||||
button_mask: St.ButtonMask.ONE |
|
||||
St.ButtonMask.TWO |
|
||||
St.ButtonMask.THREE,
|
||||
can_focus: true,
|
||||
x_fill: true, y_fill: true });
|
||||
button.connect('clicked',
|
||||
function() {
|
||||
icon.click(Clutter.get_current_event());
|
||||
});
|
||||
button.connect('key-focus-in', Lang.bind(this,
|
||||
function() {
|
||||
this._concealHandle.show();
|
||||
}));
|
||||
|
||||
this._iconBox.add_actor(button);
|
||||
this._sync();
|
||||
@@ -142,6 +168,40 @@ const LegacyTray = new Lang.Class({
|
||||
this._sync();
|
||||
},
|
||||
|
||||
_syncBarrier: function() {
|
||||
let rtl = (this._slider.get_text_direction() == Clutter.TextDirection.RTL);
|
||||
let [x, y] = this._slider.get_transformed_position();
|
||||
let [w, h] = this._slider.get_transformed_size();
|
||||
|
||||
let x1 = Math.round(x);
|
||||
if (rtl)
|
||||
x1 += Math.round(w);
|
||||
|
||||
let x2 = x1;
|
||||
let y1 = Math.round(y);
|
||||
let y2 = y1 + Math.round(h);
|
||||
|
||||
if (this._horizontalBarrier &&
|
||||
this._horizontalBarrier.x1 == x1 &&
|
||||
this._horizontalBarrier.y1 == y1 &&
|
||||
this._horizontalBarrier.x2 == x2 &&
|
||||
this._horizontalBarrier.y2 == y2)
|
||||
return;
|
||||
|
||||
if (this._horizontalBarrier) {
|
||||
this._pressureBarrier.removeBarrier(this._horizontalBarrier);
|
||||
this._horizontalBarrier.destroy();
|
||||
this._horizontalBarrier = null;
|
||||
}
|
||||
|
||||
let directions = (rtl ? Meta.BarrierDirection.NEGATIVE_X : Meta.BarrierDirection.POSITIVE_X);
|
||||
this._horizontalBarrier = new Meta.Barrier({ display: global.display,
|
||||
x1: x1, x2: x2,
|
||||
y1: y1, y2: y2,
|
||||
directions: directions });
|
||||
this._pressureBarrier.addBarrier(this._horizontalBarrier);
|
||||
},
|
||||
|
||||
_sync: function() {
|
||||
// FIXME: we no longer treat tray icons as notifications
|
||||
let allowed = Main.sessionMode.hasNotifications;
|
||||
|
||||
@@ -529,6 +529,7 @@ function activateWindow(window, time, workspaceNum) {
|
||||
}
|
||||
|
||||
overview.hide();
|
||||
panel.closeCalendar();
|
||||
}
|
||||
|
||||
// TODO - replace this timeout with some system to guess when the user might
|
||||
|
||||
@@ -147,130 +147,6 @@ const FocusGrabber = new Lang.Class({
|
||||
}
|
||||
});
|
||||
|
||||
const URLHighlighter = new Lang.Class({
|
||||
Name: 'URLHighlighter',
|
||||
|
||||
_init: function(text, lineWrap, allowMarkup) {
|
||||
if (!text)
|
||||
text = '';
|
||||
this.actor = new St.Label({ reactive: true, style_class: 'url-highlighter' });
|
||||
this._linkColor = '#ccccff';
|
||||
this.actor.connect('style-changed', Lang.bind(this, function() {
|
||||
let [hasColor, color] = this.actor.get_theme_node().lookup_color('link-color', false);
|
||||
if (hasColor) {
|
||||
let linkColor = color.to_string().substr(0, 7);
|
||||
if (linkColor != this._linkColor) {
|
||||
this._linkColor = linkColor;
|
||||
this._highlightUrls();
|
||||
}
|
||||
}
|
||||
}));
|
||||
if (lineWrap) {
|
||||
this.actor.clutter_text.line_wrap = true;
|
||||
this.actor.clutter_text.line_wrap_mode = Pango.WrapMode.WORD_CHAR;
|
||||
this.actor.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
}
|
||||
|
||||
this.setMarkup(text, allowMarkup);
|
||||
this.actor.connect('button-press-event', Lang.bind(this, function(actor, event) {
|
||||
// Don't try to URL highlight when invisible.
|
||||
// The MessageTray doesn't actually hide us, so
|
||||
// we need to check for paint opacities as well.
|
||||
if (!actor.visible || actor.get_paint_opacity() == 0)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
// Keep Notification.actor from seeing this and taking
|
||||
// a pointer grab, which would block our button-release-event
|
||||
// handler, if an URL is clicked
|
||||
return this._findUrlAtPos(event) != -1;
|
||||
}));
|
||||
this.actor.connect('button-release-event', Lang.bind(this, function (actor, event) {
|
||||
if (!actor.visible || actor.get_paint_opacity() == 0)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
let urlId = this._findUrlAtPos(event);
|
||||
if (urlId != -1) {
|
||||
let url = this._urls[urlId].url;
|
||||
if (url.indexOf(':') == -1)
|
||||
url = 'http://' + url;
|
||||
|
||||
Gio.app_info_launch_default_for_uri(url, global.create_app_launch_context(0, -1));
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}));
|
||||
this.actor.connect('motion-event', Lang.bind(this, function(actor, event) {
|
||||
if (!actor.visible || actor.get_paint_opacity() == 0)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
let urlId = this._findUrlAtPos(event);
|
||||
if (urlId != -1 && !this._cursorChanged) {
|
||||
global.screen.set_cursor(Meta.Cursor.POINTING_HAND);
|
||||
this._cursorChanged = true;
|
||||
} else if (urlId == -1) {
|
||||
global.screen.set_cursor(Meta.Cursor.DEFAULT);
|
||||
this._cursorChanged = false;
|
||||
}
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}));
|
||||
this.actor.connect('leave-event', Lang.bind(this, function() {
|
||||
if (!this.actor.visible || this.actor.get_paint_opacity() == 0)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
if (this._cursorChanged) {
|
||||
this._cursorChanged = false;
|
||||
global.screen.set_cursor(Meta.Cursor.DEFAULT);
|
||||
}
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}));
|
||||
},
|
||||
|
||||
setMarkup: function(text, allowMarkup) {
|
||||
text = text ? _fixMarkup(text, allowMarkup) : '';
|
||||
this._text = text;
|
||||
|
||||
this.actor.clutter_text.set_markup(text);
|
||||
/* clutter_text.text contain text without markup */
|
||||
this._urls = Util.findUrls(this.actor.clutter_text.text);
|
||||
this._highlightUrls();
|
||||
},
|
||||
|
||||
_highlightUrls: function() {
|
||||
// text here contain markup
|
||||
let urls = Util.findUrls(this._text);
|
||||
let markup = '';
|
||||
let pos = 0;
|
||||
for (let i = 0; i < urls.length; i++) {
|
||||
let url = urls[i];
|
||||
let str = this._text.substr(pos, url.pos - pos);
|
||||
markup += str + '<span foreground="' + this._linkColor + '"><u>' + url.url + '</u></span>';
|
||||
pos = url.pos + url.url.length;
|
||||
}
|
||||
markup += this._text.substr(pos);
|
||||
this.actor.clutter_text.set_markup(markup);
|
||||
},
|
||||
|
||||
_findUrlAtPos: function(event) {
|
||||
let success;
|
||||
let [x, y] = event.get_coords();
|
||||
[success, x, y] = this.actor.transform_stage_point(x, y);
|
||||
let find_pos = -1;
|
||||
for (let i = 0; i < this.actor.clutter_text.text.length; i++) {
|
||||
let [success, px, py, line_height] = this.actor.clutter_text.position_to_coords(i);
|
||||
if (py > y || py + line_height < y || x < px)
|
||||
continue;
|
||||
find_pos = i;
|
||||
}
|
||||
if (find_pos != -1) {
|
||||
for (let i = 0; i < this._urls.length; i++)
|
||||
if (find_pos >= this._urls[i].pos &&
|
||||
this._urls[i].pos + this._urls[i].url.length > find_pos)
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
});
|
||||
|
||||
// NotificationPolicy:
|
||||
// An object that holds all bits of configurable policy related to a notification
|
||||
// source, such as whether to play sound or honour the critical bit.
|
||||
@@ -473,10 +349,6 @@ const NotificationApplicationPolicy = new Lang.Class({
|
||||
const Notification = new Lang.Class({
|
||||
Name: 'Notification',
|
||||
|
||||
ICON_SIZE: 24,
|
||||
|
||||
IMAGE_SIZE: 125,
|
||||
|
||||
_init: function(source, title, banner, params) {
|
||||
this.source = source;
|
||||
this.title = title;
|
||||
@@ -485,63 +357,14 @@ const Notification = new Lang.Class({
|
||||
// 'transient' is a reserved keyword in JS, so we have to use an alternate variable name
|
||||
this.isTransient = false;
|
||||
this.forFeedback = false;
|
||||
this.expanded = false;
|
||||
this.focused = false;
|
||||
this._acknowledged = false;
|
||||
this._destroyed = false;
|
||||
this._customContent = false;
|
||||
this.bannerBodyText = null;
|
||||
this.bannerBodyMarkup = false;
|
||||
this._bannerBodyAdded = false;
|
||||
this._titleFitsInBannerMode = true;
|
||||
this._spacing = 0;
|
||||
this._scrollPolicy = Gtk.PolicyType.AUTOMATIC;
|
||||
this._soundName = null;
|
||||
this._soundFile = null;
|
||||
this._soundPlayed = false;
|
||||
this.actions = [];
|
||||
|
||||
this.actor = new St.Button({ accessible_role: Atk.Role.NOTIFICATION });
|
||||
this.actor.add_style_class_name('notification-unexpanded');
|
||||
this.actor._delegate = this;
|
||||
this.actor.connect('clicked', Lang.bind(this, this.activate));
|
||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||
|
||||
this._table = new St.Table({ style_class: 'notification',
|
||||
reactive: true });
|
||||
this._table.connect('style-changed', Lang.bind(this, this._styleChanged));
|
||||
this.actor.set_child(this._table);
|
||||
|
||||
// The first line should have the title, followed by the
|
||||
// banner text, but ellipsized if they won't both fit. We can't
|
||||
// make St.Table or St.BoxLayout do this the way we want (don't
|
||||
// show banner at all if title needs to be ellipsized), so we
|
||||
// use Shell.GenericContainer.
|
||||
this._bannerBox = new Shell.GenericContainer();
|
||||
this._bannerBox.connect('get-preferred-width', Lang.bind(this, this._bannerBoxGetPreferredWidth));
|
||||
this._bannerBox.connect('get-preferred-height', Lang.bind(this, this._bannerBoxGetPreferredHeight));
|
||||
this._bannerBox.connect('allocate', Lang.bind(this, this._bannerBoxAllocate));
|
||||
this._table.add(this._bannerBox, { row: 0,
|
||||
col: 1,
|
||||
col_span: 2,
|
||||
x_expand: false,
|
||||
y_expand: false,
|
||||
y_fill: false });
|
||||
|
||||
// This is an empty cell that overlaps with this._bannerBox cell to ensure
|
||||
// that this._bannerBox cell expands horizontally, while not forcing the
|
||||
// this._imageBin that is also in col: 2 to expand horizontally.
|
||||
this._table.add(new St.Bin(), { row: 0,
|
||||
col: 2,
|
||||
y_expand: false,
|
||||
y_fill: false });
|
||||
|
||||
this._titleLabel = new St.Label();
|
||||
this._bannerBox.add_actor(this._titleLabel);
|
||||
this._bannerUrlHighlighter = new URLHighlighter();
|
||||
this._bannerLabel = this._bannerUrlHighlighter.actor;
|
||||
this._bannerBox.add_actor(this._bannerLabel);
|
||||
|
||||
// If called with only one argument we assume the caller
|
||||
// will call .update() later on. This is the case of
|
||||
// NotificationDaemon, which wants to use the same code
|
||||
@@ -559,107 +382,25 @@ const Notification = new Lang.Class({
|
||||
// the title/banner. If @params.clear is %true, it will also
|
||||
// remove any additional actors/action buttons previously added.
|
||||
update: function(title, banner, params) {
|
||||
params = Params.parse(params, { customContent: false,
|
||||
gicon: null,
|
||||
params = Params.parse(params, { gicon: null,
|
||||
secondaryGIcon: null,
|
||||
bannerMarkup: false,
|
||||
clear: false,
|
||||
soundName: null,
|
||||
soundFile: null });
|
||||
|
||||
this._customContent = params.customContent;
|
||||
|
||||
let oldFocus = global.stage.key_focus;
|
||||
|
||||
if (this._icon && (params.gicon || params.clear)) {
|
||||
this._icon.destroy();
|
||||
this._icon = null;
|
||||
}
|
||||
|
||||
if (this._secondaryIcon && (params.secondaryGIcon || params.clear)) {
|
||||
this._secondaryIcon.destroy();
|
||||
this._secondaryIcon = null;
|
||||
}
|
||||
|
||||
// We always clear the content area if we don't have custom
|
||||
// content because it might contain the @banner that didn't
|
||||
// fit in the banner mode.
|
||||
if (this._scrollArea && (!this._customContent || params.clear)) {
|
||||
if (oldFocus && this._scrollArea.contains(oldFocus))
|
||||
this.actor.grab_key_focus();
|
||||
|
||||
this._scrollArea.destroy();
|
||||
this._scrollArea = null;
|
||||
this._contentArea = null;
|
||||
}
|
||||
if (this._actionArea && params.clear) {
|
||||
if (oldFocus && this._actionArea.contains(oldFocus))
|
||||
this.actor.grab_key_focus();
|
||||
|
||||
this._actionArea.destroy();
|
||||
this._actionArea = null;
|
||||
this._buttonBox = null;
|
||||
this.actions = [];
|
||||
}
|
||||
if (!this._scrollArea && !this._actionArea)
|
||||
this._table.remove_style_class_name('multi-line-notification');
|
||||
|
||||
if (params.gicon) {
|
||||
this._icon = new St.Icon({ gicon: params.gicon,
|
||||
icon_size: this.ICON_SIZE });
|
||||
} else {
|
||||
this._icon = this.source.createIcon(this.ICON_SIZE);
|
||||
}
|
||||
|
||||
if (this._icon) {
|
||||
this._table.add(this._icon, { row: 0,
|
||||
col: 0,
|
||||
x_expand: false,
|
||||
y_expand: false,
|
||||
y_fill: false,
|
||||
y_align: St.Align.START });
|
||||
}
|
||||
|
||||
if (params.secondaryGIcon) {
|
||||
this._secondaryIcon = new St.Icon({ gicon: params.secondaryGIcon,
|
||||
style_class: 'secondary-icon' });
|
||||
this._bannerBox.add_actor(this._secondaryIcon);
|
||||
}
|
||||
|
||||
this.title = title;
|
||||
title = title ? _fixMarkup(title.replace(/\n/g, ' '), false) : '';
|
||||
this._titleLabel.clutter_text.set_markup('<b>' + title + '</b>');
|
||||
|
||||
let titleDirection;
|
||||
if (Pango.find_base_dir(title, -1) == Pango.Direction.RTL)
|
||||
titleDirection = Clutter.TextDirection.RTL;
|
||||
else
|
||||
titleDirection = Clutter.TextDirection.LTR;
|
||||
|
||||
// Let the title's text direction control the overall direction
|
||||
// of the notification - in case where different scripts are used
|
||||
// in the notification, this is the right thing for the icon, and
|
||||
// arguably for action buttons as well. Labels other than the title
|
||||
// will be allocated at the available width, so that their alignment
|
||||
// is done correctly automatically.
|
||||
this._table.set_text_direction(titleDirection);
|
||||
|
||||
// Unless the notification has custom content, we save this.bannerBodyText
|
||||
// to add it to the content of the notification if the notification is
|
||||
// expandable due to other elements in its content area or due to the banner
|
||||
// not fitting fully in the single-line mode.
|
||||
this.bannerBodyText = this._customContent ? null : banner;
|
||||
this.bannerBodyText = banner;
|
||||
this.bannerBodyMarkup = params.bannerMarkup;
|
||||
this._bannerBodyAdded = false;
|
||||
|
||||
banner = banner ? banner.replace(/\n/g, ' ') : '';
|
||||
if (params.gicon || params.clear)
|
||||
this.gicon = params.gicon;
|
||||
|
||||
this._bannerUrlHighlighter.setMarkup(banner, params.bannerMarkup);
|
||||
this._bannerLabel.queue_relayout();
|
||||
if (params.secondaryGIcon || params.clear)
|
||||
this.secondaryGIcon = params.secondaryGIcon;
|
||||
|
||||
// Add the bannerBody now if we know for sure we'll need it
|
||||
if (this.bannerBodyText && this.bannerBodyText.indexOf('\n') > -1)
|
||||
this._addBannerBody();
|
||||
if (params.clear)
|
||||
this.actions = [];
|
||||
|
||||
if (this._soundName != params.soundName ||
|
||||
this._soundFile != params.soundFile) {
|
||||
@@ -668,168 +409,14 @@ const Notification = new Lang.Class({
|
||||
this._soundPlayed = false;
|
||||
}
|
||||
|
||||
this.updated();
|
||||
this.emit('updated', params.clear);
|
||||
},
|
||||
|
||||
setIconVisible: function(visible) {
|
||||
this._icon.visible = visible;
|
||||
},
|
||||
|
||||
enableScrolling: function(enableScrolling) {
|
||||
this._scrollPolicy = enableScrolling ? Gtk.PolicyType.AUTOMATIC : Gtk.PolicyType.NEVER;
|
||||
if (this._scrollArea) {
|
||||
this._scrollArea.vscrollbar_policy = this._scrollPolicy;
|
||||
this._scrollArea.enable_mouse_scrolling = enableScrolling;
|
||||
}
|
||||
},
|
||||
|
||||
_createScrollArea: function() {
|
||||
this._table.add_style_class_name('multi-line-notification');
|
||||
this._scrollArea = new St.ScrollView({ style_class: 'notification-scrollview',
|
||||
vscrollbar_policy: this._scrollPolicy,
|
||||
hscrollbar_policy: Gtk.PolicyType.NEVER,
|
||||
visible: this.expanded });
|
||||
this._table.add(this._scrollArea, { row: 1,
|
||||
col: 2 });
|
||||
this._updateLastColumnSettings();
|
||||
this._contentArea = new St.BoxLayout({ style_class: 'notification-body',
|
||||
vertical: true });
|
||||
this._scrollArea.add_actor(this._contentArea);
|
||||
// If we know the notification will be expandable, we need to add
|
||||
// the banner text to the body as the first element.
|
||||
this._addBannerBody();
|
||||
},
|
||||
|
||||
// addActor:
|
||||
// @actor: actor to add to the body of the notification
|
||||
//
|
||||
// Appends @actor to the notification's body
|
||||
addActor: function(actor, style) {
|
||||
if (!this._scrollArea) {
|
||||
this._createScrollArea();
|
||||
}
|
||||
|
||||
this._contentArea.add(actor, style ? style : {});
|
||||
this.updated();
|
||||
},
|
||||
|
||||
// addBody:
|
||||
// @text: the text
|
||||
// @markup: %true if @text contains pango markup
|
||||
// @style: style to use when adding the actor containing the text
|
||||
//
|
||||
// Adds a multi-line label containing @text to the notification.
|
||||
//
|
||||
// Return value: the newly-added label
|
||||
addBody: function(text, markup, style) {
|
||||
let label = new URLHighlighter(text, true, markup);
|
||||
|
||||
this.addActor(label.actor, style);
|
||||
return label.actor;
|
||||
},
|
||||
|
||||
_addBannerBody: function() {
|
||||
if (this.bannerBodyText && !this._bannerBodyAdded) {
|
||||
this._bannerBodyAdded = true;
|
||||
this.addBody(this.bannerBodyText, this.bannerBodyMarkup);
|
||||
}
|
||||
},
|
||||
|
||||
// scrollTo:
|
||||
// @side: St.Side.TOP or St.Side.BOTTOM
|
||||
//
|
||||
// Scrolls the content area (if scrollable) to the indicated edge
|
||||
scrollTo: function(side) {
|
||||
let adjustment = this._scrollArea.vscroll.adjustment;
|
||||
if (side == St.Side.TOP)
|
||||
adjustment.value = adjustment.lower;
|
||||
else if (side == St.Side.BOTTOM)
|
||||
adjustment.value = adjustment.upper;
|
||||
},
|
||||
|
||||
// setActionArea:
|
||||
// @actor: the actor
|
||||
// @props: (option) St.Table child properties
|
||||
//
|
||||
// Puts @actor into the action area of the notification, replacing
|
||||
// the previous contents
|
||||
setActionArea: function(actor, props) {
|
||||
if (this._actionArea) {
|
||||
this._actionArea.destroy();
|
||||
this._actionArea = null;
|
||||
if (this._buttonBox)
|
||||
this._buttonBox = null;
|
||||
} else {
|
||||
this._addBannerBody();
|
||||
}
|
||||
this._actionArea = actor;
|
||||
this._actionArea.visible = this.expanded;
|
||||
|
||||
if (!props)
|
||||
props = {};
|
||||
props.row = 2;
|
||||
props.col = 2;
|
||||
|
||||
this._table.add_style_class_name('multi-line-notification');
|
||||
this._table.add(this._actionArea, props);
|
||||
this._updateLastColumnSettings();
|
||||
this.updated();
|
||||
},
|
||||
|
||||
_updateLastColumnSettings: function() {
|
||||
if (this._scrollArea)
|
||||
this._table.child_set(this._scrollArea, { col: 1,
|
||||
col_span: 2 });
|
||||
if (this._actionArea)
|
||||
this._table.child_set(this._actionArea, { col: 1,
|
||||
col_span: 2 });
|
||||
},
|
||||
|
||||
addButton: function(button, callback) {
|
||||
if (!this._buttonBox) {
|
||||
let box = new St.BoxLayout({ style_class: 'notification-actions' });
|
||||
this.setActionArea(box, { x_expand: false,
|
||||
y_expand: false,
|
||||
x_fill: false,
|
||||
y_fill: false,
|
||||
x_align: St.Align.END });
|
||||
this._buttonBox = box;
|
||||
global.focus_manager.add_group(this._buttonBox);
|
||||
}
|
||||
|
||||
this._buttonBox.add(button);
|
||||
button.connect('clicked', Lang.bind(this, function() {
|
||||
callback();
|
||||
|
||||
if (!this.resident) {
|
||||
// We don't hide a resident notification when the user invokes one of its actions,
|
||||
// because it is common for such notifications to update themselves with new
|
||||
// information based on the action. We'd like to display the updated information
|
||||
// in place, rather than pop-up a new notification.
|
||||
this.emit('done-displaying');
|
||||
this.destroy();
|
||||
}
|
||||
}));
|
||||
|
||||
this.updated();
|
||||
return button;
|
||||
},
|
||||
|
||||
// addAction:
|
||||
// @label: the label for the action's button
|
||||
// @callback: the callback for the action
|
||||
//
|
||||
// Adds a button with the given @label to the notification. All
|
||||
// action buttons will appear in a single row at the bottom of
|
||||
// the notification.
|
||||
addAction: function(label, callback) {
|
||||
this.actions.push({ label: label, callback: callback });
|
||||
let button = new St.Button({ style_class: 'notification-button',
|
||||
label: label,
|
||||
can_focus: true });
|
||||
|
||||
return this.addButton(button, callback);
|
||||
},
|
||||
|
||||
get acknowledged() {
|
||||
@@ -859,132 +446,6 @@ const Notification = new Lang.Class({
|
||||
this.forFeedback = forFeedback;
|
||||
},
|
||||
|
||||
_styleChanged: function() {
|
||||
this._spacing = this._table.get_theme_node().get_length('spacing-columns');
|
||||
},
|
||||
|
||||
_bannerBoxGetPreferredWidth: function(actor, forHeight, alloc) {
|
||||
let [titleMin, titleNat] = this._titleLabel.get_preferred_width(forHeight);
|
||||
let [bannerMin, bannerNat] = this._bannerLabel.get_preferred_width(forHeight);
|
||||
|
||||
if (this._secondaryIcon) {
|
||||
let [secondaryIconMin, secondaryIconNat] = this._secondaryIcon.get_preferred_width(forHeight);
|
||||
|
||||
alloc.min_size = secondaryIconMin + this._spacing + titleMin;
|
||||
alloc.natural_size = secondaryIconNat + this._spacing + titleNat + this._spacing + bannerNat;
|
||||
} else {
|
||||
alloc.min_size = titleMin;
|
||||
alloc.natural_size = titleNat + this._spacing + bannerNat;
|
||||
}
|
||||
},
|
||||
|
||||
_bannerBoxGetPreferredHeight: function(actor, forWidth, alloc) {
|
||||
[alloc.min_size, alloc.natural_size] =
|
||||
this._titleLabel.get_preferred_height(forWidth);
|
||||
},
|
||||
|
||||
_bannerBoxAllocate: function(actor, box, flags) {
|
||||
let availWidth = box.x2 - box.x1;
|
||||
|
||||
let [titleMinW, titleNatW] = this._titleLabel.get_preferred_width(-1);
|
||||
let [titleMinH, titleNatH] = this._titleLabel.get_preferred_height(availWidth);
|
||||
let [bannerMinW, bannerNatW] = this._bannerLabel.get_preferred_width(availWidth);
|
||||
|
||||
let rtl = (this._table.text_direction == Clutter.TextDirection.RTL);
|
||||
let x = rtl ? availWidth : 0;
|
||||
|
||||
if (this._secondaryIcon) {
|
||||
let [iconMinW, iconNatW] = this._secondaryIcon.get_preferred_width(-1);
|
||||
let [iconMinH, iconNatH] = this._secondaryIcon.get_preferred_height(availWidth);
|
||||
|
||||
let secondaryIconBox = new Clutter.ActorBox();
|
||||
let secondaryIconBoxW = Math.min(iconNatW, availWidth);
|
||||
|
||||
// allocate secondary icon box
|
||||
if (rtl) {
|
||||
secondaryIconBox.x1 = x - secondaryIconBoxW;
|
||||
secondaryIconBox.x2 = x;
|
||||
x = x - (secondaryIconBoxW + this._spacing);
|
||||
} else {
|
||||
secondaryIconBox.x1 = x;
|
||||
secondaryIconBox.x2 = x + secondaryIconBoxW;
|
||||
x = x + secondaryIconBoxW + this._spacing;
|
||||
}
|
||||
secondaryIconBox.y1 = 0;
|
||||
// Using titleNatH ensures that the secondary icon is centered vertically
|
||||
secondaryIconBox.y2 = titleNatH;
|
||||
|
||||
availWidth = availWidth - (secondaryIconBoxW + this._spacing);
|
||||
this._secondaryIcon.allocate(secondaryIconBox, flags);
|
||||
}
|
||||
|
||||
let titleBox = new Clutter.ActorBox();
|
||||
let titleBoxW = Math.min(titleNatW, availWidth);
|
||||
if (rtl) {
|
||||
titleBox.x1 = availWidth - titleBoxW;
|
||||
titleBox.x2 = availWidth;
|
||||
} else {
|
||||
titleBox.x1 = x;
|
||||
titleBox.x2 = titleBox.x1 + titleBoxW;
|
||||
}
|
||||
titleBox.y1 = 0;
|
||||
titleBox.y2 = titleNatH;
|
||||
this._titleLabel.allocate(titleBox, flags);
|
||||
this._titleFitsInBannerMode = (titleNatW <= availWidth);
|
||||
|
||||
let bannerFits = true;
|
||||
if (titleBoxW + this._spacing > availWidth) {
|
||||
this._bannerLabel.opacity = 0;
|
||||
bannerFits = false;
|
||||
} else {
|
||||
let bannerBox = new Clutter.ActorBox();
|
||||
|
||||
if (rtl) {
|
||||
bannerBox.x1 = 0;
|
||||
bannerBox.x2 = titleBox.x1 - this._spacing;
|
||||
|
||||
bannerFits = (bannerBox.x2 - bannerNatW >= 0);
|
||||
} else {
|
||||
bannerBox.x1 = titleBox.x2 + this._spacing;
|
||||
bannerBox.x2 = availWidth;
|
||||
|
||||
bannerFits = (bannerBox.x1 + bannerNatW <= availWidth);
|
||||
}
|
||||
bannerBox.y1 = 0;
|
||||
bannerBox.y2 = titleNatH;
|
||||
this._bannerLabel.allocate(bannerBox, flags);
|
||||
|
||||
// Make _bannerLabel visible if the entire notification
|
||||
// fits on one line, or if the notification is currently
|
||||
// unexpanded and only showing one line anyway.
|
||||
if (!this.expanded || (bannerFits && this._table.row_count == 1))
|
||||
this._bannerLabel.opacity = 255;
|
||||
}
|
||||
|
||||
// If the banner doesn't fully fit in the banner box, we possibly need to add the
|
||||
// banner to the body. We can't do that from here though since that will force a
|
||||
// relayout, so we add it to the main loop.
|
||||
if (!bannerFits && this._canExpandContent())
|
||||
Meta.later_add(Meta.LaterType.BEFORE_REDRAW,
|
||||
Lang.bind(this,
|
||||
function() {
|
||||
if (this._destroyed)
|
||||
return false;
|
||||
|
||||
if (this._canExpandContent()) {
|
||||
this._addBannerBody();
|
||||
this._table.add_style_class_name('multi-line-notification');
|
||||
this.updated();
|
||||
}
|
||||
return false;
|
||||
}));
|
||||
},
|
||||
|
||||
_canExpandContent: function() {
|
||||
return (this.bannerBodyText && !this._bannerBodyAdded) ||
|
||||
(!this._titleFitsInBannerMode && !this._table.has_style_class_name('multi-line-notification'));
|
||||
},
|
||||
|
||||
playSound: function() {
|
||||
if (this._soundPlayed)
|
||||
return;
|
||||
@@ -1017,71 +478,6 @@ const Notification = new Lang.Class({
|
||||
}
|
||||
},
|
||||
|
||||
updated: function() {
|
||||
if (this.expanded)
|
||||
this.expand(false);
|
||||
},
|
||||
|
||||
expand: function(animate) {
|
||||
this.expanded = true;
|
||||
this.actor.remove_style_class_name('notification-unexpanded');
|
||||
|
||||
// Show additional content that we keep hidden in banner mode
|
||||
if (this._actionArea)
|
||||
this._actionArea.show();
|
||||
if (this._scrollArea)
|
||||
this._scrollArea.show();
|
||||
|
||||
// The banner is never shown when the title did not fit, so this
|
||||
// can be an if-else statement.
|
||||
if (!this._titleFitsInBannerMode) {
|
||||
// Remove ellipsization from the title label and make it wrap so that
|
||||
// we show the full title when the notification is expanded.
|
||||
this._titleLabel.clutter_text.line_wrap = true;
|
||||
this._titleLabel.clutter_text.line_wrap_mode = Pango.WrapMode.WORD_CHAR;
|
||||
this._titleLabel.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
} else if (this._table.row_count > 1 && this._bannerLabel.opacity != 0) {
|
||||
// We always hide the banner if the notification has additional content.
|
||||
//
|
||||
// We don't need to wrap the banner that doesn't fit the way we wrap the
|
||||
// title that doesn't fit because we won't have a notification with
|
||||
// row_count=1 that has a banner that doesn't fully fit. We'll either add
|
||||
// that banner to the content of the notification in _bannerBoxAllocate()
|
||||
// or the notification will have custom content.
|
||||
if (animate)
|
||||
Tweener.addTween(this._bannerLabel,
|
||||
{ opacity: 0,
|
||||
time: ANIMATION_TIME,
|
||||
transition: 'easeOutQuad' });
|
||||
else
|
||||
this._bannerLabel.opacity = 0;
|
||||
}
|
||||
this.emit('expanded');
|
||||
},
|
||||
|
||||
collapseCompleted: function() {
|
||||
if (this._destroyed)
|
||||
return;
|
||||
this.expanded = false;
|
||||
|
||||
// Hide additional content that we keep hidden in banner mode
|
||||
if (this._actionArea)
|
||||
this._actionArea.hide();
|
||||
if (this._scrollArea)
|
||||
this._scrollArea.hide();
|
||||
|
||||
// Make sure we don't line wrap the title, and ellipsize it instead.
|
||||
this._titleLabel.clutter_text.line_wrap = false;
|
||||
this._titleLabel.clutter_text.ellipsize = Pango.EllipsizeMode.END;
|
||||
|
||||
// Restore banner opacity in case the notification is shown in the
|
||||
// banner mode again on update.
|
||||
this._bannerLabel.opacity = 255;
|
||||
|
||||
// Restore height requisition
|
||||
this.actor.add_style_class_name('notification-unexpanded');
|
||||
},
|
||||
|
||||
// Allow customizing the banner UI:
|
||||
// the default implementation defers the creation to
|
||||
// the source (which will create a NotificationBanner),
|
||||
@@ -1093,27 +489,14 @@ const Notification = new Lang.Class({
|
||||
|
||||
activate: function() {
|
||||
this.emit('activated');
|
||||
// We hide all types of notifications once the user clicks on them because the common
|
||||
// outcome of clicking should be the relevant window being brought forward and the user's
|
||||
// attention switching to the window.
|
||||
this.emit('done-displaying');
|
||||
if (!this.resident)
|
||||
this.destroy();
|
||||
},
|
||||
|
||||
_onDestroy: function() {
|
||||
if (this._destroyed)
|
||||
return;
|
||||
this._destroyed = true;
|
||||
if (!this._destroyedReason)
|
||||
this._destroyedReason = NotificationDestroyedReason.DISMISSED;
|
||||
this.emit('destroy', this._destroyedReason);
|
||||
},
|
||||
|
||||
destroy: function(reason) {
|
||||
this._destroyedReason = reason;
|
||||
this.actor.destroy();
|
||||
this.actor._delegate = null;
|
||||
if (!reason)
|
||||
reason = NotificationDestroyedReason.DISMISSED;
|
||||
this.emit('destroy', reason);
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(Notification.prototype);
|
||||
@@ -1126,7 +509,6 @@ const NotificationBanner = new Lang.Class({
|
||||
this.parent(notification);
|
||||
|
||||
this.actor.add_style_class_name('notification-banner');
|
||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroyed));
|
||||
|
||||
this._buttonBox = null;
|
||||
|
||||
@@ -1143,7 +525,8 @@ const NotificationBanner = new Lang.Class({
|
||||
}));
|
||||
},
|
||||
|
||||
_onDestroyed: function() {
|
||||
_onDestroy: function() {
|
||||
this.parent();
|
||||
this.notification.disconnect(this._activatedId);
|
||||
},
|
||||
|
||||
@@ -1937,11 +1320,7 @@ const MessageTray = new Lang.Class({
|
||||
this.idleMonitor.add_user_active_watch(Lang.bind(this, this._onIdleMonitorBecameActive));
|
||||
}
|
||||
|
||||
// HACK: didn't manage to get chat into a proper state in time
|
||||
if (this._notification.source.isChat)
|
||||
this._banner = this._notification;
|
||||
else
|
||||
this._banner = this._notification.createBanner();
|
||||
this._banner = this._notification.createBanner();
|
||||
this._bannerClickedId = this._banner.connect('done-displaying',
|
||||
Lang.bind(this, this._escapeTray));
|
||||
this._bannerUnfocusedId = this._banner.connect('unfocused', Lang.bind(this, function() {
|
||||
@@ -2093,10 +1472,7 @@ const MessageTray = new Lang.Class({
|
||||
this._pointerInNotification = false;
|
||||
this._notificationRemoved = false;
|
||||
|
||||
if (notification.resident)
|
||||
this._bannerBin.remove_actor(this._banner.actor);
|
||||
else
|
||||
this._banner.actor.destroy();
|
||||
this._banner.actor.destroy();
|
||||
this._banner = null;
|
||||
this.actor.hide();
|
||||
},
|
||||
|
||||
@@ -752,7 +752,7 @@ const Panel = new Lang.Class({
|
||||
}));
|
||||
|
||||
Main.layoutManager.panelBox.add(this.actor);
|
||||
Main.ctrlAltTabManager.addGroup(this.actor, _("Top Bar"), 'emblem-system-symbolic',
|
||||
Main.ctrlAltTabManager.addGroup(this.actor, _("Top Bar"), 'focus-top-bar-symbolic',
|
||||
{ sortGroup: CtrlAltTab.SortGroup.TOP });
|
||||
|
||||
Main.sessionMode.connect('updated', Lang.bind(this, this._updatePanel));
|
||||
|
||||
@@ -12,7 +12,6 @@ const BoxPointer = imports.ui.boxpointer;
|
||||
const GrabHelper = imports.ui.grabHelper;
|
||||
const Main = imports.ui.main;
|
||||
const Params = imports.misc.params;
|
||||
const Separator = imports.ui.separator;
|
||||
const Tweener = imports.ui.tweener;
|
||||
|
||||
const Ornament = {
|
||||
@@ -264,7 +263,9 @@ const PopupSeparatorMenuItem = new Lang.Class({
|
||||
Lang.bind(this, this._syncVisibility));
|
||||
this._syncVisibility();
|
||||
|
||||
this._separator = new St.Widget({ style_class: 'popup-separator-menu-item' });
|
||||
this._separator = new St.Widget({ style_class: 'popup-separator-menu-item',
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
this.actor.add(this._separator, { expand: true });
|
||||
},
|
||||
|
||||
|
||||
@@ -236,8 +236,10 @@ const RemoteSearchProvider = new Lang.Class({
|
||||
|
||||
_getResultsFinished: function(results, error, callback) {
|
||||
if (error) {
|
||||
if (!error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
log('Received error from DBus search provider %s: %s'.format(this.id, String(error)));
|
||||
if (error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
return;
|
||||
|
||||
log('Received error from DBus search provider %s: %s'.format(this.id, String(error)));
|
||||
callback([]);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -283,8 +283,8 @@ const SelectArea = new Lang.Class({
|
||||
_getGeometry: function() {
|
||||
return { x: Math.min(this._startX, this._lastX),
|
||||
y: Math.min(this._startY, this._lastY),
|
||||
width: Math.abs(this._startX - this._lastX),
|
||||
height: Math.abs(this._startY - this._lastY) };
|
||||
width: Math.abs(this._startX - this._lastX) + 1,
|
||||
height: Math.abs(this._startY - this._lastY) + 1 };
|
||||
},
|
||||
|
||||
_onMotionEvent: function(actor, event) {
|
||||
@@ -292,6 +292,8 @@ const SelectArea = new Lang.Class({
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
[this._lastX, this._lastY] = event.get_coords();
|
||||
this._lastX = Math.floor(this._lastX);
|
||||
this._lastY = Math.floor(this._lastY);
|
||||
let geometry = this._getGeometry();
|
||||
|
||||
this._rubberband.set_position(geometry.x, geometry.y);
|
||||
@@ -302,6 +304,8 @@ const SelectArea = new Lang.Class({
|
||||
|
||||
_onButtonPress: function(actor, event) {
|
||||
[this._startX, this._startY] = event.get_coords();
|
||||
this._startX = Math.floor(this._startX);
|
||||
this._startY = Math.floor(this._startY);
|
||||
this._rubberband.set_position(this._startX, this._startY);
|
||||
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
@@ -205,6 +205,13 @@ const SearchResultsBase = new Lang.Class({
|
||||
callback(false);
|
||||
return;
|
||||
}
|
||||
if (metas.some(function(meta) {
|
||||
return !meta.name || !meta.id;
|
||||
})) {
|
||||
log('Invalid result meta returned from search provider ' + this.provider.id);
|
||||
callback(false);
|
||||
return;
|
||||
}
|
||||
|
||||
metasNeeded.forEach(Lang.bind(this, function(resultId, i) {
|
||||
let meta = metas[i];
|
||||
|
||||
@@ -49,9 +49,9 @@ function _setButtonsForChoices(dialog, choices) {
|
||||
function _setLabelsForMessage(dialog, message) {
|
||||
let labels = message.split('\n');
|
||||
|
||||
_setLabelText(dialog.subjectLabel, labels[0]);
|
||||
if (labels.length > 1)
|
||||
_setLabelText(dialog.descriptionLabel, labels[1]);
|
||||
_setLabelText(dialog.subjectLabel, labels.shift());
|
||||
if (labels.length > 0)
|
||||
_setLabelText(dialog.descriptionLabel, labels.join('\n'));
|
||||
}
|
||||
|
||||
function _createIcon(gicon) {
|
||||
@@ -347,7 +347,7 @@ const ShellMountPasswordDialog = new Lang.Class({
|
||||
mainContentBox.add(this._messageBox,
|
||||
{ y_align: St.Align.START, expand: true, x_fill: true, y_fill: true });
|
||||
|
||||
let subject = new St.Label({ style_class: 'prompt-dialog-headline' });
|
||||
let subject = new St.Label({ style_class: 'prompt-dialog-headline headline' });
|
||||
this._messageBox.add(subject,
|
||||
{ y_fill: false,
|
||||
y_align: St.Align.START });
|
||||
|
||||
@@ -475,13 +475,20 @@ const InputSourceManager = new Lang.Class({
|
||||
},
|
||||
|
||||
_getNewInputSource: function(current) {
|
||||
for (let i in this._inputSources) {
|
||||
let is = this._inputSources[i];
|
||||
if (is.type == current.type &&
|
||||
is.id == current.id)
|
||||
return is;
|
||||
let sourceIndexes = Object.keys(this._inputSources);
|
||||
if (sourceIndexes.length == 0)
|
||||
return null;
|
||||
|
||||
if (current) {
|
||||
for (let i in this._inputSources) {
|
||||
let is = this._inputSources[i];
|
||||
if (is.type == current.type &&
|
||||
is.id == current.id)
|
||||
return is;
|
||||
}
|
||||
}
|
||||
return this._currentSource;
|
||||
|
||||
return this._inputSources[sourceIndexes[0]];
|
||||
},
|
||||
|
||||
_getCurrentWindow: function() {
|
||||
@@ -496,16 +503,13 @@ const InputSourceManager = new Lang.Class({
|
||||
if (!window)
|
||||
return;
|
||||
|
||||
if (!window._inputSources) {
|
||||
window._inputSources = this._inputSources;
|
||||
window._currentSource = this._currentSource;
|
||||
} else if (window._inputSources == this._inputSources) {
|
||||
window._currentSource.activate();
|
||||
} else {
|
||||
if (window._inputSources != this._inputSources) {
|
||||
window._inputSources = this._inputSources;
|
||||
window._currentSource = this._getNewInputSource(window._currentSource);
|
||||
window._currentSource.activate();
|
||||
}
|
||||
|
||||
if (window._currentSource)
|
||||
window._currentSource.activate();
|
||||
},
|
||||
|
||||
_sourcesPerWindowChanged: function() {
|
||||
|
||||
@@ -6,6 +6,7 @@ const Clutter = imports.gi.Clutter;
|
||||
const AccountsService = imports.gi.AccountsService;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Lang = imports.lang;
|
||||
const St = imports.gi.St;
|
||||
|
||||
@@ -117,6 +118,7 @@ const UserWidgetLabel = new Lang.Class({
|
||||
this._currentLabel = this._realNameLabel;
|
||||
else
|
||||
this._currentLabel = this._userNameLabel;
|
||||
this.label_actor = this._currentLabel;
|
||||
|
||||
let childBox = new Clutter.ActorBox();
|
||||
childBox.x1 = 0;
|
||||
@@ -158,6 +160,9 @@ const UserWidget = new Lang.Class({
|
||||
this._label = new UserWidgetLabel(user);
|
||||
this.actor.add_child(this._label);
|
||||
|
||||
this._label.bind_property('label-actor', this.actor, 'label-actor',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
|
||||
this._userLoadedId = this._user.connect('notify::is-loaded', Lang.bind(this, this._updateUser));
|
||||
this._userChangedId = this._user.connect('changed', Lang.bind(this, this._updateUser));
|
||||
this._updateUser();
|
||||
|
||||
@@ -152,7 +152,7 @@ const ViewSelector = new Lang.Class({
|
||||
|
||||
this._workspacesDisplay = new WorkspacesView.WorkspacesDisplay();
|
||||
this._workspacesPage = this._addPage(this._workspacesDisplay.actor,
|
||||
_("Windows"), 'emblem-documents-symbolic');
|
||||
_("Windows"), 'focus-windows-symbolic');
|
||||
|
||||
this.appDisplay = new AppDisplay.AppDisplay();
|
||||
this._appsPage = this._addPage(this.appDisplay.actor,
|
||||
@@ -214,10 +214,13 @@ const ViewSelector = new Lang.Class({
|
||||
Shell.ActionMode.OVERVIEW,
|
||||
Lang.bind(Main.overview, Main.overview.toggle));
|
||||
|
||||
let gesture;
|
||||
|
||||
gesture = new EdgeDragAction.EdgeDragAction(St.Side.LEFT,
|
||||
Shell.ActionMode.NORMAL);
|
||||
let side;
|
||||
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
|
||||
side = St.Side.RIGHT;
|
||||
else
|
||||
side = St.Side.LEFT;
|
||||
let gesture = new EdgeDragAction.EdgeDragAction(side,
|
||||
Shell.ActionMode.NORMAL);
|
||||
gesture.connect('activated', Lang.bind(this, function() {
|
||||
if (Main.overview.visible)
|
||||
Main.overview.hide();
|
||||
|
||||
@@ -840,6 +840,7 @@ const WindowManager = new Lang.Class({
|
||||
new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }),
|
||||
Meta.KeyBindingFlags.NONE,
|
||||
Shell.ActionMode.NORMAL |
|
||||
Shell.ActionMode.OVERVIEW |
|
||||
Shell.ActionMode.POPUP,
|
||||
Lang.bind(this, this._toggleCalendar));
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ be
|
||||
bg
|
||||
bn
|
||||
bn_IN
|
||||
bs
|
||||
ca
|
||||
ca@valencia
|
||||
cs
|
||||
|
||||
@@ -30,6 +30,7 @@ js/ui/endSessionDialog.js
|
||||
js/ui/extensionDownloader.js
|
||||
js/ui/extensionSystem.js
|
||||
js/ui/keyboard.js
|
||||
js/ui/legacyTray.js
|
||||
js/ui/lookingGlass.js
|
||||
js/ui/main.js
|
||||
js/ui/messageTray.js
|
||||
|
||||
182
po/cs.po
182
po/cs.po
@@ -11,8 +11,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-04 12:55+0000\n"
|
||||
"PO-Revision-Date: 2015-03-04 14:23+0100\n"
|
||||
"POT-Creation-Date: 2015-03-13 20:44+0000\n"
|
||||
"PO-Revision-Date: 2015-03-14 00:03+0100\n"
|
||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
||||
"Language: cs\n"
|
||||
@@ -28,8 +28,6 @@ msgid "System"
|
||||
msgstr "Systém"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:2
|
||||
#| msgid "%d new notification"
|
||||
#| msgid_plural "%d new notifications"
|
||||
msgid "Show the notification list"
|
||||
msgstr "Zobrazit seznam upozornění"
|
||||
|
||||
@@ -206,12 +204,10 @@ msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Klávesová zkratka sloužící k otevření přehledu činností"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
#| msgid "Keybinding to toggle the visibility of the message tray"
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Klávesová zkratka přepínající viditelnost seznamu upozornění"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
#| msgid "Keybinding to toggle the visibility of the message tray."
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Klávesová zkratka sloužící k přepnutí viditelnosti seznamu upozornění."
|
||||
|
||||
@@ -311,7 +307,7 @@ msgstr ""
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Rozšíření GNOME Shell"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
@@ -332,25 +328,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Přihlásit se"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
#: ../js/gdm/loginDialog.js:280
|
||||
msgid "Choose Session"
|
||||
msgstr "Vybrat sezení"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:417
|
||||
#: ../js/gdm/loginDialog.js:421
|
||||
msgid "Not listed?"
|
||||
msgstr "Nejste na seznamu?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:826
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(např. uživatel nebo %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:831 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Uživatelské jméno: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1166
|
||||
#: ../js/gdm/loginDialog.js:1170
|
||||
msgid "Login Window"
|
||||
msgstr "Přihlašovací okno"
|
||||
|
||||
@@ -443,31 +439,31 @@ msgstr "%e. %B %Y, %l∶%M %p"
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Přesměrováno na ověření přes web"
|
||||
|
||||
#: ../js/ui/appDisplay.js:791
|
||||
#: ../js/ui/appDisplay.js:792
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Zde se objeví často používané aplikace"
|
||||
|
||||
#: ../js/ui/appDisplay.js:911
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
msgid "Frequent"
|
||||
msgstr "Časté"
|
||||
|
||||
#: ../js/ui/appDisplay.js:918
|
||||
#: ../js/ui/appDisplay.js:919
|
||||
msgid "All"
|
||||
msgstr "Všechny"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1849
|
||||
#: ../js/ui/appDisplay.js:1850
|
||||
msgid "New Window"
|
||||
msgstr "Nové okno"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1877 ../js/ui/dash.js:289
|
||||
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Odstranit z oblíbených"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1883
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Přidat mezi oblíbené"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1893
|
||||
#: ../js/ui/appDisplay.js:1894
|
||||
msgid "Show Details"
|
||||
msgstr "Zobrazit podrobnosti"
|
||||
|
||||
@@ -481,7 +477,7 @@ msgstr "%s byl přidán mezi oblíbené."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s byl odstraněn z oblíbených."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Nastavení"
|
||||
@@ -491,104 +487,104 @@ msgid "Change Background…"
|
||||
msgstr "Změnit pozadí…"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
|
||||
#: ../js/ui/calendar.js:49
|
||||
#: ../js/ui/calendar.js:53
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Celý den"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Sunday.
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:93
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "Ne"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:95
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "Po"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:97
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "Út"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:99
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "St"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:101
|
||||
#: ../js/ui/calendar.js:90
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "Čt"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:103
|
||||
#: ../js/ui/calendar.js:92
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "Pá"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:105
|
||||
#: ../js/ui/calendar.js:94
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "So"
|
||||
|
||||
#: ../js/ui/calendar.js:572
|
||||
#: ../js/ui/calendar.js:563
|
||||
msgid "Previous month"
|
||||
msgstr "Předchozí měsíc"
|
||||
|
||||
#: ../js/ui/calendar.js:582
|
||||
#: ../js/ui/calendar.js:573
|
||||
msgid "Next month"
|
||||
msgstr "Následující měsíc"
|
||||
|
||||
#: ../js/ui/calendar.js:789
|
||||
#: ../js/ui/calendar.js:780
|
||||
msgid "Week %V"
|
||||
msgstr "Týden %V"
|
||||
|
||||
#: ../js/ui/calendar.js:1245
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:1182
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Celý den"
|
||||
|
||||
#: ../js/ui/calendar.js:1288
|
||||
msgid "Clear section"
|
||||
msgstr "Vymazat část"
|
||||
|
||||
#: ../js/ui/calendar.js:1437
|
||||
#: ../js/ui/calendar.js:1515
|
||||
msgid "Events"
|
||||
msgstr "Události"
|
||||
|
||||
#: ../js/ui/calendar.js:1445
|
||||
#: ../js/ui/calendar.js:1524
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %e. %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1449
|
||||
#: ../js/ui/calendar.js:1528
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %e. %B %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1541
|
||||
#: ../js/ui/calendar.js:1613
|
||||
msgid "Notifications"
|
||||
msgstr "Upozornění"
|
||||
|
||||
#: ../js/ui/calendar.js:1681
|
||||
#: ../js/ui/calendar.js:1764
|
||||
msgid "No Notifications"
|
||||
msgstr "Žádná upozornění"
|
||||
|
||||
#: ../js/ui/calendar.js:1684
|
||||
#: ../js/ui/calendar.js:1767
|
||||
msgid "No Events"
|
||||
msgstr "Žádné události"
|
||||
|
||||
@@ -613,40 +609,42 @@ msgstr "Heslo:"
|
||||
msgid "Type again:"
|
||||
msgstr "Napište znovu:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:138 ../js/ui/status/network.js:277
|
||||
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277
|
||||
#: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
|
||||
msgid "Connect"
|
||||
msgstr "Připojit"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:231
|
||||
#: ../js/ui/components/networkAgent.js:243
|
||||
#: ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
#: ../js/ui/components/networkAgent.js:301
|
||||
#: ../js/ui/components/networkAgent.js:233
|
||||
#: ../js/ui/components/networkAgent.js:245
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/ui/components/networkAgent.js:293
|
||||
#: ../js/ui/components/networkAgent.js:303
|
||||
msgid "Password: "
|
||||
msgstr "Heslo: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:236
|
||||
#: ../js/ui/components/networkAgent.js:238
|
||||
msgid "Key: "
|
||||
msgstr "Klíč: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Identity: "
|
||||
msgstr "Indentita: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Private key password: "
|
||||
msgstr "Heslo soukromého klíče: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Service: "
|
||||
msgstr "Služba: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:318
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
#: ../js/ui/components/networkAgent.js:658
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "K bezdrátové síti je vyžadováno ověření"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:319
|
||||
#: ../js/ui/components/networkAgent.js:321
|
||||
#: ../js/ui/components/networkAgent.js:659
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -655,39 +653,51 @@ msgstr ""
|
||||
"Pro přístup k bezdrátové síti „%s“ jsou vyžadována hesla nebo šifrovací "
|
||||
"klíče."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:662
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Ověření připojení po drátu 802.1X"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "Network name: "
|
||||
msgstr "Název sítě: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:330
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:666
|
||||
msgid "DSL authentication"
|
||||
msgstr "Ověření DSL"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:337
|
||||
#: ../js/ui/components/networkAgent.js:339
|
||||
#: ../js/ui/components/networkAgent.js:672
|
||||
msgid "PIN code required"
|
||||
msgstr "Požadován kód PIN"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:338
|
||||
#: ../js/ui/components/networkAgent.js:340
|
||||
#: ../js/ui/components/networkAgent.js:673
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Pro mobilní širokopásmové zařízení je vyžadován kód PIN"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:339
|
||||
#: ../js/ui/components/networkAgent.js:341
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:345
|
||||
#: ../js/ui/components/networkAgent.js:348
|
||||
#: ../js/ui/components/networkAgent.js:679
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Heslo k mobilní širokopásmové síti"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:346
|
||||
#: ../js/ui/components/networkAgent.js:349
|
||||
#: ../js/ui/components/networkAgent.js:663
|
||||
#: ../js/ui/components/networkAgent.js:667
|
||||
#: ../js/ui/components/networkAgent.js:680
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Pro připojení k „%s“ je vyžadováno heslo."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1657
|
||||
msgid "Network Manager"
|
||||
msgstr "Network Manager"
|
||||
|
||||
#: ../js/ui/components/polkitAgent.js:54
|
||||
msgid "Authentication Required"
|
||||
msgstr "Je vyžadováno ověření"
|
||||
@@ -710,7 +720,7 @@ msgstr "Ověření bohužel nebylo úspěšné. Zkuste to prosím znovu."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:772
|
||||
#: ../js/ui/components/telepathyClient.js:775
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s je teď znám jako %s"
|
||||
@@ -719,11 +729,11 @@ msgstr "%s je teď znám jako %s"
|
||||
msgid "Windows"
|
||||
msgstr "Okna"
|
||||
|
||||
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
|
||||
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
|
||||
msgid "Show Applications"
|
||||
msgstr "Zobrazit aplikace"
|
||||
|
||||
#: ../js/ui/dash.js:451
|
||||
#: ../js/ui/dash.js:453
|
||||
msgid "Dash"
|
||||
msgstr "Oblíbené"
|
||||
|
||||
@@ -899,10 +909,20 @@ msgstr "Instalovat"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Stáhnout a nainstalovat „%s“ z extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:576
|
||||
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580
|
||||
msgid "Keyboard"
|
||||
msgstr "Klávesnice"
|
||||
|
||||
#. translators: 'Hide' is a verb */
|
||||
#: ../js/ui/legacyTray.js:59
|
||||
#| msgid "Hide Text"
|
||||
msgid "Hide tray"
|
||||
msgstr "Skrýt pořadač"
|
||||
|
||||
#: ../js/ui/legacyTray.js:91
|
||||
msgid "Status Icons"
|
||||
msgstr "Stavové ikony"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:643
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nejsou nainstalována žádná rozšíření"
|
||||
@@ -955,7 +975,7 @@ msgstr "Zobrazit zdroj"
|
||||
msgid "Web Page"
|
||||
msgstr "Webová stránka"
|
||||
|
||||
#: ../js/ui/messageTray.js:2131
|
||||
#: ../js/ui/messageTray.js:2133
|
||||
msgid "System Information"
|
||||
msgstr "Informace o systému"
|
||||
|
||||
@@ -975,21 +995,21 @@ msgstr "Přehled"
|
||||
msgid "Type to search…"
|
||||
msgstr "Vyhledávejte psaním…"
|
||||
|
||||
#: ../js/ui/panel.js:351
|
||||
#: ../js/ui/panel.js:352
|
||||
msgid "Quit"
|
||||
msgstr "Ukončit"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:403
|
||||
#: ../js/ui/panel.js:404
|
||||
msgid "Activities"
|
||||
msgstr "Činnosti"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:755
|
||||
msgid "Top Bar"
|
||||
msgstr "Horní lišta"
|
||||
|
||||
#: ../js/ui/popupMenu.js:288
|
||||
#: ../js/ui/popupMenu.js:289
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@@ -1043,11 +1063,11 @@ msgstr "Nelze uzamknout obrazovku"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Zamknutí bylo zablokováno některou z aplikací"
|
||||
|
||||
#: ../js/ui/search.js:609
|
||||
#: ../js/ui/search.js:616
|
||||
msgid "Searching…"
|
||||
msgstr "Hledá se…"
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
#: ../js/ui/search.js:618
|
||||
msgid "No results."
|
||||
msgstr "Žádné výsledky."
|
||||
|
||||
@@ -1150,7 +1170,7 @@ msgstr "Nepřipojeno"
|
||||
msgid "Brightness"
|
||||
msgstr "Jas"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:599
|
||||
#: ../js/ui/status/keyboard.js:603
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Zobrazit rozložení klávesnice"
|
||||
|
||||
@@ -1319,10 +1339,6 @@ msgstr "Nastavení VPN"
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1657
|
||||
msgid "Network Manager"
|
||||
msgstr "Network Manager"
|
||||
|
||||
#: ../js/ui/status/network.js:1697
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivace síťového připojení selhala"
|
||||
|
||||
536
po/fr.po
536
po/fr.po
@@ -1,5 +1,5 @@
|
||||
# French translations for gnome-shell package.
|
||||
# Copyright (C) 2009-2012 Listed translators
|
||||
# Copyright (C) 2009-2015 Listed translators
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
#
|
||||
# Mathieu Bridon <bochecha@fedoraproject.org>, 2009.
|
||||
@@ -19,8 +19,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master fr\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-04 08:44+0000\n"
|
||||
"PO-Revision-Date: 2015-03-03 00:21+0100\n"
|
||||
"POT-Creation-Date: 2015-03-15 20:37+0000\n"
|
||||
"PO-Revision-Date: 2015-03-11 10:27+0100\n"
|
||||
"Last-Translator: Alain Lojewski <allomervan@gmail.com>\n"
|
||||
"Language-Team: français <gnomefr@traduc.org>\n"
|
||||
"Language: French\n"
|
||||
@@ -335,7 +335,7 @@ msgstr ""
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Extensions GNOME Shell"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
@@ -356,25 +356,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
#: ../js/gdm/loginDialog.js:280
|
||||
msgid "Choose Session"
|
||||
msgstr "Choisir une session"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:417
|
||||
#: ../js/gdm/loginDialog.js:421
|
||||
msgid "Not listed?"
|
||||
msgstr "Absent de la liste ?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:826
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(par ex. utilisateur ou %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:831 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Nom d'utilisateur : "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1166
|
||||
#: ../js/gdm/loginDialog.js:1170
|
||||
msgid "Login Window"
|
||||
msgstr "Fenêtre de connexion"
|
||||
|
||||
@@ -386,50 +386,112 @@ msgstr "Erreur d'authentification"
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(ou faites glisser le doigt)"
|
||||
|
||||
#: ../js/misc/util.js:115
|
||||
#: ../js/misc/util.js:119
|
||||
msgid "Command not found"
|
||||
msgstr "Commande non trouvée"
|
||||
|
||||
#: ../js/misc/util.js:148
|
||||
#: ../js/misc/util.js:152
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Impossible d'analyser la commande :"
|
||||
|
||||
#: ../js/misc/util.js:156
|
||||
#: ../js/misc/util.js:160
|
||||
#, javascript-format
|
||||
msgid "Execution of “%s” failed:"
|
||||
msgstr "Exécution de « %s » impossible :"
|
||||
|
||||
#. Translators: Time in 24h format */
|
||||
#: ../js/misc/util.js:191
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||
#: ../js/misc/util.js:197
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "Hier, %H∶%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||
#: ../js/misc/util.js:203
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30" */
|
||||
#: ../js/misc/util.js:209
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%d %B, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30" */
|
||||
#: ../js/misc/util.js:215
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%d %B %Y, %H∶%M"
|
||||
|
||||
#. Translators: Time in 12h format */
|
||||
#: ../js/misc/util.js:220
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l∶%M %p"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||
#: ../js/misc/util.js:226
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "Hier, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||
#: ../js/misc/util.js:232
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm" */
|
||||
#: ../js/misc/util.js:238
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%d %B, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||
#: ../js/misc/util.js:244
|
||||
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, until we know the title of the actual login page */
|
||||
#: ../js/portalHelper/main.js:85
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Redirection de l'authentification Web"
|
||||
|
||||
#: ../js/ui/appDisplay.js:785
|
||||
#: ../js/ui/appDisplay.js:792
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Les applications fréquemment utilisées apparaîtront ici"
|
||||
|
||||
#: ../js/ui/appDisplay.js:905
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
msgid "Frequent"
|
||||
msgstr "Fréquemment utilisées"
|
||||
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
#: ../js/ui/appDisplay.js:919
|
||||
msgid "All"
|
||||
msgstr "Toutes"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1840
|
||||
#: ../js/ui/appDisplay.js:1850
|
||||
msgid "New Window"
|
||||
msgstr "Nouvelle fenêtre"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1868 ../js/ui/dash.js:289
|
||||
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Enlever des favoris"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1874
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Ajouter aux favoris"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
#: ../js/ui/appDisplay.js:1894
|
||||
msgid "Show Details"
|
||||
msgstr "Afficher les détails"
|
||||
|
||||
@@ -443,7 +505,7 @@ msgstr "%s a été ajouté à vos favoris."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s a été supprimé de vos favoris."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Paramètres"
|
||||
@@ -453,11 +515,69 @@ msgid "Change Background…"
|
||||
msgstr "Modifier l'arrière-plan…"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
|
||||
#: ../js/ui/calendar.js:52
|
||||
#: ../js/ui/calendar.js:53
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Sunday.
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "D"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "L"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:90
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "J"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:92
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:94
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#: ../js/ui/calendar.js:563
|
||||
msgid "Previous month"
|
||||
msgstr "Mois précédent"
|
||||
|
||||
#: ../js/ui/calendar.js:573
|
||||
msgid "Next month"
|
||||
msgstr "Mois suivant"
|
||||
|
||||
#: ../js/ui/calendar.js:780
|
||||
msgid "Week %V"
|
||||
msgstr "Semaine %V"
|
||||
|
||||
# luc: Trying alternatives:
|
||||
# 123456789|123456789|
|
||||
# Toute la journée bad
|
||||
@@ -476,111 +596,38 @@ msgstr "06"
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:81
|
||||
#: ../js/ui/calendar.js:1182
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Journée"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 24h format,
|
||||
#. \u2236 is a ratio character, similar to : */
|
||||
#: ../js/ui/calendar.js:88 ../js/ui/calendar.js:1596
|
||||
msgctxt "event list time"
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 12h format,
|
||||
#. \u2236 is a ratio character, similar to : and \u2009 is
|
||||
#. a thin space */
|
||||
#: ../js/ui/calendar.js:97
|
||||
msgctxt "event list time"
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l∶%M %p"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Sunday.
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:111
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "D"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:113
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "L"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:115
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:117
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:119
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "J"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:121
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:123
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#: ../js/ui/calendar.js:590
|
||||
msgid "Previous month"
|
||||
msgstr "Mois précédent"
|
||||
|
||||
#: ../js/ui/calendar.js:600
|
||||
msgid "Next month"
|
||||
msgstr "Mois suivant"
|
||||
|
||||
#: ../js/ui/calendar.js:807
|
||||
msgid "Week %V"
|
||||
msgstr "Semaine %V"
|
||||
|
||||
#: ../js/ui/calendar.js:1263
|
||||
#: ../js/ui/calendar.js:1288
|
||||
msgid "Clear section"
|
||||
msgstr "Effacer la section"
|
||||
|
||||
#: ../js/ui/calendar.js:1455
|
||||
#: ../js/ui/calendar.js:1515
|
||||
msgid "Events"
|
||||
msgstr "Évènements"
|
||||
|
||||
#: ../js/ui/calendar.js:1463
|
||||
#: ../js/ui/calendar.js:1524
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A %d %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1467
|
||||
#: ../js/ui/calendar.js:1528
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A %d %B, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1560
|
||||
#: ../js/ui/calendar.js:1613
|
||||
msgid "Notifications"
|
||||
msgstr "Notifications"
|
||||
|
||||
#: ../js/ui/calendar.js:1700
|
||||
#: ../js/ui/calendar.js:1764
|
||||
msgid "No Notifications"
|
||||
msgstr "Aucune notification"
|
||||
|
||||
#: ../js/ui/calendar.js:1703
|
||||
#: ../js/ui/calendar.js:1767
|
||||
msgid "No Events"
|
||||
msgstr "Aucun évènement"
|
||||
|
||||
@@ -605,40 +652,42 @@ msgstr "Mot de passe :"
|
||||
msgid "Type again:"
|
||||
msgstr "Saisissez à nouveau :"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:138 ../js/ui/status/network.js:277
|
||||
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277
|
||||
#: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
|
||||
msgid "Connect"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:231
|
||||
#: ../js/ui/components/networkAgent.js:243
|
||||
#: ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
#: ../js/ui/components/networkAgent.js:301
|
||||
#: ../js/ui/components/networkAgent.js:233
|
||||
#: ../js/ui/components/networkAgent.js:245
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/ui/components/networkAgent.js:293
|
||||
#: ../js/ui/components/networkAgent.js:303
|
||||
msgid "Password: "
|
||||
msgstr "Mot de passe : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:236
|
||||
#: ../js/ui/components/networkAgent.js:238
|
||||
msgid "Key: "
|
||||
msgstr "Clé : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Identity: "
|
||||
msgstr "Identité : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Private key password: "
|
||||
msgstr "Mot de passe de la clé privée : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Service: "
|
||||
msgstr "Service : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:318
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
#: ../js/ui/components/networkAgent.js:658
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "L'authentification est requise par le réseau sans fil"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:319
|
||||
#: ../js/ui/components/networkAgent.js:321
|
||||
#: ../js/ui/components/networkAgent.js:659
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -647,39 +696,51 @@ 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:323
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:662
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Authentification filaire 802.1X"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "Network name: "
|
||||
msgstr "Nom du réseau : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:330
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:666
|
||||
msgid "DSL authentication"
|
||||
msgstr "Authentification DSL"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:337
|
||||
#: ../js/ui/components/networkAgent.js:339
|
||||
#: ../js/ui/components/networkAgent.js:672
|
||||
msgid "PIN code required"
|
||||
msgstr "Code PIN requis"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:338
|
||||
#: ../js/ui/components/networkAgent.js:340
|
||||
#: ../js/ui/components/networkAgent.js:673
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Un code PIN est nécessaire pour les téléphones mobiles à large bande"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:339
|
||||
#: ../js/ui/components/networkAgent.js:341
|
||||
msgid "PIN: "
|
||||
msgstr "PIN : "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:345
|
||||
#: ../js/ui/components/networkAgent.js:348
|
||||
#: ../js/ui/components/networkAgent.js:679
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Mot de passe du téléphone mobile à large bande"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:346
|
||||
#: ../js/ui/components/networkAgent.js:349
|
||||
#: ../js/ui/components/networkAgent.js:663
|
||||
#: ../js/ui/components/networkAgent.js:667
|
||||
#: ../js/ui/components/networkAgent.js:680
|
||||
#, 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:647 ../js/ui/status/network.js:1657
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestionnaire de réseau"
|
||||
|
||||
#: ../js/ui/components/polkitAgent.js:54
|
||||
msgid "Authentication Required"
|
||||
msgstr "Authentification nécessaire"
|
||||
@@ -700,71 +761,9 @@ msgstr "S'authentifier"
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Échec de l'authentification. Essayez à nouveau."
|
||||
|
||||
#. Translators: Time in 24h format */
|
||||
#: ../js/ui/components/telepathyClient.js:764 ../js/ui/dateMenu.js:210
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:771
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "Hier, %H∶%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:778
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:785
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%d %B, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:791
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%d %B %Y, %H∶%M"
|
||||
|
||||
#. Translators: Time in 12h format */
|
||||
#: ../js/ui/components/telepathyClient.js:797 ../js/ui/dateMenu.js:213
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l∶%M %p"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:804
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "Hier, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:811
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:818
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%d %B, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||
#: ../js/ui/components/telepathyClient.js:824
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%d %B %Y, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:856
|
||||
#: ../js/ui/components/telepathyClient.js:775
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s est maintenant connu sous le nom de %s"
|
||||
@@ -773,11 +772,11 @@ msgstr "%s est maintenant connu sous le nom de %s"
|
||||
msgid "Windows"
|
||||
msgstr "Fenêtres"
|
||||
|
||||
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
|
||||
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
|
||||
msgid "Show Applications"
|
||||
msgstr "Afficher les applications"
|
||||
|
||||
#: ../js/ui/dash.js:451
|
||||
#: ../js/ui/dash.js:453
|
||||
msgid "Dash"
|
||||
msgstr "Dash"
|
||||
|
||||
@@ -792,7 +791,7 @@ msgstr "Dash"
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:73
|
||||
msgid "%B %e %Y"
|
||||
msgstr "%%e %B %Y"
|
||||
msgstr "%-e %B %Y"
|
||||
|
||||
# luc: FIXME: how to have a capitalized weekday (start of sentence)?
|
||||
# %a (abbreviated) %A (full weekday) %^A (full weekday all uppercase)
|
||||
@@ -954,10 +953,19 @@ msgstr "Installer"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Télécharger et installer « %s » à partir de extensions.gnome.org ?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:576
|
||||
#: ../js/ui/keyboard.js:714 ../js/ui/status/keyboard.js:580
|
||||
msgid "Keyboard"
|
||||
msgstr "Clavier"
|
||||
|
||||
#. translators: 'Hide' is a verb */
|
||||
#: ../js/ui/legacyTray.js:64
|
||||
msgid "Hide tray"
|
||||
msgstr "Masquer le tiroir"
|
||||
|
||||
#: ../js/ui/legacyTray.js:104
|
||||
msgid "Status Icons"
|
||||
msgstr "Icônes d'état"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:643
|
||||
msgid "No extensions installed"
|
||||
msgstr "Aucune extension installée"
|
||||
@@ -1010,7 +1018,7 @@ msgstr "Afficher la source"
|
||||
msgid "Web Page"
|
||||
msgstr "Page Web"
|
||||
|
||||
#: ../js/ui/messageTray.js:2131
|
||||
#: ../js/ui/messageTray.js:2133
|
||||
msgid "System Information"
|
||||
msgstr "Informations du système"
|
||||
|
||||
@@ -1030,21 +1038,21 @@ msgstr "Vue d'ensemble"
|
||||
msgid "Type to search…"
|
||||
msgstr "Rechercher…"
|
||||
|
||||
#: ../js/ui/panel.js:351
|
||||
#: ../js/ui/panel.js:352
|
||||
msgid "Quit"
|
||||
msgstr "Quitter"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:403
|
||||
#: ../js/ui/panel.js:404
|
||||
msgid "Activities"
|
||||
msgstr "Activités"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:755
|
||||
msgid "Top Bar"
|
||||
msgstr "Barre supérieure"
|
||||
|
||||
#: ../js/ui/popupMenu.js:288
|
||||
#: ../js/ui/popupMenu.js:289
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@@ -1096,11 +1104,11 @@ msgstr "Impossible de verrouiller"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Le verrouillage a été bloqué par une application"
|
||||
|
||||
#: ../js/ui/search.js:609
|
||||
#: ../js/ui/search.js:616
|
||||
msgid "Searching…"
|
||||
msgstr "Recherche en cours…"
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
#: ../js/ui/search.js:618
|
||||
msgid "No results."
|
||||
msgstr "Aucun résultat."
|
||||
|
||||
@@ -1202,7 +1210,7 @@ msgstr "Non connecté"
|
||||
msgid "Brightness"
|
||||
msgstr "Luminosité"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:599
|
||||
#: ../js/ui/status/keyboard.js:603
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Afficher la disposition du clavier"
|
||||
|
||||
@@ -1371,10 +1379,6 @@ msgstr "Paramètres VPN"
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1657
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestionnaire de réseau"
|
||||
|
||||
#: ../js/ui/status/network.js:1697
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "L'activation de la connexion réseau a échoué"
|
||||
@@ -1582,12 +1586,12 @@ msgstr ""
|
||||
msgid "List possible modes"
|
||||
msgstr "Lister les modes possibles"
|
||||
|
||||
#: ../src/shell-app.c:247
|
||||
#: ../src/shell-app.c:239
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
#: ../src/shell-app.c:488
|
||||
#: ../src/shell-app.c:480
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Impossible de lancer « %s »"
|
||||
@@ -1604,6 +1608,14 @@ msgstr "Le mot de passe ne peut pas être vide"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "La fenêtre d'authentification a été écartée par l'utilisateur"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H∶%M"
|
||||
#~ msgstr "%H∶%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l∶%M %p"
|
||||
#~ msgstr "%l∶%M %p"
|
||||
|
||||
#~ msgid "Invitation"
|
||||
#~ msgstr "Invitation"
|
||||
|
||||
@@ -2191,59 +2203,6 @@ msgstr "La fenêtre d'authentification a été écartée par l'utilisateur"
|
||||
#~ msgstr[0] "%d minute restante"
|
||||
#~ msgstr[1] "%d minutes restantes"
|
||||
|
||||
#~ msgctxt "percent of battery remaining"
|
||||
#~ msgid "%d%%"
|
||||
#~ msgstr "%d %%"
|
||||
|
||||
#~ msgid "AC Adapter"
|
||||
#~ msgstr "Adaptateur secteur"
|
||||
|
||||
#~ msgid "Laptop Battery"
|
||||
#~ msgstr "Batterie de l'ordinateur"
|
||||
|
||||
#~ msgid "Monitor"
|
||||
#~ msgstr "Écran"
|
||||
|
||||
#~ msgid "Mouse"
|
||||
#~ msgstr "Souris"
|
||||
|
||||
#~ msgid "PDA"
|
||||
#~ msgstr "Assistant personnel"
|
||||
|
||||
#~ msgid "Cell Phone"
|
||||
#~ msgstr "Téléphone portable"
|
||||
|
||||
#~ msgid "Media Player"
|
||||
#~ msgstr "Lecteur multimédia"
|
||||
|
||||
#~ msgid "Tablet"
|
||||
#~ msgstr "Tablette"
|
||||
|
||||
#~ msgid "Computer"
|
||||
#~ msgstr "Ordinateur"
|
||||
|
||||
#~ msgctxt "device"
|
||||
#~ msgid "Unknown"
|
||||
#~ msgstr "Inconnu"
|
||||
|
||||
#~ msgid "Available"
|
||||
#~ msgstr "Disponible"
|
||||
|
||||
#~ msgid "Busy"
|
||||
#~ msgstr "Occupé"
|
||||
|
||||
#~ msgid "Invisible"
|
||||
#~ msgstr "Invisible"
|
||||
|
||||
#~ msgid "Away"
|
||||
#~ msgstr "Absent"
|
||||
|
||||
#~ msgid "Idle"
|
||||
#~ msgstr "Inactif"
|
||||
|
||||
#~ msgid "Your chat status will be set to busy"
|
||||
#~ msgstr "Votre statut pour les discussions sera défini à occupé"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Notifications are now disabled, including chat messages. Your online "
|
||||
#~ "status has been adjusted to let others know that you might not see their "
|
||||
@@ -2257,72 +2216,9 @@ msgstr "La fenêtre d'authentification a été écartée par l'utilisateur"
|
||||
#~ msgstr ""
|
||||
#~ "L'extinction pourrait leur faire perdre leur travaux non enregistrés."
|
||||
|
||||
#~ msgctxt "title"
|
||||
#~ msgid "Sign In"
|
||||
#~ msgstr "Connexion"
|
||||
|
||||
#~ msgid "APPLICATIONS"
|
||||
#~ msgstr "APPLICATIONS"
|
||||
|
||||
#~ msgid "SETTINGS"
|
||||
#~ msgstr "PARAMÈTRES"
|
||||
|
||||
#
|
||||
# luc: https://bugzilla.gnome.org/show_bug.cgi?id=658675
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H:%M"
|
||||
#~ msgstr "%H:%M"
|
||||
|
||||
#~ msgid "Subscription request"
|
||||
#~ msgstr "Demande d'abonnement"
|
||||
|
||||
#~ msgid "Connection error"
|
||||
#~ msgstr "Erreur de connexion"
|
||||
|
||||
#
|
||||
# luc: TODO: double check with source code. %A is weekday « Envoyé lundi à 8:23»
|
||||
#~ msgid "Sent at <b>%X</b> on <b>%A</b>"
|
||||
#~ msgstr "Envoyé <b>%A</b> à <b>%X</b>"
|
||||
|
||||
#~ msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
|
||||
#~ msgstr "Envoyé le <b>%A %-d %B %Y</b>"
|
||||
|
||||
#~ msgid "Connection to %s failed"
|
||||
#~ msgstr "La connexion à %s a échoué"
|
||||
|
||||
#~ msgid "Reconnect"
|
||||
#~ msgstr "Se reconnecter"
|
||||
|
||||
#~ msgid "tray"
|
||||
#~ msgstr "tiroir de messagerie"
|
||||
|
||||
#~ msgid "Browse Files..."
|
||||
#~ msgstr "Parcourir les fichiers..."
|
||||
|
||||
#~ msgid "Error browsing device"
|
||||
#~ msgstr "Erreur en parcourant le périphérique"
|
||||
|
||||
#~ msgid "The requested device cannot be browsed, error is '%s'"
|
||||
#~ msgstr ""
|
||||
#~ "Le périphérique demandé ne peut pas être parcouru, l'erreur est « %s »"
|
||||
|
||||
#~ msgid "More..."
|
||||
#~ msgstr "Plus..."
|
||||
|
||||
#~ msgid "Wireless"
|
||||
#~ msgstr "Sans fil"
|
||||
|
||||
#~ msgid "VPN Connections"
|
||||
#~ msgstr "Connexions par VPN"
|
||||
|
||||
#~ msgid "System Settings"
|
||||
#~ msgstr "Paramètres système"
|
||||
|
||||
#~ msgid "Your favorite Easter Egg"
|
||||
#~ msgstr "Votre œuf de Pâques favori"
|
||||
|
||||
#~ msgid "United Kingdom"
|
||||
#~ msgstr "Royaume-Uni"
|
||||
|
||||
#~ msgid "Default"
|
||||
#~ msgstr "Défaut"
|
||||
|
||||
425
po/it.po
425
po/it.po
@@ -11,8 +11,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-02 20:57+0000\n"
|
||||
"PO-Revision-Date: 2015-03-03 08:48+0100\n"
|
||||
"POT-Creation-Date: 2015-03-04 20:42+0000\n"
|
||||
"PO-Revision-Date: 2015-03-05 08:59+0100\n"
|
||||
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
|
||||
"Language-Team: Italiano <tp@lists.linux.it>\n"
|
||||
"Language: it\n"
|
||||
@@ -374,50 +374,112 @@ msgstr "Errore di autenticazione"
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(o passare il dito)"
|
||||
|
||||
#: ../js/misc/util.js:115
|
||||
#: ../js/misc/util.js:119
|
||||
msgid "Command not found"
|
||||
msgstr "Comando non trovato"
|
||||
|
||||
#: ../js/misc/util.js:148
|
||||
#: ../js/misc/util.js:152
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Impossibile analizzare il comando:"
|
||||
|
||||
#: ../js/misc/util.js:156
|
||||
#: ../js/misc/util.js:160
|
||||
#, javascript-format
|
||||
msgid "Execution of “%s” failed:"
|
||||
msgstr "Esecuzione di «%s» non riuscita:"
|
||||
|
||||
#. Translators: Time in 24h format */
|
||||
#: ../js/misc/util.js:191
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||
#: ../js/misc/util.js:197
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "Ieri, %H∶%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||
#: ../js/misc/util.js:203
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30" */
|
||||
#: ../js/misc/util.js:209
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%e %B, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30" */
|
||||
#: ../js/misc/util.js:215
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%e %B %Y, %H∶%M"
|
||||
|
||||
#. Translators: Time in 12h format */
|
||||
#: ../js/misc/util.js:220
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%I∶%M %p"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||
#: ../js/misc/util.js:226
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "Ieri, %I∶%M %p"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||
#: ../js/misc/util.js:232
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %I∶%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm" */
|
||||
#: ../js/misc/util.js:238
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%d %B, %I∶%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||
#: ../js/misc/util.js:244
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%d %B %Y, %I∶%M %p"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login
|
||||
#. * window, until we know the title of the actual login page */
|
||||
#: ../js/portalHelper/main.js:85
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Redirezione autenticazione web"
|
||||
|
||||
#: ../js/ui/appDisplay.js:785
|
||||
#: ../js/ui/appDisplay.js:792
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Qui saranno mostrate le applicazioni usate frequentemente"
|
||||
|
||||
#: ../js/ui/appDisplay.js:905
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
msgid "Frequent"
|
||||
msgstr "Frequenti"
|
||||
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
#: ../js/ui/appDisplay.js:919
|
||||
msgid "All"
|
||||
msgstr "Tutte"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1840
|
||||
#: ../js/ui/appDisplay.js:1850
|
||||
msgid "New Window"
|
||||
msgstr "Nuova finestra"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1868 ../js/ui/dash.js:289
|
||||
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:289
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Rimuovi dai preferiti"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1874
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Aggiungi ai preferiti"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
#: ../js/ui/appDisplay.js:1894
|
||||
msgid "Show Details"
|
||||
msgstr "Mostra dettagli"
|
||||
|
||||
@@ -433,7 +495,7 @@ msgstr "%s è stato aggiunto ai preferiti."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s è stato rimosso dai preferiti."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Impostazioni"
|
||||
@@ -443,7 +505,7 @@ msgid "Change Background…"
|
||||
msgstr "Cambia sfondo…"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
|
||||
#: ../js/ui/calendar.js:52
|
||||
#: ../js/ui/calendar.js:49
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
@@ -451,107 +513,96 @@ msgstr "06"
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:81
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Giornata"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 24h format,
|
||||
#. \u2236 is a ratio character, similar to : */
|
||||
#: ../js/ui/calendar.js:88 ../js/ui/calendar.js:1575
|
||||
msgctxt "event list time"
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 12h format,
|
||||
#. \u2236 is a ratio character, similar to : and \u2009 is
|
||||
#. a thin space */
|
||||
#: ../js/ui/calendar.js:97
|
||||
msgctxt "event list time"
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%I∶%M %p"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Sunday.
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:111
|
||||
#: ../js/ui/calendar.js:93
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "D"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:113
|
||||
#: ../js/ui/calendar.js:95
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "L"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:115
|
||||
#: ../js/ui/calendar.js:97
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:117
|
||||
#: ../js/ui/calendar.js:99
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:119
|
||||
#: ../js/ui/calendar.js:101
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "G"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:121
|
||||
#: ../js/ui/calendar.js:103
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:123
|
||||
#: ../js/ui/calendar.js:105
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#: ../js/ui/calendar.js:590
|
||||
#: ../js/ui/calendar.js:572
|
||||
msgid "Previous month"
|
||||
msgstr "Mese precedente"
|
||||
|
||||
#: ../js/ui/calendar.js:600
|
||||
#: ../js/ui/calendar.js:582
|
||||
msgid "Next month"
|
||||
msgstr "Mese successivo"
|
||||
|
||||
#: ../js/ui/calendar.js:1258
|
||||
#: ../js/ui/calendar.js:789
|
||||
msgid "Week %V"
|
||||
msgstr "Settimana %V"
|
||||
|
||||
#: ../js/ui/calendar.js:1245
|
||||
msgid "Clear section"
|
||||
msgstr "Annulla selezione"
|
||||
|
||||
#: ../js/ui/calendar.js:1436
|
||||
#: ../js/ui/calendar.js:1459
|
||||
msgid "Events"
|
||||
msgstr "Eventi"
|
||||
|
||||
#: ../js/ui/calendar.js:1444
|
||||
#: ../js/ui/calendar.js:1467
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %e %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1448
|
||||
#: ../js/ui/calendar.js:1471
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %e %B %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1541
|
||||
#: ../js/ui/calendar.js:1563
|
||||
msgid "Notifications"
|
||||
msgstr "Notifiche"
|
||||
|
||||
#: ../js/ui/calendar.js:1678
|
||||
#: ../js/ui/calendar.js:1714
|
||||
msgid "No Notifications"
|
||||
msgstr "Nessuna notifica"
|
||||
|
||||
#: ../js/ui/calendar.js:1681
|
||||
#: ../js/ui/calendar.js:1717
|
||||
msgid "No Events"
|
||||
msgstr "Nessun evento"
|
||||
|
||||
@@ -671,277 +722,13 @@ msgstr "Autentica"
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Errore nell'autenticazione. Provare di nuovo."
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:243
|
||||
msgid "Invitation"
|
||||
msgstr "Invito"
|
||||
|
||||
# A memora del test che ho fatto è "chiamata"... da verificare meglio
|
||||
#: ../js/ui/components/telepathyClient.js:303
|
||||
msgid "Call"
|
||||
msgstr "Chiamata"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:319
|
||||
msgid "File Transfer"
|
||||
msgstr "Trasferimento file"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:423
|
||||
msgid "Chat"
|
||||
msgstr "Chat"
|
||||
|
||||
#. Translators: Time in 24h format */
|
||||
#: ../js/ui/components/telepathyClient.js:936 ../js/ui/dateMenu.js:209
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:943
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "Ieri, %H∶%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:950
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:957
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%e %B, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:963
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%e %B %Y, %H∶%M"
|
||||
|
||||
#. Translators: Time in 12h format */
|
||||
#: ../js/ui/components/telepathyClient.js:969 ../js/ui/dateMenu.js:212
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%I∶%M %p"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:976
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "Ieri, %I∶%M %p"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:983
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %I∶%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:990
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%d %B, %I∶%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||
#: ../js/ui/components/telepathyClient.js:996
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%d %B %Y, %I∶%M %p"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:1028
|
||||
#: ../js/ui/components/telepathyClient.js:772
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s ha cambiato nome in %s"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1132
|
||||
#, javascript-format
|
||||
msgid "Invitation to %s"
|
||||
msgstr "Invito su %s"
|
||||
|
||||
#. translators: first argument is the name of a contact and the second
|
||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||
#. * for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1136
|
||||
#, javascript-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "%s ti sta invitando su %s"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1140
|
||||
#: ../js/ui/components/telepathyClient.js:1175
|
||||
#: ../js/ui/components/telepathyClient.js:1207
|
||||
#: ../js/ui/components/telepathyClient.js:1273
|
||||
msgid "Decline"
|
||||
msgstr "Declina"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1146
|
||||
#: ../js/ui/components/telepathyClient.js:1213
|
||||
#: ../js/ui/components/telepathyClient.js:1278
|
||||
msgid "Accept"
|
||||
msgstr "Accetta"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1165
|
||||
#, javascript-format
|
||||
msgid "Video call from %s"
|
||||
msgstr "Videochiamata da %s"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1168
|
||||
#, javascript-format
|
||||
msgid "Call from %s"
|
||||
msgstr "Chiamata da %s"
|
||||
|
||||
#. translators: this is a button label (verb), not a noun */
|
||||
#: ../js/ui/components/telepathyClient.js:1182
|
||||
msgid "Answer"
|
||||
msgstr "Rispondi"
|
||||
|
||||
#. To translators: The first parameter is
|
||||
#. * the contact's alias and the second one is the
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#. */
|
||||
#: ../js/ui/components/telepathyClient.js:1203
|
||||
#, javascript-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "%s ti sta inviando %s"
|
||||
|
||||
#. To translators: The parameter is the contact's alias */
|
||||
#: ../js/ui/components/telepathyClient.js:1230
|
||||
#, javascript-format
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "%s chiede il permesso di vedere quando sei online"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1321
|
||||
msgid "Network error"
|
||||
msgstr "Errore di rete"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1323
|
||||
msgid "Authentication failed"
|
||||
msgstr "Autenticazione non riuscita"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1325
|
||||
msgid "Encryption error"
|
||||
msgstr "Errore di cifratura"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1327
|
||||
msgid "Certificate not provided"
|
||||
msgstr "Certificato non fornito"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1329
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "Certificato non fidato"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1331
|
||||
msgid "Certificate expired"
|
||||
msgstr "Certificato scaduto"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1333
|
||||
msgid "Certificate not activated"
|
||||
msgstr "Certificato non attivato"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1335
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "Corrispondenza errata nel nome host del certificato"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1337
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "Corrispondenza errata nell'impronta digitare del certificato"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1339
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "Certificato auto-firmato"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1341
|
||||
msgid "Status is set to offline"
|
||||
msgstr "Lo stato è impostato a fuori rete"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1343
|
||||
msgid "Encryption is not available"
|
||||
msgstr "La cifratura non è disponibile"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1345
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "Il certificato non è valido"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1347
|
||||
msgid "Connection has been refused"
|
||||
msgstr "La connessione è stata rifiutata"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1349
|
||||
msgid "Connection can't be established"
|
||||
msgstr "Impossibile stabilire la connessione"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1351
|
||||
msgid "Connection has been lost"
|
||||
msgstr "Connessione persa"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1353
|
||||
msgid "This account is already connected to the server"
|
||||
msgstr "Questo account è già connesso al server"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1355
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr ""
|
||||
"La connessione è stata sostituita da una nuova connessione usando la stessa "
|
||||
"risorsa"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1357
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "L'account esiste già sul server"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1359
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr "Il server è al momento troppo occupato per gestire la connessione"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1361
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "Il certificato è stato revocato"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1363
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr ""
|
||||
"Il certificato usa un algoritmo di cifratura non sicuro o è "
|
||||
"crittograficamente debole"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1365
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
msgstr ""
|
||||
"La lunghezza del certificato del server o la profondità della catena di "
|
||||
"certificazione del server eccedono i limiti imposti dalla libreria "
|
||||
"crittografica"
|
||||
|
||||
# indica lo stato del device BT, per esempio gli auricolari
|
||||
# credo sia meglio l'aggettivo che il sostantivo
|
||||
#: ../js/ui/components/telepathyClient.js:1367
|
||||
msgid "Internal error"
|
||||
msgstr "Errore interno"
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1377
|
||||
#, javascript-format
|
||||
msgid "Unable to connect to %s"
|
||||
msgstr "Impossibile connettersi a %s"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1382
|
||||
msgid "View account"
|
||||
msgstr "Visualizza account"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1419
|
||||
msgid "Unknown reason"
|
||||
msgstr "Motivo sconosciuto"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Finestre"
|
||||
@@ -958,7 +745,7 @@ msgstr "Dash"
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:72
|
||||
#: ../js/ui/dateMenu.js:73
|
||||
msgid "%B %e %Y"
|
||||
msgstr "%e %B %Y"
|
||||
|
||||
@@ -966,15 +753,15 @@ msgstr "%e %B %Y"
|
||||
#. * below the time in the shell; it should combine the weekday and the
|
||||
#. * date, e.g. "Tuesday February 17 2015".
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:79
|
||||
#: ../js/ui/dateMenu.js:80
|
||||
msgid "%A %B %e %Y"
|
||||
msgstr "%A %e %B %Y"
|
||||
|
||||
#: ../js/ui/dateMenu.js:159
|
||||
#: ../js/ui/dateMenu.js:160
|
||||
msgid "Add world clocks…"
|
||||
msgstr "Aggiungi orologi mondiali…"
|
||||
|
||||
#: ../js/ui/dateMenu.js:160
|
||||
#: ../js/ui/dateMenu.js:161
|
||||
msgid "World Clocks"
|
||||
msgstr "Orologi mondiali"
|
||||
|
||||
@@ -1197,17 +984,17 @@ msgstr "Panoramica"
|
||||
msgid "Type to search…"
|
||||
msgstr "Digita per cercare…"
|
||||
|
||||
#: ../js/ui/panel.js:351
|
||||
#: ../js/ui/panel.js:352
|
||||
msgid "Quit"
|
||||
msgstr "Esci"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:403
|
||||
#: ../js/ui/panel.js:404
|
||||
msgid "Activities"
|
||||
msgstr "Attività"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:755
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superiore"
|
||||
|
||||
@@ -1223,7 +1010,7 @@ msgstr "Inserire un comando"
|
||||
msgid "Close"
|
||||
msgstr "Chiudi"
|
||||
|
||||
#: ../js/ui/runDialog.js:277
|
||||
#: ../js/ui/runDialog.js:281
|
||||
msgid "Restarting…"
|
||||
msgstr "Riavvio…"
|
||||
|
||||
|
||||
515
po/nb.po
515
po/nb.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell 3.15.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-25 19:32+0100\n"
|
||||
"PO-Revision-Date: 2015-02-25 19:32+0100\n"
|
||||
"POT-Creation-Date: 2015-03-09 19:29+0100\n"
|
||||
"PO-Revision-Date: 2015-03-09 19:29+0100\n"
|
||||
"Last-Translator: Åka Sikrom <a4NOSPAMPLEASETHANKYOU@hush.com>\n"
|
||||
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||
"Language: Norwegian bokmål\n"
|
||||
@@ -25,8 +25,8 @@ msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:2
|
||||
msgid "Show the message list"
|
||||
msgstr "Vis meldingsliste"
|
||||
msgid "Show the notification list"
|
||||
msgstr "Vis varslingsliste"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:3
|
||||
msgid "Focus the active notification"
|
||||
@@ -117,8 +117,7 @@ msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Programmene som passer til disse identifikatorene vil bli vist i "
|
||||
"favorittområdet."
|
||||
"Programmene som passer til disse identifikatorene vises i favorittområdet."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
|
||||
msgid "App Picker View"
|
||||
@@ -200,12 +199,12 @@ msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Tastaturbinding som åpner aktivitetsoversikten."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid "Keybinding to toggle the visibility of the message tray"
|
||||
msgstr "Tastaturbinding som slår av/på synlighet for meldingstrau"
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Tastaturbinding som slår av/på visning av varslingsliste"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to toggle the visibility of the message tray."
|
||||
msgstr "Tastaturbinding som slår av/på synlighet for meldingstrauet."
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Tastaturbinding som slår av/på visning av varslingsliste."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to focus the active notification"
|
||||
@@ -327,20 +326,20 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Logg inn"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
#: ../js/gdm/loginDialog.js:280
|
||||
msgid "Choose Session"
|
||||
msgstr "Velg økt"
|
||||
|
||||
#. translators: this message is shown below the user list on the
|
||||
#. login screen. It can be activated to reveal an entry for
|
||||
#. manually entering the username.
|
||||
#: ../js/gdm/loginDialog.js:417
|
||||
#: ../js/gdm/loginDialog.js:421
|
||||
msgid "Not listed?"
|
||||
msgstr "Ikke listet?"
|
||||
|
||||
#. 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:822
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(f.eks. bruker eller %s)"
|
||||
@@ -348,12 +347,12 @@ msgstr "(f.eks. bruker eller %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:827 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "Brukernavn: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1159
|
||||
#: ../js/gdm/loginDialog.js:1170
|
||||
msgid "Login Window"
|
||||
msgstr "Innloggingsvindu"
|
||||
|
||||
@@ -370,66 +369,136 @@ msgstr "Autentiseringsfeil"
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(eller dra finger)"
|
||||
|
||||
#: ../js/misc/util.js:115
|
||||
#: ../js/misc/util.js:119
|
||||
msgid "Command not found"
|
||||
msgstr "Kommando ikke funnet"
|
||||
|
||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||
#. something nicer
|
||||
#: ../js/misc/util.js:148
|
||||
#: ../js/misc/util.js:152
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Klarte ikke å lese kommando:"
|
||||
|
||||
#: ../js/misc/util.js:156
|
||||
#: ../js/misc/util.js:160
|
||||
#, javascript-format
|
||||
msgid "Execution of “%s” failed:"
|
||||
msgstr "Kjøring av «%s» mislyktes:"
|
||||
|
||||
#. Translators: Time in 24h format
|
||||
#: ../js/misc/util.js:191
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H.%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30"
|
||||
#: ../js/misc/util.js:197
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "I går, %H.%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30"
|
||||
#: ../js/misc/util.js:203
|
||||
#, no-c-format
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H.%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30"
|
||||
#: ../js/misc/util.js:209
|
||||
#, no-c-format
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%d %B, %H.%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30"
|
||||
#: ../js/misc/util.js:215
|
||||
#, no-c-format
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%d %B %Y, %H.%M"
|
||||
|
||||
#. Translators: Time in 12h format
|
||||
#: ../js/misc/util.js:220
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%H.%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
|
||||
#: ../js/misc/util.js:226
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "I går, %H.%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm"
|
||||
#: ../js/misc/util.js:232
|
||||
#, no-c-format
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %H.%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm"
|
||||
#: ../js/misc/util.js:238
|
||||
#, no-c-format
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%d %B, %H.%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"
|
||||
#: ../js/misc/util.js:244
|
||||
#, no-c-format
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%d %B %Y, %H.%M"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login
|
||||
#. * window, until we know the title of the actual login page
|
||||
#: ../js/portalHelper/main.js:85
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Omdirigering av autentisering på nett"
|
||||
|
||||
#: ../js/ui/appDisplay.js:785
|
||||
#: ../js/ui/appDisplay.js:792
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Ofte brukte programmer vil vises her"
|
||||
msgstr "Ofte brukte programmer vises her"
|
||||
|
||||
#: ../js/ui/appDisplay.js:905
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
msgid "Frequent"
|
||||
msgstr "Ofte"
|
||||
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
#: ../js/ui/appDisplay.js:919
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1840
|
||||
#: ../js/ui/appDisplay.js:1850
|
||||
msgid "New Window"
|
||||
msgstr "Nytt vindu"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1868 ../js/ui/dash.js:289
|
||||
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Fjern fra favoritter"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1874
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Legg til i favoritter"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
#: ../js/ui/appDisplay.js:1894
|
||||
msgid "Show Details"
|
||||
msgstr "Vis detaljer"
|
||||
|
||||
#: ../js/ui/appFavorites.js:132
|
||||
#, javascript-format
|
||||
msgid "%s has been added to your favorites."
|
||||
msgstr "%s ble lagt til i dine favoritter."
|
||||
msgstr "%s ble lagt til i favoritter."
|
||||
|
||||
#: ../js/ui/appFavorites.js:166
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s ble fjernet fra dine favoritter."
|
||||
msgstr "%s ble fjernet fra favoritter."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Innstillinger"
|
||||
@@ -439,7 +508,7 @@ msgid "Change Background…"
|
||||
msgstr "Bytt bakgrunn …"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
|
||||
#: ../js/ui/calendar.js:52
|
||||
#: ../js/ui/calendar.js:49
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
@@ -447,107 +516,96 @@ msgstr "06"
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#.
|
||||
#: ../js/ui/calendar.js:81
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Hele dagen"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 24h format,
|
||||
#. \u2236 is a ratio character, similar to :
|
||||
#: ../js/ui/calendar.js:88 ../js/ui/calendar.js:1562
|
||||
msgctxt "event list time"
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H.%M"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 12h format,
|
||||
#. \u2236 is a ratio character, similar to : and \u2009 is
|
||||
#. a thin space
|
||||
#: ../js/ui/calendar.js:97
|
||||
msgctxt "event list time"
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%H.%M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Sunday.
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#: ../js/ui/calendar.js:111
|
||||
#: ../js/ui/calendar.js:93
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:113
|
||||
#: ../js/ui/calendar.js:95
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:115
|
||||
#: ../js/ui/calendar.js:97
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:117
|
||||
#: ../js/ui/calendar.js:99
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "O"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:119
|
||||
#: ../js/ui/calendar.js:101
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:121
|
||||
#: ../js/ui/calendar.js:103
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "F"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:123
|
||||
#: ../js/ui/calendar.js:105
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "L"
|
||||
|
||||
#: ../js/ui/calendar.js:590
|
||||
#: ../js/ui/calendar.js:572
|
||||
msgid "Previous month"
|
||||
msgstr "Forrige måned"
|
||||
|
||||
#: ../js/ui/calendar.js:600
|
||||
#: ../js/ui/calendar.js:582
|
||||
msgid "Next month"
|
||||
msgstr "Neste måned"
|
||||
|
||||
#: ../js/ui/calendar.js:789
|
||||
msgid "Week %V"
|
||||
msgstr "Uke %V"
|
||||
|
||||
#: ../js/ui/calendar.js:1245
|
||||
msgid "Clear section"
|
||||
msgstr "Tøm seksjon"
|
||||
|
||||
#: ../js/ui/calendar.js:1423
|
||||
#: ../js/ui/calendar.js:1459
|
||||
msgid "Events"
|
||||
msgstr "Hendelser"
|
||||
|
||||
#: ../js/ui/calendar.js:1431
|
||||
#: ../js/ui/calendar.js:1467
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A %B %d"
|
||||
|
||||
#: ../js/ui/calendar.js:1435
|
||||
#: ../js/ui/calendar.js:1471
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A %B %d, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1528
|
||||
#: ../js/ui/calendar.js:1563
|
||||
msgid "Notifications"
|
||||
msgstr "Varslinger"
|
||||
|
||||
#: ../js/ui/calendar.js:1665
|
||||
#: ../js/ui/calendar.js:1714
|
||||
msgid "No Notifications"
|
||||
msgstr "Ingen varslinger"
|
||||
|
||||
#: ../js/ui/calendar.js:1668
|
||||
#: ../js/ui/calendar.js:1717
|
||||
msgid "No Events"
|
||||
msgstr "Ingen hendelser"
|
||||
|
||||
@@ -669,301 +727,31 @@ msgstr "Autentiser"
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Beklager, det virket ikke. Prøv igjen."
|
||||
|
||||
#. FIXME: We don't have a 'chat room' icon (bgo #653737) use
|
||||
#. system-users for now as Empathy does.
|
||||
#: ../js/ui/components/telepathyClient.js:243
|
||||
msgid "Invitation"
|
||||
msgstr "Invitasjon"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/components/telepathyClient.js:303
|
||||
msgid "Call"
|
||||
msgstr "Ring"
|
||||
|
||||
#. We got the TpContact
|
||||
#: ../js/ui/components/telepathyClient.js:319
|
||||
msgid "File Transfer"
|
||||
msgstr "Filoverføring"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:423
|
||||
msgid "Chat"
|
||||
msgstr "Prat"
|
||||
|
||||
#. Translators: Time in 24h format
|
||||
#: ../js/ui/components/telepathyClient.js:936 ../js/ui/dateMenu.js:209
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H.%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30"
|
||||
#: ../js/ui/components/telepathyClient.js:943
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "I går, %H.%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30"
|
||||
#: ../js/ui/components/telepathyClient.js:950
|
||||
#, no-c-format
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H.%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30"
|
||||
#: ../js/ui/components/telepathyClient.js:957
|
||||
#, no-c-format
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%d %B, %H.%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30"
|
||||
#: ../js/ui/components/telepathyClient.js:963
|
||||
#, no-c-format
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%d %B %Y, %H.%M"
|
||||
|
||||
#. Translators: Time in 12h format
|
||||
#: ../js/ui/components/telepathyClient.js:969 ../js/ui/dateMenu.js:212
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%H.%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm"
|
||||
#: ../js/ui/components/telepathyClient.js:976
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "I går, %H.%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm"
|
||||
#: ../js/ui/components/telepathyClient.js:983
|
||||
#, no-c-format
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %H.%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm"
|
||||
#: ../js/ui/components/telepathyClient.js:990
|
||||
#, no-c-format
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%d %B, %H.%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"
|
||||
#: ../js/ui/components/telepathyClient.js:996
|
||||
#, no-c-format
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%d %B %Y, %H.%M"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: ../js/ui/components/telepathyClient.js:1028
|
||||
#: ../js/ui/components/telepathyClient.js:772
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s er nå kjent som %s"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example.
|
||||
#: ../js/ui/components/telepathyClient.js:1132
|
||||
#, javascript-format
|
||||
msgid "Invitation to %s"
|
||||
msgstr "Invitasjon til %s"
|
||||
|
||||
#. translators: first argument is the name of a contact and the second
|
||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||
#. * for example.
|
||||
#: ../js/ui/components/telepathyClient.js:1136
|
||||
#, javascript-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "%s inviterer deg til å bli med i %s"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1140
|
||||
#: ../js/ui/components/telepathyClient.js:1175
|
||||
#: ../js/ui/components/telepathyClient.js:1207
|
||||
#: ../js/ui/components/telepathyClient.js:1273
|
||||
msgid "Decline"
|
||||
msgstr "Avslå"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1146
|
||||
#: ../js/ui/components/telepathyClient.js:1213
|
||||
#: ../js/ui/components/telepathyClient.js:1278
|
||||
msgid "Accept"
|
||||
msgstr "Godta"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/components/telepathyClient.js:1165
|
||||
#, javascript-format
|
||||
msgid "Video call from %s"
|
||||
msgstr "Videosamtale fra %s"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example.
|
||||
#: ../js/ui/components/telepathyClient.js:1168
|
||||
#, javascript-format
|
||||
msgid "Call from %s"
|
||||
msgstr "Samtale fra %s"
|
||||
|
||||
#. translators: this is a button label (verb), not a noun
|
||||
#: ../js/ui/components/telepathyClient.js:1182
|
||||
msgid "Answer"
|
||||
msgstr "Svar"
|
||||
|
||||
#. To translators: The first parameter is
|
||||
#. * the contact's alias and the second one is the
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#.
|
||||
#: ../js/ui/components/telepathyClient.js:1203
|
||||
#, javascript-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "%s sender deg %s"
|
||||
|
||||
#. To translators: The parameter is the contact's alias
|
||||
#: ../js/ui/components/telepathyClient.js:1230
|
||||
#, javascript-format
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "%s vil ha rettigheter til å se når du er tilkoblet"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1321
|
||||
msgid "Network error"
|
||||
msgstr "Nettverksfeil"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1323
|
||||
msgid "Authentication failed"
|
||||
msgstr "Autentisering mislyktes"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1325
|
||||
msgid "Encryption error"
|
||||
msgstr "Feil ved kryptering"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1327
|
||||
msgid "Certificate not provided"
|
||||
msgstr "Sertifikat ikke oppgitt"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1329
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "Stoler ikke på sertifikatet"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1331
|
||||
msgid "Certificate expired"
|
||||
msgstr "Sertifikatet er utløpt"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1333
|
||||
msgid "Certificate not activated"
|
||||
msgstr "Sertifikatet er ikke aktivert"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1335
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "Feil vertsnavn for sertifikat"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1337
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "Feil fingeravtrykk for sertifikat"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1339
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "Sertifikatet er selvsignert"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1341
|
||||
msgid "Status is set to offline"
|
||||
msgstr "Status er satt til frakoblet"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1343
|
||||
msgid "Encryption is not available"
|
||||
msgstr "Kryptering er ikke tilgjengelig"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1345
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "Sertifikatet er ugyldig"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1347
|
||||
msgid "Connection has been refused"
|
||||
msgstr "Tilkobling ble nektet"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1349
|
||||
msgid "Connection can't be established"
|
||||
msgstr "Klarte ikke å etablere tilkobling"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1351
|
||||
msgid "Connection has been lost"
|
||||
msgstr "Tilkoblingen er brutt"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1353
|
||||
msgid "This account is already connected to the server"
|
||||
msgstr "Denne kontoen er allerede koblet til tjeneren"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1355
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr ""
|
||||
"Tilkoblingen har blitt erstattet av en ny tilkobling som bruker samme ressurs"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1357
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "Kontoen finnes allerede på tjeneren"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1359
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr "Tjener er for opptatt til å håndtere tilkoblingen"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1361
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "Sertifikatet er tilbaketrukket"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1363
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr ""
|
||||
"Sertifikatet bruker en usikker sifferalgoritme eller er krytografisk svakt"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1365
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
msgstr ""
|
||||
"Lengden eller dybden på tjenersertifikatet oversteg grensen som er satt i "
|
||||
"kryptografibiblioteket"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1367
|
||||
msgid "Internal error"
|
||||
msgstr "Intern feil"
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example.
|
||||
#: ../js/ui/components/telepathyClient.js:1377
|
||||
#, javascript-format
|
||||
msgid "Unable to connect to %s"
|
||||
msgstr "Klarte ikke å koble til %s"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1382
|
||||
msgid "View account"
|
||||
msgstr "Vis konto"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1419
|
||||
msgid "Unknown reason"
|
||||
msgstr "Ukjent årsak"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Vinduer"
|
||||
|
||||
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
|
||||
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
|
||||
msgid "Show Applications"
|
||||
msgstr "Vis programmer"
|
||||
|
||||
#. Translators: this is the name of the dock/favorites area on
|
||||
#. the left of the overview
|
||||
#: ../js/ui/dash.js:451
|
||||
#: ../js/ui/dash.js:453
|
||||
msgid "Dash"
|
||||
msgstr "Favoritter"
|
||||
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#.
|
||||
#: ../js/ui/dateMenu.js:72
|
||||
#: ../js/ui/dateMenu.js:73
|
||||
msgid "%B %e %Y"
|
||||
msgstr "%B %e %Y"
|
||||
|
||||
@@ -971,15 +759,15 @@ msgstr "%B %e %Y"
|
||||
#. * below the time in the shell; it should combine the weekday and the
|
||||
#. * date, e.g. "Tuesday February 17 2015".
|
||||
#.
|
||||
#: ../js/ui/dateMenu.js:79
|
||||
#: ../js/ui/dateMenu.js:80
|
||||
msgid "%A %B %e %Y"
|
||||
msgstr "%A %B %e %Y"
|
||||
|
||||
#: ../js/ui/dateMenu.js:159
|
||||
#: ../js/ui/dateMenu.js:160
|
||||
msgid "Add world clocks…"
|
||||
msgstr "Legg til verdensklokker …"
|
||||
|
||||
#: ../js/ui/dateMenu.js:160
|
||||
#: ../js/ui/dateMenu.js:161
|
||||
msgid "World Clocks"
|
||||
msgstr "Verdensklokker"
|
||||
|
||||
@@ -1027,8 +815,8 @@ msgstr "Installer oppdateringer og slå av"
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d second."
|
||||
msgid_plural "The system will power off automatically in %d seconds."
|
||||
msgstr[0] "Systemet vil slås av automatisk om %d sekund."
|
||||
msgstr[1] "Systemet vil slås av automatisk om %d sekunder."
|
||||
msgstr[0] "Systemet slås av automatisk om %d sekund."
|
||||
msgstr[1] "Systemet slås av automatisk om %d sekunder."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:91
|
||||
msgctxt "checkbox"
|
||||
@@ -1054,8 +842,8 @@ msgstr "Start på nytt"
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "Systemet vil starte på nytt automatisk om %d sekund."
|
||||
msgstr[1] "Systemet vil starte på nytt automatisk om %d sekunder."
|
||||
msgstr[0] "Systemet starter på nytt automatisk om %d sekund."
|
||||
msgstr[1] "Systemet starter på nytt automatisk om %d sekunder."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:119
|
||||
msgctxt "title"
|
||||
@@ -1068,10 +856,9 @@ msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
"The system will automatically restart and install updates in %d seconds."
|
||||
msgstr[0] ""
|
||||
"Systemet vil starte på nytt og installere oppdateringer automatisk om %d "
|
||||
"sekund."
|
||||
"Systemet starter på nytt og installere oppdateringer automatisk om %d sekund."
|
||||
msgstr[1] ""
|
||||
"Systemet vil starte på nytt og installere oppdateringer automatisk om %d "
|
||||
"Systemet starter på nytt og installere oppdateringer automatisk om %d "
|
||||
"sekunder."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:127
|
||||
@@ -1124,7 +911,7 @@ msgstr "Installer"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Vil du laste ned og installere «%s» fra extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:577
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:576
|
||||
msgid "Keyboard"
|
||||
msgstr "Tastatur"
|
||||
|
||||
@@ -1180,7 +967,7 @@ msgstr "Vis kildekode"
|
||||
msgid "Web Page"
|
||||
msgstr "Nettside"
|
||||
|
||||
#: ../js/ui/messageTray.js:2092
|
||||
#: ../js/ui/messageTray.js:2133
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformasjon"
|
||||
|
||||
@@ -1200,17 +987,17 @@ msgstr "Oversikt"
|
||||
msgid "Type to search…"
|
||||
msgstr "Skriv for å søke …"
|
||||
|
||||
#: ../js/ui/panel.js:351
|
||||
#: ../js/ui/panel.js:352
|
||||
msgid "Quit"
|
||||
msgstr "Avslutt"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:403
|
||||
#: ../js/ui/panel.js:404
|
||||
msgid "Activities"
|
||||
msgstr "Aktiviteter"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:755
|
||||
msgid "Top Bar"
|
||||
msgstr "Topp-panel"
|
||||
|
||||
@@ -1219,7 +1006,7 @@ msgstr "Topp-panel"
|
||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
||||
#. switches containing "◯" and "|"). Other values will
|
||||
#. simply result in invisible toggle switches.
|
||||
#: ../js/ui/popupMenu.js:288
|
||||
#: ../js/ui/popupMenu.js:289
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@@ -1231,35 +1018,35 @@ msgstr "Skriv inn en kommando"
|
||||
msgid "Close"
|
||||
msgstr "Lukk"
|
||||
|
||||
#: ../js/ui/runDialog.js:277
|
||||
#: ../js/ui/runDialog.js:281
|
||||
msgid "Restarting…"
|
||||
msgstr "Starter på nytt …"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: ../js/ui/screenShield.js:88
|
||||
#: ../js/ui/screenShield.js:85
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d"
|
||||
|
||||
#: ../js/ui/screenShield.js:147
|
||||
#: ../js/ui/screenShield.js:144
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
msgid_plural "%d new messages"
|
||||
msgstr[0] "%d ny melding"
|
||||
msgstr[1] "%d nye meldinger"
|
||||
|
||||
#: ../js/ui/screenShield.js:149
|
||||
#: ../js/ui/screenShield.js:146
|
||||
#, javascript-format
|
||||
msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d ny varsling"
|
||||
msgstr[1] "%d nye varslinger"
|
||||
|
||||
#: ../js/ui/screenShield.js:434 ../js/ui/status/system.js:345
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345
|
||||
msgid "Lock"
|
||||
msgstr "Lås"
|
||||
|
||||
#: ../js/ui/screenShield.js:670
|
||||
#: ../js/ui/screenShield.js:668
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME må låse skjermen"
|
||||
|
||||
@@ -1270,11 +1057,11 @@ msgstr "GNOME må låse skjermen"
|
||||
#.
|
||||
#. XXX: another option is to kick the user into the gdm login
|
||||
#. screen, where we're not affected by grabs
|
||||
#: ../js/ui/screenShield.js:797 ../js/ui/screenShield.js:1273
|
||||
#: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271
|
||||
msgid "Unable to lock"
|
||||
msgstr "Klarte ikke å låse"
|
||||
|
||||
#: ../js/ui/screenShield.js:798 ../js/ui/screenShield.js:1274
|
||||
#: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Låsing ble stoppet av et program"
|
||||
|
||||
@@ -1386,7 +1173,7 @@ msgstr "Ikke koblet til"
|
||||
msgid "Brightness"
|
||||
msgstr "Lysstyrke"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:600
|
||||
#: ../js/ui/status/keyboard.js:599
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Vis tastaturutforming"
|
||||
|
||||
@@ -1663,7 +1450,7 @@ msgstr "«%s» er klar"
|
||||
|
||||
#: ../js/ui/windowManager.js:65
|
||||
msgid "Do you want to keep these display settings?"
|
||||
msgstr "Vil du beholde disse innstillingene for skjerm?"
|
||||
msgstr "Vil du beholde disse skjerminnstillingene?"
|
||||
|
||||
#. Translators: this and the following message should be limited in lenght,
|
||||
#. to avoid ellipsizing the labels.
|
||||
@@ -1680,8 +1467,8 @@ msgstr "Behold endringer"
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "Endringer i innstillingene vil forkastes om %d sekund"
|
||||
msgstr[1] "Endringer i innstillingene vil forkastes om %d sekunder"
|
||||
msgstr[0] "Endringer i innstillingene forkastes om %d sekund"
|
||||
msgstr[1] "Endringer i innstillingene forkastes 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.
|
||||
@@ -1758,7 +1545,7 @@ msgstr "Systemlyder"
|
||||
|
||||
#: ../src/main.c:373
|
||||
msgid "Print version"
|
||||
msgstr "Skriv ut versjon"
|
||||
msgstr "Vis versjon"
|
||||
|
||||
#: ../src/main.c:379
|
||||
msgid "Mode used by GDM for login screen"
|
||||
|
||||
160
po/pt_BR.po
160
po/pt_BR.po
@@ -20,8 +20,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-04 12:55+0000\n"
|
||||
"PO-Revision-Date: 2015-03-04 15:31-0300\n"
|
||||
"POT-Creation-Date: 2015-03-13 16:16+0000\n"
|
||||
"PO-Revision-Date: 2015-03-13 14:04-0300\n"
|
||||
"Last-Translator: Enrico Nicoletto <liverig@gmail.com>\n"
|
||||
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
@@ -287,7 +287,7 @@ msgstr "Ocorreu um erro ao carregar o dialogo de preferências para %s:"
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Extensões do Shell do GNOME"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ../js/ui/components/polkitAgent.js:166
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145 ../js/ui/components/polkitAgent.js:166
|
||||
#: ../js/ui/endSessionDialog.js:452 ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
@@ -306,24 +306,24 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Entrar"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
#: ../js/gdm/loginDialog.js:280
|
||||
msgid "Choose Session"
|
||||
msgstr "Escolher sessão"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:417
|
||||
#: ../js/gdm/loginDialog.js:421
|
||||
msgid "Not listed?"
|
||||
msgstr "Não está listado?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:826
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(ex.: usuário ou %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:831 ../js/ui/components/networkAgent.js:269 ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271 ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Nome de usuário: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1166
|
||||
#: ../js/gdm/loginDialog.js:1170
|
||||
msgid "Login Window"
|
||||
msgstr "Janela de sessão"
|
||||
|
||||
@@ -416,31 +416,31 @@ msgstr "%d de %B de %Y, %l∶%M %p"
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Redirecionamento para autenticação web"
|
||||
|
||||
#: ../js/ui/appDisplay.js:791
|
||||
#: ../js/ui/appDisplay.js:792
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Aplicativos usados frequentemente vão aparecer aqui"
|
||||
|
||||
#: ../js/ui/appDisplay.js:911
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
msgid "Frequent"
|
||||
msgstr "Frequente"
|
||||
|
||||
#: ../js/ui/appDisplay.js:918
|
||||
#: ../js/ui/appDisplay.js:919
|
||||
msgid "All"
|
||||
msgstr "Todos"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1849
|
||||
#: ../js/ui/appDisplay.js:1850
|
||||
msgid "New Window"
|
||||
msgstr "Nova janela"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1877 ../js/ui/dash.js:289
|
||||
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Remover dos favoritos"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1883
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Adicionar aos favoritos"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1893
|
||||
#: ../js/ui/appDisplay.js:1894
|
||||
msgid "Show Details"
|
||||
msgstr "Mostrar detalhes"
|
||||
|
||||
@@ -454,7 +454,7 @@ msgstr "%s foi adicionado aos seus favoritos."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s foi removido dos seus favoritos."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649 ../js/ui/status/system.js:337
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650 ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Configurações"
|
||||
|
||||
@@ -463,104 +463,104 @@ msgid "Change Background…"
|
||||
msgstr "Alterar plano de fundo…"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
|
||||
#: ../js/ui/calendar.js:49
|
||||
#: ../js/ui/calendar.js:53
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Dia todo"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Sunday.
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:93
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "D"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:95
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:97
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:99
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "Q"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:101
|
||||
#: ../js/ui/calendar.js:90
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "Q"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:103
|
||||
#: ../js/ui/calendar.js:92
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:105
|
||||
#: ../js/ui/calendar.js:94
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#: ../js/ui/calendar.js:572
|
||||
#: ../js/ui/calendar.js:563
|
||||
msgid "Previous month"
|
||||
msgstr "Mês anterior"
|
||||
|
||||
#: ../js/ui/calendar.js:582
|
||||
#: ../js/ui/calendar.js:573
|
||||
msgid "Next month"
|
||||
msgstr "Próximo mês"
|
||||
|
||||
#: ../js/ui/calendar.js:789
|
||||
#: ../js/ui/calendar.js:780
|
||||
msgid "Week %V"
|
||||
msgstr "Semana %V"
|
||||
|
||||
#: ../js/ui/calendar.js:1245
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:1182
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Dia todo"
|
||||
|
||||
#: ../js/ui/calendar.js:1288
|
||||
msgid "Clear section"
|
||||
msgstr "Limpar seção"
|
||||
|
||||
#: ../js/ui/calendar.js:1437
|
||||
#: ../js/ui/calendar.js:1515
|
||||
msgid "Events"
|
||||
msgstr "Eventos"
|
||||
|
||||
#: ../js/ui/calendar.js:1445
|
||||
#: ../js/ui/calendar.js:1524
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d de %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1449
|
||||
#: ../js/ui/calendar.js:1528
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d de %B de %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1541
|
||||
#: ../js/ui/calendar.js:1613
|
||||
msgid "Notifications"
|
||||
msgstr "Notificações"
|
||||
|
||||
#: ../js/ui/calendar.js:1681
|
||||
#: ../js/ui/calendar.js:1764
|
||||
msgid "No Notifications"
|
||||
msgstr "Nenhuma notificação"
|
||||
|
||||
#: ../js/ui/calendar.js:1684
|
||||
#: ../js/ui/calendar.js:1767
|
||||
msgid "No Events"
|
||||
msgstr "Nenhum evento"
|
||||
|
||||
@@ -585,74 +585,79 @@ msgstr "Senha:"
|
||||
msgid "Type again:"
|
||||
msgstr "Digite novamente:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:138 ../js/ui/status/network.js:277 ../js/ui/status/network.js:359
|
||||
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277 ../js/ui/status/network.js:359
|
||||
#: ../js/ui/status/network.js:919
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:231 ../js/ui/components/networkAgent.js:243 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:291 ../js/ui/components/networkAgent.js:301
|
||||
#: ../js/ui/components/networkAgent.js:233 ../js/ui/components/networkAgent.js:245 ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/ui/components/networkAgent.js:293 ../js/ui/components/networkAgent.js:303
|
||||
msgid "Password: "
|
||||
msgstr "Senha: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:236
|
||||
#: ../js/ui/components/networkAgent.js:238
|
||||
msgid "Key: "
|
||||
msgstr "Chave: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Identity: "
|
||||
msgstr "Identidade: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Private key password: "
|
||||
msgstr "Senha da chave privada: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Service: "
|
||||
msgstr "Serviço: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:318
|
||||
#: ../js/ui/components/networkAgent.js:320 ../js/ui/components/networkAgent.js:658
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Autenticação requisitada pela rede sem fio"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:319
|
||||
#: ../js/ui/components/networkAgent.js:321 ../js/ui/components/networkAgent.js:659
|
||||
#, javascript-format
|
||||
msgid "Passwords or encryption keys are required to access the wireless network “%s”."
|
||||
msgstr "Senhas ou chaves criptografadas são necessárias para acessar a rede sem fio \"%s\"."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:325 ../js/ui/components/networkAgent.js:662
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Autenticação 802.1X cabeada"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "Network name: "
|
||||
msgstr "Nome da rede: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:330
|
||||
#: ../js/ui/components/networkAgent.js:332 ../js/ui/components/networkAgent.js:666
|
||||
msgid "DSL authentication"
|
||||
msgstr "Autenticação DSL"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:337
|
||||
#: ../js/ui/components/networkAgent.js:339 ../js/ui/components/networkAgent.js:672
|
||||
msgid "PIN code required"
|
||||
msgstr "Código PIN requisitado"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:338
|
||||
#: ../js/ui/components/networkAgent.js:340 ../js/ui/components/networkAgent.js:673
|
||||
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:339
|
||||
#: ../js/ui/components/networkAgent.js:341
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:345
|
||||
#: ../js/ui/components/networkAgent.js:348 ../js/ui/components/networkAgent.js:679
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Senha da rede de banda larga móvel"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:346
|
||||
#: ../js/ui/components/networkAgent.js:349 ../js/ui/components/networkAgent.js:663 ../js/ui/components/networkAgent.js:667
|
||||
#: ../js/ui/components/networkAgent.js:680
|
||||
#, 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:647 ../js/ui/status/network.js:1657
|
||||
msgid "Network Manager"
|
||||
msgstr "Gerenciador de rede"
|
||||
|
||||
#: ../js/ui/components/polkitAgent.js:54
|
||||
msgid "Authentication Required"
|
||||
msgstr "Autenticação necessária"
|
||||
@@ -675,7 +680,7 @@ msgstr "Desculpe, isto não funcionou. Por favor, tente novamente."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:772
|
||||
#: ../js/ui/components/telepathyClient.js:775
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s agora é conhecido como %s"
|
||||
@@ -684,11 +689,11 @@ msgstr "%s agora é conhecido como %s"
|
||||
msgid "Windows"
|
||||
msgstr "Janelas"
|
||||
|
||||
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
|
||||
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
|
||||
msgid "Show Applications"
|
||||
msgstr "Mostrar aplicativos"
|
||||
|
||||
#: ../js/ui/dash.js:451
|
||||
#: ../js/ui/dash.js:453
|
||||
msgid "Dash"
|
||||
msgstr "Dash"
|
||||
|
||||
@@ -849,10 +854,19 @@ msgstr "Instalar"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:576
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:580
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclado"
|
||||
|
||||
#. translators: 'Hide' is a verb */
|
||||
#: ../js/ui/legacyTray.js:59
|
||||
msgid "Hide tray"
|
||||
msgstr "Esconder bandeja"
|
||||
|
||||
#: ../js/ui/legacyTray.js:91
|
||||
msgid "Status Icons"
|
||||
msgstr "Ícones de status"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:643
|
||||
msgid "No extensions installed"
|
||||
msgstr "Nenhuma extensão instalada"
|
||||
@@ -904,7 +918,7 @@ msgstr "Ver fonte"
|
||||
msgid "Web Page"
|
||||
msgstr "Página web"
|
||||
|
||||
#: ../js/ui/messageTray.js:2131
|
||||
#: ../js/ui/messageTray.js:2133
|
||||
msgid "System Information"
|
||||
msgstr "Informações do sistema"
|
||||
|
||||
@@ -924,21 +938,21 @@ msgstr "Panorama"
|
||||
msgid "Type to search…"
|
||||
msgstr "Digite para pesquisar…"
|
||||
|
||||
#: ../js/ui/panel.js:351
|
||||
#: ../js/ui/panel.js:352
|
||||
msgid "Quit"
|
||||
msgstr "Sair"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:403
|
||||
#: ../js/ui/panel.js:404
|
||||
msgid "Activities"
|
||||
msgstr "Atividades"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:755
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
#: ../js/ui/popupMenu.js:288
|
||||
#: ../js/ui/popupMenu.js:289
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@@ -990,11 +1004,11 @@ msgstr "Não foi possível bloquear"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "O bloqueio foi impedido por um aplicativo"
|
||||
|
||||
#: ../js/ui/search.js:609
|
||||
#: ../js/ui/search.js:616
|
||||
msgid "Searching…"
|
||||
msgstr "Pesquisando…"
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
#: ../js/ui/search.js:618
|
||||
msgid "No results."
|
||||
msgstr "Nenhum resultado."
|
||||
|
||||
@@ -1095,7 +1109,7 @@ msgstr "Não conectado"
|
||||
msgid "Brightness"
|
||||
msgstr "Brilho"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:599
|
||||
#: ../js/ui/status/keyboard.js:603
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Exibir disposição de teclado"
|
||||
|
||||
@@ -1264,10 +1278,6 @@ msgstr "Configurações de VPN"
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1657
|
||||
msgid "Network Manager"
|
||||
msgstr "Gerenciador de rede"
|
||||
|
||||
#: ../js/ui/status/network.js:1697
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Falha ao ativar a conexão da rede"
|
||||
|
||||
546
po/sk.po
546
po/sk.po
@@ -3,23 +3,23 @@
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# Peter Mráz <etkinator@gmail.com>, 2011.
|
||||
# Michal Štrba <faiface2202@gmail.com>, 2011.
|
||||
# Dušan Kazik <prescott66@gmail.com>, 2012, 2013.
|
||||
#
|
||||
# Dušan Kazik <prescott66@gmail.com>, 2012, 2013, 2015.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-04 08:44+0000\n"
|
||||
"PO-Revision-Date: 2015-03-04 11:52+0100\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-\n"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-03-13 16:16+0000\n"
|
||||
"PO-Revision-Date: 2015-03-13 17:44+0100\n"
|
||||
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
|
||||
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
|
||||
"Language: sk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-DamnedLies-Scope: partial\n"
|
||||
"X-Generator: Poedit 1.7.4\n"
|
||||
"X-Generator: Vé 0.1.4\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@@ -53,7 +53,8 @@ msgstr "Otvoriť ponuku aplikácií"
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Shell prostredia GNOME"
|
||||
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2 ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell.desktop.in.in.h:2
|
||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Správa okien a spúšťanie aplikácií"
|
||||
|
||||
@@ -71,11 +72,17 @@ msgstr "Shell prostredia GNOME (kompozitor pre wayland)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr "Povoliť vnútorné nástroje užitočné pre vývojárov a testerov z dialógového okna Alt-F2"
|
||||
msgstr ""
|
||||
"Povoliť vnútorné nástroje užitočné pre vývojárov a testerov z dialógového "
|
||||
"okna Alt-F2"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
|
||||
msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog."
|
||||
msgstr "Umožňuje prístup k vnútorným ladiacim a sledovacím nástrojom pomocou dialógového okna Alt-F2."
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
msgstr ""
|
||||
"Umožňuje prístup k vnútorným ladiacim a sledovacím nástrojom pomocou "
|
||||
"dialógového okna Alt-F2."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
|
||||
msgid "UUIDs of extensions to enable"
|
||||
@@ -83,28 +90,43 @@ msgstr "Vlastnosť UUID rozšírení určených na povolenie"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a UUID property; this key lists extensions which should be loaded. Any extension that wants to be loaded needs to be in this list. You can also manipulate this list with the EnableExtension and DisableExtension D-Bus methods on "
|
||||
"org.gnome.Shell."
|
||||
"GNOME Shell extensions have a UUID property; this key lists extensions which "
|
||||
"should be loaded. Any extension that wants to be loaded needs to be in this "
|
||||
"list. You can also manipulate this list with the EnableExtension and "
|
||||
"DisableExtension D-Bus methods on org.gnome.Shell."
|
||||
msgstr ""
|
||||
"Rozšírenia pre Shell prostredia GNOME majú vlastnosť UUID; tento kľúč obsahuje zoznam rozšírení, ktoré by mali byť načítané. Každé rozšírenie, ktoré je potrebné načítať, musí byť v tomto zozname. Tento zoznam môžete upraviť aj ručne pomocou metód DBus "
|
||||
"EnableExtension a DisableExtension v org.gnome.Shell."
|
||||
"Rozšírenia pre Shell prostredia GNOME majú vlastnosť UUID; tento kľúč "
|
||||
"obsahuje zoznam rozšírení, ktoré by mali byť načítané. Každé rozšírenie, "
|
||||
"ktoré je potrebné načítať, musí byť v tomto zozname. Tento zoznam môžete "
|
||||
"upraviť aj ručne pomocou metód DBus EnableExtension a DisableExtension v org."
|
||||
"gnome.Shell."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
|
||||
msgid "Disables the validation of extension version compatibility"
|
||||
msgstr "Zakáže kontrolu kompatibility verzií rozšírení"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:6
|
||||
msgid "GNOME Shell will only load extensions that claim to support the current running version. Enabling this option will disable this check and try to load all extensions regardless of the versions they claim to support."
|
||||
msgid ""
|
||||
"GNOME Shell will only load extensions that claim to support the current "
|
||||
"running version. Enabling this option will disable this check and try to "
|
||||
"load all extensions regardless of the versions they claim to support."
|
||||
msgstr ""
|
||||
"Shell prostredia GNOME načíta len rozšírenia, ktoré deklarujú podporu pre práve spustenú verziu prostredia. Povolením tejto voľby zakážete túto kontrolu a umožníte načítanie všetkých rozšírení bez ohľadu na to, pre ktorú verziu prostredia deklarujú podporu."
|
||||
"Shell prostredia GNOME načíta len rozšírenia, ktoré deklarujú podporu pre "
|
||||
"práve spustenú verziu prostredia. Povolením tejto voľby zakážete túto "
|
||||
"kontrolu a umožníte načítanie všetkých rozšírení bez ohľadu na to, pre ktorú "
|
||||
"verziu prostredia deklarujú podporu."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
msgstr "Zoznam identifikátorov súborov plochy pre obľúbené aplikácie"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
|
||||
msgid "The applications corresponding to these identifiers will be displayed in the favorites area."
|
||||
msgstr "Aplikácie zodpovedajúce týmto identifikátorom budú zobrazené medzi obľúbenými aplikáciami."
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Aplikácie zodpovedajúce týmto identifikátorom budú zobrazené medzi "
|
||||
"obľúbenými aplikáciami."
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
|
||||
@@ -131,18 +153,32 @@ msgstr "Vždy zobraziť položku „Odhlásiť sa“ v ponuke používateľa."
|
||||
|
||||
# description
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
|
||||
msgid "This key overrides the automatic hiding of the 'Log out' menu item in single-user, single-session situations."
|
||||
msgstr "Tento kľúč preváži automatické skrývanie položky „Odhlásiť sa“ v situáciách s jedným používateľom alebo jednou reláciou."
|
||||
msgid ""
|
||||
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
|
||||
"user, single-session situations."
|
||||
msgstr ""
|
||||
"Tento kľúč preváži automatické skrývanie položky „Odhlásiť sa“ v situáciách "
|
||||
"s jedným používateľom alebo jednou reláciou."
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
|
||||
msgid "Whether to remember password for mounting encrypted or remote filesystems"
|
||||
msgstr "Určiť, či bude zapamätané heslo pre pripojenie zašifrovaných alebo prenosných súborových systémov"
|
||||
msgstr ""
|
||||
"Určiť, či bude zapamätané heslo pre pripojenie zašifrovaných alebo "
|
||||
"prenosných súborových systémov"
|
||||
|
||||
# description
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
|
||||
msgid "The shell will request a password when an encrypted device or a remote filesystem is mounted. If the password can be saved for future use a 'Remember Password' checkbox will be present. This key sets the default state of the checkbox."
|
||||
msgstr "Shell bude po pripojení zašifrovaného alebo prenosného súborového systému požadovať heslo. Ak bude možné toto heslo uložiť pre neskoršie použitie, zobrazí sa zaškrtávacie pole „Zapamätať heslo“. Tento kľúč nastaví predvolený stav zaškrtávacieho poľa."
|
||||
msgid ""
|
||||
"The shell will request a password when an encrypted device or a remote "
|
||||
"filesystem is mounted. If the password can be saved for future use a "
|
||||
"'Remember Password' checkbox will be present. This key sets the default "
|
||||
"state of the checkbox."
|
||||
msgstr ""
|
||||
"Shell bude po pripojení zašifrovaného alebo prenosného súborového systému "
|
||||
"požadovať heslo. Ak bude možné toto heslo uložiť pre neskoršie použitie, "
|
||||
"zobrazí sa zaškrtávacie pole „Zapamätať heslo“. Tento kľúč nastaví "
|
||||
"predvolený stav zaškrtávacieho poľa."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
|
||||
msgid "Show the week date in the calendar"
|
||||
@@ -165,8 +201,11 @@ msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid "Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“ v prehľade aktivít."
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“ v prehľade "
|
||||
"aktivít."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the overview"
|
||||
@@ -194,8 +233,11 @@ msgstr "Klávesová skratka, s ktorou sa zamerá na aktívne oznámenia."
|
||||
|
||||
# summary
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid "Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr "Klávesová skratka, ktorá pozastaví a znovu spustí všetky animácie(tween), pre ladiace účely"
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Klávesová skratka, ktorá pozastaví a znovu spustí všetky animácie(tween), "
|
||||
"pre ladiace účely"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Which keyboard to use"
|
||||
@@ -212,21 +254,35 @@ msgstr "Obmedziť prepínač na aktuálny pracovný priestor."
|
||||
|
||||
# desc
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||
msgid "If true, only applications that have windows on the current workspace are shown in the switcher. Otherwise, all applications are included."
|
||||
msgstr "Ak je true, iba aplikácie, ktoré majú okná na aktuálnom pracovnom priestore budú zobrazené v prepínači. Inak budú zahrnuté všetky aplikácie."
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
msgstr ""
|
||||
"Ak je true, iba aplikácie, ktoré majú okná na aktuálnom pracovnom priestore "
|
||||
"budú zobrazené v prepínači. Inak budú zahrnuté všetky aplikácie."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The application icon mode."
|
||||
msgstr "Režim ikonizácie aplikácií."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid "Configures how the windows are shown in the switcher. Valid possibilities are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' (shows only the application icon) or 'both'."
|
||||
msgstr "Konfiguruje, ako sa majú zobraziť okná v prepínači. Platné možnosti sú „thumbnail-only“ (zobrazí miniatúru okna), „app-icon-only“ (zobrazí iba ikonu aplikácie) alebo „both“ (zobrazí oboje)."
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
"only' (shows only the application icon) or 'both'."
|
||||
msgstr ""
|
||||
"Konfiguruje, ako sa majú zobraziť okná v prepínači. Platné možnosti sú "
|
||||
"„thumbnail-only“ (zobrazí miniatúru okna), „app-icon-only“ (zobrazí iba "
|
||||
"ikonu aplikácie) alebo „both“ (zobrazí oboje)."
|
||||
|
||||
# desc
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid "If true, only windows from the current workspace are shown in the switcher. Otherwise, all windows are included."
|
||||
msgstr "Ak je true, iba okná z aktuálneho pracovného priestoru budú zobrazené v prepínači. Inak budú zahrnuté všetky okná."
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
msgstr ""
|
||||
"Ak je true, iba okná z aktuálneho pracovného priestoru budú zobrazené v "
|
||||
"prepínači. Inak budú zahrnuté všetky okná."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
@@ -234,7 +290,9 @@ msgstr "Pripojiť modálne dialógové okno k rodičovskému oknu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr "Tento kľúč preváži kľúč v org.gnome.mutter po spustení Shellu prostredia GNOME."
|
||||
msgstr ""
|
||||
"Tento kľúč preváži kľúč v org.gnome.mutter po spustení Shellu prostredia "
|
||||
"GNOME."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
@@ -266,7 +324,10 @@ msgstr "Vyskytla sa chyba pri načítavaní dialógového okna nastavení pre %s
|
||||
msgid "GNOME Shell Extensions"
|
||||
msgstr "Rozšírenia pre Shell prostredia GNOME"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 ../js/ui/status/network.js:916
|
||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
|
||||
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/network.js:916
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušiť"
|
||||
|
||||
@@ -274,7 +335,8 @@ msgstr "Zrušiť"
|
||||
msgid "Next"
|
||||
msgstr "Ďalej"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ../js/ui/unlockDialog.js:59
|
||||
#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/ui/unlockDialog.js:59
|
||||
msgid "Unlock"
|
||||
msgstr "Odomknúť"
|
||||
|
||||
@@ -284,25 +346,26 @@ msgid "Sign In"
|
||||
msgstr "Prihlásiť sa"
|
||||
|
||||
# button
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
#: ../js/gdm/loginDialog.js:280
|
||||
msgid "Choose Session"
|
||||
msgstr "Vybrať reláciu"
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=659972
|
||||
#: ../js/gdm/loginDialog.js:417
|
||||
#: ../js/gdm/loginDialog.js:421
|
||||
msgid "Not listed?"
|
||||
msgstr "Nie ste v zozname?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:826
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(napr., používateľ alebo %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:831 ../js/ui/components/networkAgent.js:269 ../js/ui/components/networkAgent.js:287
|
||||
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:271
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
msgid "Username: "
|
||||
msgstr "Používateľské meno: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1166
|
||||
#: ../js/gdm/loginDialog.js:1170
|
||||
msgid "Login Window"
|
||||
msgstr "Prihlasovacie okno"
|
||||
|
||||
@@ -314,19 +377,84 @@ msgstr "Chyba pri overovaní totožnosti"
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(alebo prejdite prstom)"
|
||||
|
||||
#: ../js/misc/util.js:115
|
||||
#: ../js/misc/util.js:119
|
||||
msgid "Command not found"
|
||||
msgstr "Príkaz nebol nájdený"
|
||||
|
||||
#: ../js/misc/util.js:148
|
||||
#: ../js/misc/util.js:152
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Nepodarilo sa analyzovať príkaz:"
|
||||
|
||||
#: ../js/misc/util.js:156
|
||||
#: ../js/misc/util.js:160
|
||||
#, javascript-format
|
||||
msgid "Execution of “%s” failed:"
|
||||
msgstr "Spustenie „%s“ zlyhalo:"
|
||||
|
||||
#. Translators: Time in 24h format */
|
||||
#: ../js/misc/util.js:191
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H:%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||
#: ../js/misc/util.js:197
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "Včera o %H:%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||
#: ../js/misc/util.js:203
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H:%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30" */
|
||||
#: ../js/misc/util.js:209
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%d. %B, %H:%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30" */
|
||||
#: ../js/misc/util.js:215
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%d. %B %Y, %H:%M"
|
||||
|
||||
#. Translators: Time in 12h format */
|
||||
#: ../js/misc/util.js:220
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l:%M %p"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||
#: ../js/misc/util.js:226
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "Včera, %l:%M %p"
|
||||
|
||||
# DK: je tento format casu spravne? neviem zistit co ktore premenne znamenaju.
|
||||
# ma sa v preklade zmenit "%e" na "%d" ?
|
||||
# v ostatnych retazcoch je pouzite %e, tak to bude asi OK
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||
#: ../js/misc/util.js:232
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %l:%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm" */
|
||||
#: ../js/misc/util.js:238
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%d. %B, %l:%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||
#: ../js/misc/util.js:244
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%d. %B %Y, %l:%M %p"
|
||||
|
||||
# PM: Nie som si istý
|
||||
# TRANSLATORS: this is the title of the wifi captive portal login
|
||||
# window, until we know the title of the actual login page
|
||||
@@ -336,31 +464,31 @@ msgstr "Spustenie „%s“ zlyhalo:"
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Presmerovanie webového overenia totožnosti"
|
||||
|
||||
#: ../js/ui/appDisplay.js:785
|
||||
#: ../js/ui/appDisplay.js:792
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Tu sa objavia často používané aplikácie"
|
||||
|
||||
#: ../js/ui/appDisplay.js:905
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
msgid "Frequent"
|
||||
msgstr "Často používané"
|
||||
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
#: ../js/ui/appDisplay.js:919
|
||||
msgid "All"
|
||||
msgstr "Všetky"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1840
|
||||
#: ../js/ui/appDisplay.js:1850
|
||||
msgid "New Window"
|
||||
msgstr "Nové okno"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1868 ../js/ui/dash.js:289
|
||||
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Odstrániť z obľúbených"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1874
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Pridať do obľúbených"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
#: ../js/ui/appDisplay.js:1894
|
||||
msgid "Show Details"
|
||||
msgstr "Zobraziť podrobnosti"
|
||||
|
||||
@@ -374,7 +502,8 @@ msgstr "Program %s bol pridaný medzi obľúbené."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "Program %s bol odstránený z obľúbených."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649 ../js/ui/status/system.js:337
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Nastavenia"
|
||||
|
||||
@@ -383,34 +512,11 @@ msgid "Change Background…"
|
||||
msgstr "Zmeniť pozadie…"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
|
||||
#: ../js/ui/calendar.js:52
|
||||
#: ../js/ui/calendar.js:53
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:81
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Celý deň"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 24h format,
|
||||
#. \u2236 is a ratio character, similar to : */
|
||||
#: ../js/ui/calendar.js:88 ../js/ui/calendar.js:1596
|
||||
msgctxt "event list time"
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 12h format,
|
||||
#. \u2236 is a ratio character, similar to : and \u2009 is
|
||||
#. a thin space */
|
||||
#: ../js/ui/calendar.js:97
|
||||
msgctxt "event list time"
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l∶%M %p"
|
||||
|
||||
# MČ: nemali by tu byť tiež jednopísmenové? Občas som videl v kolendároch aj také použiť a ďalej sú dvojpísmenové.
|
||||
# PK: v grid to skratene bude, inac v liste to moze byt 2 pismenove, kedze aj v
|
||||
# originale dali Su
|
||||
@@ -419,86 +525,94 @@ msgstr "%l∶%M %p"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:111
|
||||
#: ../js/ui/calendar.js:82
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "N"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:113
|
||||
#: ../js/ui/calendar.js:84
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:115
|
||||
#: ../js/ui/calendar.js:86
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "U"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:117
|
||||
#: ../js/ui/calendar.js:88
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:119
|
||||
#: ../js/ui/calendar.js:90
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "Š"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:121
|
||||
#: ../js/ui/calendar.js:92
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:123
|
||||
#: ../js/ui/calendar.js:94
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#: ../js/ui/calendar.js:590
|
||||
#: ../js/ui/calendar.js:563
|
||||
msgid "Previous month"
|
||||
msgstr "Predchádzajúci mesiac"
|
||||
|
||||
#: ../js/ui/calendar.js:600
|
||||
#: ../js/ui/calendar.js:573
|
||||
msgid "Next month"
|
||||
msgstr "Nasledujúci mesiac"
|
||||
|
||||
#: ../js/ui/calendar.js:807
|
||||
#: ../js/ui/calendar.js:780
|
||||
msgid "Week %V"
|
||||
msgstr "%V. týždeň"
|
||||
|
||||
#: ../js/ui/calendar.js:1263
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:1182
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Celý deň"
|
||||
|
||||
#: ../js/ui/calendar.js:1288
|
||||
msgid "Clear section"
|
||||
msgstr "Vymazať úsek"
|
||||
|
||||
#: ../js/ui/calendar.js:1455
|
||||
#: ../js/ui/calendar.js:1515
|
||||
msgid "Events"
|
||||
msgstr "Udalosti"
|
||||
|
||||
#: ../js/ui/calendar.js:1463
|
||||
#: ../js/ui/calendar.js:1524
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %e. %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1467
|
||||
#: ../js/ui/calendar.js:1528
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %e. %B %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1560
|
||||
#: ../js/ui/calendar.js:1613
|
||||
msgid "Notifications"
|
||||
msgstr "Oznámenia"
|
||||
|
||||
#: ../js/ui/calendar.js:1700
|
||||
#: ../js/ui/calendar.js:1764
|
||||
msgid "No Notifications"
|
||||
msgstr "Žiadne oznámenia"
|
||||
|
||||
#: ../js/ui/calendar.js:1703
|
||||
#: ../js/ui/calendar.js:1767
|
||||
msgid "No Events"
|
||||
msgstr "Žiadne udalosti"
|
||||
|
||||
@@ -524,72 +638,95 @@ msgstr "Heslo:"
|
||||
msgid "Type again:"
|
||||
msgstr "Zadajte znovu:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:138 ../js/ui/status/network.js:277 ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
|
||||
#: ../js/ui/components/networkAgent.js:140 ../js/ui/status/network.js:277
|
||||
#: ../js/ui/status/network.js:359 ../js/ui/status/network.js:919
|
||||
msgid "Connect"
|
||||
msgstr "Pripojiť"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:231 ../js/ui/components/networkAgent.js:243 ../js/ui/components/networkAgent.js:271 ../js/ui/components/networkAgent.js:291 ../js/ui/components/networkAgent.js:301
|
||||
#: ../js/ui/components/networkAgent.js:233
|
||||
#: ../js/ui/components/networkAgent.js:245
|
||||
#: ../js/ui/components/networkAgent.js:273
|
||||
#: ../js/ui/components/networkAgent.js:293
|
||||
#: ../js/ui/components/networkAgent.js:303
|
||||
msgid "Password: "
|
||||
msgstr "Heslo: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:236
|
||||
#: ../js/ui/components/networkAgent.js:238
|
||||
msgid "Key: "
|
||||
msgstr "Kľúč: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:275
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
msgid "Identity: "
|
||||
msgstr "Identita: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:277
|
||||
#: ../js/ui/components/networkAgent.js:279
|
||||
msgid "Private key password: "
|
||||
msgstr "Heslo k súkromnému kľúču: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:289
|
||||
#: ../js/ui/components/networkAgent.js:291
|
||||
msgid "Service: "
|
||||
msgstr "Služba: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:318
|
||||
#: ../js/ui/components/networkAgent.js:320
|
||||
#: ../js/ui/components/networkAgent.js:658
|
||||
msgid "Authentication required by wireless network"
|
||||
msgstr "Bezdrôtová sieť vyžaduje overenie totožnosti"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:319
|
||||
#: ../js/ui/components/networkAgent.js:321
|
||||
#: ../js/ui/components/networkAgent.js:659
|
||||
#, javascript-format
|
||||
msgid "Passwords or encryption keys are required to access the wireless network “%s”."
|
||||
msgstr "Na prístup do bezdrôtovej siete „%s“ sú vyžadované heslá alebo šifrovacie kľúče."
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr ""
|
||||
"Na prístup do bezdrôtovej siete „%s“ sú vyžadované heslá alebo šifrovacie "
|
||||
"kľúče."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:662
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Overenie totožnosti k drôtovej sieti 802.1X"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:325
|
||||
#: ../js/ui/components/networkAgent.js:327
|
||||
msgid "Network name: "
|
||||
msgstr "Názov siete: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:330
|
||||
#: ../js/ui/components/networkAgent.js:332
|
||||
#: ../js/ui/components/networkAgent.js:666
|
||||
msgid "DSL authentication"
|
||||
msgstr "Overenie totožnosti k DSL"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:337
|
||||
#: ../js/ui/components/networkAgent.js:339
|
||||
#: ../js/ui/components/networkAgent.js:672
|
||||
msgid "PIN code required"
|
||||
msgstr "Požaduje sa kód PIN"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:338
|
||||
#: ../js/ui/components/networkAgent.js:340
|
||||
#: ../js/ui/components/networkAgent.js:673
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Pre zariadenie mobilnej širokopásmovej siete je potrebný kód PIN"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:339
|
||||
#: ../js/ui/components/networkAgent.js:341
|
||||
msgid "PIN: "
|
||||
msgstr "PIN: "
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:345
|
||||
#: ../js/ui/components/networkAgent.js:348
|
||||
#: ../js/ui/components/networkAgent.js:679
|
||||
msgid "Mobile broadband network password"
|
||||
msgstr "Heslo k mobilnej širokopásmovej sieti"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:346
|
||||
#: ../js/ui/components/networkAgent.js:349
|
||||
#: ../js/ui/components/networkAgent.js:663
|
||||
#: ../js/ui/components/networkAgent.js:667
|
||||
#: ../js/ui/components/networkAgent.js:680
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Na pripojenie k „%s“ sa požaduje heslo."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:647 ../js/ui/status/network.js:1657
|
||||
msgid "Network Manager"
|
||||
msgstr "Správca siete"
|
||||
|
||||
#: ../js/ui/components/polkitAgent.js:54
|
||||
msgid "Authentication Required"
|
||||
msgstr "Požaduje sa overenie totožnosti"
|
||||
@@ -611,74 +748,9 @@ msgstr "Overiť totožnosť"
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Prepáčte, ale nezabralo to. Skúste to, prosím, znova."
|
||||
|
||||
#. Translators: Time in 24h format */
|
||||
#: ../js/ui/components/telepathyClient.js:764 ../js/ui/dateMenu.js:210
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H:%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:771
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "Včera o %H:%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:778
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H:%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:785
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%d. %B, %H:%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:791
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%d. %B %Y, %H:%M"
|
||||
|
||||
#. Translators: Time in 12h format */
|
||||
#: ../js/ui/components/telepathyClient.js:797 ../js/ui/dateMenu.js:213
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l:%M %p"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:804
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "Včera, %l:%M %p"
|
||||
|
||||
# DK: je tento format casu spravne? neviem zistit co ktore premenne znamenaju.
|
||||
# ma sa v preklade zmenit "%e" na "%d" ?
|
||||
# v ostatnych retazcoch je pouzite %e, tak to bude asi OK
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:811
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %l:%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:818
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%d. %B, %l:%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||
#: ../js/ui/components/telepathyClient.js:824
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%d. %B %Y, %l:%M %p"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:856
|
||||
#: ../js/ui/components/telepathyClient.js:775
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "Kontakt %s odteraz vystupuje ako %s"
|
||||
@@ -688,11 +760,11 @@ msgid "Windows"
|
||||
msgstr "Okná"
|
||||
|
||||
# tooltip
|
||||
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
|
||||
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
|
||||
msgid "Show Applications"
|
||||
msgstr "Zobrazí aplikácie"
|
||||
|
||||
#: ../js/ui/dash.js:451
|
||||
#: ../js/ui/dash.js:453
|
||||
msgid "Dash"
|
||||
msgstr "Dok"
|
||||
|
||||
@@ -805,10 +877,14 @@ msgstr "Reštart a inštalácia aktualizácií"
|
||||
#: ../js/ui/endSessionDialog.js:121
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural "The system will automatically restart and install updates in %d seconds."
|
||||
msgstr[0] "Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekúnd."
|
||||
msgstr[1] "Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekundu."
|
||||
msgstr[2] "Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekundy."
|
||||
msgid_plural ""
|
||||
"The system will automatically restart and install updates in %d seconds."
|
||||
msgstr[0] ""
|
||||
"Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekúnd."
|
||||
msgstr[1] ""
|
||||
"Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekundu."
|
||||
msgstr[2] ""
|
||||
"Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekundy."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:127
|
||||
msgctxt "button"
|
||||
@@ -827,7 +903,9 @@ msgstr "Vypnúť po inštalácii aktualizácií"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:338
|
||||
msgid "Running on battery power: please plug in before installing updates."
|
||||
msgstr "Systém je napájaný z batérie. Pred inštaláciou aktualizácií pripojte napájací zdroj."
|
||||
msgstr ""
|
||||
"Systém je napájaný z batérie. Pred inštaláciou aktualizácií pripojte "
|
||||
"napájací zdroj."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:355
|
||||
msgid "Some applications are busy or have unsaved work."
|
||||
@@ -858,10 +936,20 @@ msgstr "Inštalovať"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Stiahnuť a nainštalovať „%s“ z extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:576
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:580
|
||||
msgid "Keyboard"
|
||||
msgstr "Klávesnica"
|
||||
|
||||
#. translators: 'Hide' is a verb */
|
||||
#: ../js/ui/legacyTray.js:59
|
||||
#| msgid "Hide Text"
|
||||
msgid "Hide tray"
|
||||
msgstr "Skryť lištu"
|
||||
|
||||
#: ../js/ui/legacyTray.js:91
|
||||
msgid "Status Icons"
|
||||
msgstr "Stavová ikona"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:643
|
||||
msgid "No extensions installed"
|
||||
msgstr "Žiadne nainštalované rozšírenia"
|
||||
@@ -880,7 +968,8 @@ msgstr "Skryť chyby"
|
||||
msgid "Show Errors"
|
||||
msgstr "Zobraziť chyby"
|
||||
|
||||
#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ../js/ui/status/location.js:176
|
||||
#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71
|
||||
#: ../js/ui/status/location.js:176
|
||||
msgid "Enabled"
|
||||
msgstr "Povolené"
|
||||
|
||||
@@ -888,7 +977,8 @@ msgstr "Povolené"
|
||||
#. because it's disabled by rfkill (airplane mode) */
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830
|
||||
#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179
|
||||
#: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830
|
||||
msgid "Disabled"
|
||||
msgstr "Zakázané"
|
||||
|
||||
@@ -913,7 +1003,7 @@ msgstr "Zobraziť zdroj"
|
||||
msgid "Web Page"
|
||||
msgstr "Webová stránka"
|
||||
|
||||
#: ../js/ui/messageTray.js:2131
|
||||
#: ../js/ui/messageTray.js:2133
|
||||
msgid "System Information"
|
||||
msgstr "Informácie o systéme"
|
||||
|
||||
@@ -934,21 +1024,21 @@ msgstr "Prehľad"
|
||||
msgid "Type to search…"
|
||||
msgstr "Zadajte text na vyhľadanie…"
|
||||
|
||||
#: ../js/ui/panel.js:351
|
||||
#: ../js/ui/panel.js:352
|
||||
msgid "Quit"
|
||||
msgstr "Ukončiť"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:403
|
||||
#: ../js/ui/panel.js:404
|
||||
msgid "Activities"
|
||||
msgstr "Aktivity"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:755
|
||||
msgid "Top Bar"
|
||||
msgstr "Horná lišta"
|
||||
|
||||
#: ../js/ui/popupMenu.js:288
|
||||
#: ../js/ui/popupMenu.js:289
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@@ -1005,11 +1095,11 @@ msgstr "Nepodarilo sa uzamknúť obrazovku"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Uzamknutie bolo zablokované aplikáciou"
|
||||
|
||||
#: ../js/ui/search.js:609
|
||||
#: ../js/ui/search.js:616
|
||||
msgid "Searching…"
|
||||
msgstr "Hľadá sa…"
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
#: ../js/ui/search.js:618
|
||||
msgid "No results."
|
||||
msgstr "Žiadne výsledky."
|
||||
|
||||
@@ -1088,7 +1178,10 @@ msgstr "Veľký text"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178 ../js/ui/status/network.js:360 ../js/ui/status/network.js:1282 ../js/ui/status/network.js:1393 ../js/ui/status/rfkill.js:91 ../js/ui/status/rfkill.js:118
|
||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
|
||||
#: ../js/ui/status/network.js:360 ../js/ui/status/network.js:1282
|
||||
#: ../js/ui/status/network.js:1393 ../js/ui/status/rfkill.js:91
|
||||
#: ../js/ui/status/rfkill.js:118
|
||||
msgid "Turn Off"
|
||||
msgstr "Vypnúť"
|
||||
|
||||
@@ -1113,7 +1206,7 @@ msgid "Brightness"
|
||||
msgstr "Jas"
|
||||
|
||||
# menu item
|
||||
#: ../js/ui/status/keyboard.js:599
|
||||
#: ../js/ui/status/keyboard.js:603
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Zobraziť rozloženie klávesnice"
|
||||
|
||||
@@ -1143,7 +1236,8 @@ msgid "<unknown>"
|
||||
msgstr "<neznáme>"
|
||||
|
||||
# DK: pripojenie, zariadenie
|
||||
#: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1308 ../js/ui/status/network.js:1512
|
||||
#: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1308
|
||||
#: ../js/ui/status/network.js:1512
|
||||
msgid "Off"
|
||||
msgstr "Vypnuté"
|
||||
|
||||
@@ -1284,10 +1378,6 @@ msgstr "Nastavenia VPN"
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1657
|
||||
msgid "Network Manager"
|
||||
msgstr "Správca siete"
|
||||
|
||||
#: ../js/ui/status/network.js:1697
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Aktivácia pripojenia k sieti zlyhala"
|
||||
@@ -1524,6 +1614,14 @@ msgstr "Heslo nemôže byť prázdne"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H∶%M"
|
||||
#~ msgstr "%H∶%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l∶%M %p"
|
||||
#~ msgstr "%l∶%M %p"
|
||||
|
||||
#~ msgid "Invitation"
|
||||
#~ msgstr "Pozvánka"
|
||||
|
||||
@@ -1614,7 +1712,8 @@ msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
|
||||
#~ msgid "This account is already connected to the server"
|
||||
#~ msgstr "Tento účet je už pripojený k serveru"
|
||||
|
||||
#~ msgid "Connection has been replaced by a new connection using the same resource"
|
||||
#~ msgid ""
|
||||
#~ "Connection has been replaced by a new connection using the same resource"
|
||||
#~ msgstr "Pripojenie bolo nahradené novým, ktoré používa rovnaký zdroj"
|
||||
|
||||
#~ msgid "The account already exists on the server"
|
||||
@@ -1626,11 +1725,18 @@ msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
|
||||
#~ msgid "Certificate has been revoked"
|
||||
#~ msgstr "Certifikát bol zrušený"
|
||||
|
||||
#~ msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
#~ msgstr "Šifrovací algoritmus používaný certifikátom nie je bezpečný alebo je kryptograficky slabý"
|
||||
#~ msgid ""
|
||||
#~ "Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
#~ msgstr ""
|
||||
#~ "Šifrovací algoritmus používaný certifikátom nie je bezpečný alebo je "
|
||||
#~ "kryptograficky slabý"
|
||||
|
||||
#~ msgid "The length of the server certificate, or the depth of the server certificate chain, exceed the limits imposed by the cryptography library"
|
||||
#~ msgstr "Dĺžka certifikátu servera, alebo hĺbka reťazca certifikátu servera presahuje limit stanovený kryptografickou knižnicou."
|
||||
#~ msgid ""
|
||||
#~ "The length of the server certificate, or the depth of the server "
|
||||
#~ "certificate chain, exceed the limits imposed by the cryptography library"
|
||||
#~ msgstr ""
|
||||
#~ "Dĺžka certifikátu servera, alebo hĺbka reťazca certifikátu servera "
|
||||
#~ "presahuje limit stanovený kryptografickou knižnicou."
|
||||
|
||||
#~ msgid "Internal error"
|
||||
#~ msgstr "Vnútorná chyba"
|
||||
@@ -1740,17 +1846,31 @@ msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom"
|
||||
#~ msgstr "Maximálna úroveň presnosti určenia polohy."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Configures the maximum level of location accuracy applications are allowed to see. Valid options are 'off' (disable location tracking), 'country', 'city', 'neighborhood', 'street', and 'exact' (typically requires GPS receiver). Please keep in mind that "
|
||||
#~ "this only controls what GeoClue will allow applications to see and they can find user's location on their own using network resources (albeit with street-level accuracy at best)."
|
||||
#~ "Configures the maximum level of location accuracy applications are "
|
||||
#~ "allowed to see. Valid options are 'off' (disable location tracking), "
|
||||
#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically "
|
||||
#~ "requires GPS receiver). Please keep in mind that this only controls what "
|
||||
#~ "GeoClue will allow applications to see and they can find user's location "
|
||||
#~ "on their own using network resources (albeit with street-level accuracy "
|
||||
#~ "at best)."
|
||||
#~ msgstr ""
|
||||
#~ "Konfiguruje maximálnu úroveň presnosti určenia polohy, ktorú aplikácie môžu získať. Povolené sú voľby 'off' (zakáže sledovanie polohy), 'country' (krajina), 'city' (mesto), 'neighborhood' (okolie), 'street' (ulica), 'exact' (presne, pri čom je "
|
||||
#~ "štandardne požadované použitie prijímača GPS). Uvedomte si, že toto nastavenie ovplyvňuje povolenia GeoClue a aplikácie môžu tiež získať údaje o polohe použitím sieťových prostriedkov (aj keď prinajlepšom s presnosťou na ulicu)."
|
||||
#~ "Konfiguruje maximálnu úroveň presnosti určenia polohy, ktorú aplikácie "
|
||||
#~ "môžu získať. Povolené sú voľby 'off' (zakáže sledovanie polohy), "
|
||||
#~ "'country' (krajina), 'city' (mesto), 'neighborhood' (okolie), "
|
||||
#~ "'street' (ulica), 'exact' (presne, pri čom je štandardne požadované "
|
||||
#~ "použitie prijímača GPS). Uvedomte si, že toto nastavenie ovplyvňuje "
|
||||
#~ "povolenia GeoClue a aplikácie môžu tiež získať údaje o polohe použitím "
|
||||
#~ "sieťových prostriedkov (aj keď prinajlepšom s presnosťou na ulicu)."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Usporiadanie tlačidiel na titulku okna"
|
||||
|
||||
#~ msgid "This key overrides the key in org.gnome.desktop.wm.preferences when running GNOME Shell."
|
||||
#~ msgstr "Tento kľúč preváži kľúč v org.gnome.desktop.wm.preferences po spustení Shellu prostredia GNOME."
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Tento kľúč preváži kľúč v org.gnome.desktop.wm.preferences po spustení "
|
||||
#~ "Shellu prostredia GNOME."
|
||||
|
||||
#~ msgid "Extension"
|
||||
#~ msgstr "Rozšírenie"
|
||||
|
||||
972
po/sr@latin.po
972
po/sr@latin.po
File diff suppressed because it is too large
Load Diff
617
po/tr.po
617
po/tr.po
@@ -14,8 +14,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-02-21 20:56+0000\n"
|
||||
"PO-Revision-Date: 2015-02-21 23:53+0200\n"
|
||||
"POT-Creation-Date: 2015-03-10 20:43+0000\n"
|
||||
"PO-Revision-Date: 2015-03-11 00:54+0200\n"
|
||||
"Last-Translator: Muhammet Kara <muhammetk@gmail.com>\n"
|
||||
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
|
||||
"Language: tr\n"
|
||||
@@ -31,9 +31,10 @@ msgid "System"
|
||||
msgstr "Sistem"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:2
|
||||
#| msgid "Show the message tray"
|
||||
msgid "Show the message list"
|
||||
msgstr "İleti listesini göster"
|
||||
#| msgid "%d new notification"
|
||||
#| msgid_plural "%d new notifications"
|
||||
msgid "Show the notification list"
|
||||
msgstr "Bildirim listesini göster"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:3
|
||||
msgid "Focus the active notification"
|
||||
@@ -210,12 +211,14 @@ msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Etkinlikler Genel Görünümünü açmak için klavye kısayolu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid "Keybinding to toggle the visibility of the message tray"
|
||||
msgstr "Mesaj tepsisinin görünürlüğünü değiştirmek için klavye kısayolu"
|
||||
#| msgid "Keybinding to toggle the visibility of the message tray"
|
||||
msgid "Keybinding to toggle the visibility of the notification list"
|
||||
msgstr "Bildirim listesinin görünürlüğünü değiştirmek için klavye kısayolu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to toggle the visibility of the message tray."
|
||||
msgstr "Mesaj tepsisinin görünürlüğünü değiştirmek için klavye kısayolu."
|
||||
#| msgid "Keybinding to toggle the visibility of the message tray."
|
||||
msgid "Keybinding to toggle the visibility of the notification list."
|
||||
msgstr "Bildirim listesinin görünürlüğünü değiştirmek için klavye kısayolu."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to focus the active notification"
|
||||
@@ -339,25 +342,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Giriş"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
#: ../js/gdm/loginDialog.js:280
|
||||
msgid "Choose Session"
|
||||
msgstr "Oturum Seçin"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:417
|
||||
#: ../js/gdm/loginDialog.js:421
|
||||
msgid "Not listed?"
|
||||
msgstr "Listede yok mu?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:822
|
||||
#: ../js/gdm/loginDialog.js:830
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(örneğin, kullanıcı veya %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:827 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/gdm/loginDialog.js:835 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "Kullanıcı Adı: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1159
|
||||
#: ../js/gdm/loginDialog.js:1170
|
||||
msgid "Login Window"
|
||||
msgstr "Oturum Açma Penceresi"
|
||||
|
||||
@@ -369,50 +372,112 @@ msgstr "Kimlik doğrulama hatası"
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(ya da parmak izi okutun)"
|
||||
|
||||
#: ../js/misc/util.js:115
|
||||
#: ../js/misc/util.js:119
|
||||
msgid "Command not found"
|
||||
msgstr "Komut bulunamadı"
|
||||
|
||||
#: ../js/misc/util.js:148
|
||||
#: ../js/misc/util.js:152
|
||||
msgid "Could not parse command:"
|
||||
msgstr "Komut işlenemedi:"
|
||||
|
||||
#: ../js/misc/util.js:156
|
||||
#: ../js/misc/util.js:160
|
||||
#, javascript-format
|
||||
msgid "Execution of “%s” failed:"
|
||||
msgstr "“%s” çalıştırılması başarısız:"
|
||||
|
||||
#. Translators: Time in 24h format */
|
||||
#: ../js/misc/util.js:191
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||
#: ../js/misc/util.js:197
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "Dün, %H∶%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||
#: ../js/misc/util.js:203
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30" */
|
||||
#: ../js/misc/util.js:209
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%d %B, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30" */
|
||||
#: ../js/misc/util.js:215
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%d %B %Y, %H∶%M"
|
||||
|
||||
#. Translators: Time in 12h format */
|
||||
#: ../js/misc/util.js:220
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l∶%M %p"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||
#: ../js/misc/util.js:226
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "Dün, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||
#: ../js/misc/util.js:232
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm" */
|
||||
#: ../js/misc/util.js:238
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%d %B, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||
#: ../js/misc/util.js:244
|
||||
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, until we know the title of the actual login page */
|
||||
#: ../js/portalHelper/main.js:85
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Web Kimlik Doğrulama Yönlendirmesi"
|
||||
|
||||
#: ../js/ui/appDisplay.js:785
|
||||
#: ../js/ui/appDisplay.js:792
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Sık kullanılan uygulamalar burada yer alacak"
|
||||
|
||||
#: ../js/ui/appDisplay.js:905
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
msgid "Frequent"
|
||||
msgstr "Sık sık"
|
||||
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
#: ../js/ui/appDisplay.js:919
|
||||
msgid "All"
|
||||
msgstr "Hepsi"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1840
|
||||
#: ../js/ui/appDisplay.js:1850
|
||||
msgid "New Window"
|
||||
msgstr "Yeni Pencere"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1868 ../js/ui/dash.js:289
|
||||
#: ../js/ui/appDisplay.js:1878 ../js/ui/dash.js:291
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Sık Kullanılanlardan Çıkar"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1874
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Sık Kullanılanlara Ekle"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1884
|
||||
#: ../js/ui/appDisplay.js:1894
|
||||
msgid "Show Details"
|
||||
msgstr "Ayrıntıları Göster"
|
||||
|
||||
@@ -426,7 +491,7 @@ msgstr "%s sık kullanılanlarınıza eklendi."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s sık kullanılanlarınızdan çıkarıldı."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:649
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:650
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Ayarlar"
|
||||
@@ -436,7 +501,7 @@ msgid "Change Background…"
|
||||
msgstr "Arkaplanı Değiştir…"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
|
||||
#: ../js/ui/calendar.js:52
|
||||
#: ../js/ui/calendar.js:49
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr "06"
|
||||
@@ -444,104 +509,97 @@ msgstr "06"
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:81
|
||||
#: ../js/ui/calendar.js:78
|
||||
msgctxt "event list time"
|
||||
msgid "All Day"
|
||||
msgstr "Tüm Gün"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 24h format,
|
||||
#. \u2236 is a ratio character, similar to : */
|
||||
#: ../js/ui/calendar.js:88 ../js/ui/calendar.js:1562
|
||||
msgctxt "event list time"
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: Shown in calendar event list, if 12h format,
|
||||
#. \u2236 is a ratio character, similar to : and \u2009 is
|
||||
#. a thin space */
|
||||
#: ../js/ui/calendar.js:97
|
||||
msgctxt "event list time"
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l∶%M %p"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Sunday.
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:111
|
||||
#: ../js/ui/calendar.js:93
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:113
|
||||
#: ../js/ui/calendar.js:95
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:115
|
||||
#: ../js/ui/calendar.js:97
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:117
|
||||
#: ../js/ui/calendar.js:99
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "Ç"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:119
|
||||
#: ../js/ui/calendar.js:101
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "P"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:121
|
||||
#: ../js/ui/calendar.js:103
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "C"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:123
|
||||
#: ../js/ui/calendar.js:105
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "C"
|
||||
|
||||
#: ../js/ui/calendar.js:590
|
||||
#: ../js/ui/calendar.js:572
|
||||
msgid "Previous month"
|
||||
msgstr "Önceki ay"
|
||||
|
||||
#: ../js/ui/calendar.js:600
|
||||
#: ../js/ui/calendar.js:582
|
||||
msgid "Next month"
|
||||
msgstr "Gelecek ay"
|
||||
|
||||
#: ../js/ui/calendar.js:789
|
||||
msgid "Week %V"
|
||||
msgstr "%V. Hafta"
|
||||
|
||||
#: ../js/ui/calendar.js:1245
|
||||
msgid "Clear section"
|
||||
msgstr "Bölümü temizle"
|
||||
|
||||
#: ../js/ui/calendar.js:1423
|
||||
#: ../js/ui/calendar.js:1459
|
||||
msgid "Events"
|
||||
msgstr "Olaylar"
|
||||
|
||||
#: ../js/ui/calendar.js:1431
|
||||
#: ../js/ui/calendar.js:1467
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: ../js/ui/calendar.js:1435
|
||||
#: ../js/ui/calendar.js:1471
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %B, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:1665
|
||||
#| msgid "Notifications"
|
||||
#: ../js/ui/calendar.js:1563
|
||||
#| msgid "No Notifications"
|
||||
msgid "Notifications"
|
||||
msgstr "Bildirimler"
|
||||
|
||||
#: ../js/ui/calendar.js:1714
|
||||
msgid "No Notifications"
|
||||
msgstr "Bildirim Yok"
|
||||
|
||||
#: ../js/ui/calendar.js:1668
|
||||
#: ../js/ui/calendar.js:1717
|
||||
msgid "No Events"
|
||||
msgstr "Olay Yok"
|
||||
|
||||
@@ -661,288 +719,29 @@ msgstr "Doğrula"
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "Üzgünüm ama işe yaramadı. Lütfen tekrar deneyin."
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:243
|
||||
msgid "Invitation"
|
||||
msgstr "Davet"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:303
|
||||
msgid "Call"
|
||||
msgstr "Çağrı"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:319
|
||||
msgid "File Transfer"
|
||||
msgstr "Dosya Aktarımı"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:423
|
||||
msgid "Chat"
|
||||
msgstr "Sohbet"
|
||||
|
||||
#. Translators: Time in 24h format */
|
||||
#: ../js/ui/components/telepathyClient.js:936 ../js/ui/dateMenu.js:209
|
||||
msgid "%H∶%M"
|
||||
msgstr "%H∶%M"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:943
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "Dün, %H∶%M"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:950
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
#. i.e. "May 25, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:957
|
||||
msgid "%B %d, %H∶%M"
|
||||
msgstr "%d %B, %H∶%M"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
#. i.e. "May 25 2012, 14:30" */
|
||||
#: ../js/ui/components/telepathyClient.js:963
|
||||
msgid "%B %d %Y, %H∶%M"
|
||||
msgstr "%d %B %Y, %H∶%M"
|
||||
|
||||
#. Translators: Time in 12h format */
|
||||
#: ../js/ui/components/telepathyClient.js:969 ../js/ui/dateMenu.js:212
|
||||
msgid "%l∶%M %p"
|
||||
msgstr "%l∶%M %p"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:976
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "Dün, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:983
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
#. i.e. "May 25, 2:30 pm" */
|
||||
#: ../js/ui/components/telepathyClient.js:990
|
||||
msgid "%B %d, %l∶%M %p"
|
||||
msgstr "%d %B, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||
#: ../js/ui/components/telepathyClient.js:996
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%d %B %Y, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:1028
|
||||
#: ../js/ui/components/telepathyClient.js:772
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s, şimdi %s olarak biliniyor"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1132
|
||||
#, javascript-format
|
||||
msgid "Invitation to %s"
|
||||
msgstr "%s'e Davet"
|
||||
|
||||
#. translators: first argument is the name of a contact and the second
|
||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||
#. * for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1136
|
||||
#, javascript-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "%s, sizi %s'e katılmanız için davet ediyor"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1140
|
||||
#: ../js/ui/components/telepathyClient.js:1175
|
||||
#: ../js/ui/components/telepathyClient.js:1207
|
||||
#: ../js/ui/components/telepathyClient.js:1273
|
||||
msgid "Decline"
|
||||
msgstr "Reddet"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1146
|
||||
#: ../js/ui/components/telepathyClient.js:1213
|
||||
#: ../js/ui/components/telepathyClient.js:1278
|
||||
msgid "Accept"
|
||||
msgstr "Kabul Et"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1165
|
||||
#, javascript-format
|
||||
msgid "Video call from %s"
|
||||
msgstr "%s'den görüntülü arama"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1168
|
||||
#, javascript-format
|
||||
msgid "Call from %s"
|
||||
msgstr "%s'den çağrı"
|
||||
|
||||
#. translators: this is a button label (verb), not a noun */
|
||||
#: ../js/ui/components/telepathyClient.js:1182
|
||||
msgid "Answer"
|
||||
msgstr "Cevapla"
|
||||
|
||||
#. To translators: The first parameter is
|
||||
#. * the contact's alias and the second one is the
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#. */
|
||||
#: ../js/ui/components/telepathyClient.js:1203
|
||||
#, javascript-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "%s, size %s dosyasını gönderiyor"
|
||||
|
||||
#. To translators: The parameter is the contact's alias */
|
||||
#: ../js/ui/components/telepathyClient.js:1230
|
||||
#, javascript-format
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "%s, ne zaman çevrimiçi olduğunuzu görmek için izin istiyor"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1321
|
||||
msgid "Network error"
|
||||
msgstr "Ağ hatası"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1323
|
||||
msgid "Authentication failed"
|
||||
msgstr "Kimlik doğrulama başarısız"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1325
|
||||
msgid "Encryption error"
|
||||
msgstr "Şifreleme hatası"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1327
|
||||
msgid "Certificate not provided"
|
||||
msgstr "Sertifika sağlanmamış"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1329
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "Sertifika güvenilmez"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1331
|
||||
msgid "Certificate expired"
|
||||
msgstr "Sertifikanın süresi dolmuş"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1333
|
||||
msgid "Certificate not activated"
|
||||
msgstr "Sertifika etkinleştirilmemiş"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1335
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "Sertifikanın makine adı uyuşmuyor"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1337
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "Sertifikanın parmak izi uyuşmuyor"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1339
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "Sertifika kendinden-imzalı"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1341
|
||||
msgid "Status is set to offline"
|
||||
msgstr "Durum çevrimdışına ayarlı"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1343
|
||||
msgid "Encryption is not available"
|
||||
msgstr "Şifreleme kullanılabilir değil"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1345
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "Sertifika geçersiz"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1347
|
||||
msgid "Connection has been refused"
|
||||
msgstr "Bağlantı reddedildi"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1349
|
||||
msgid "Connection can't be established"
|
||||
msgstr "Bağlantı kurulamıyor"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1351
|
||||
msgid "Connection has been lost"
|
||||
msgstr "Bağlantı koptu"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1353
|
||||
msgid "This account is already connected to the server"
|
||||
msgstr "Bu hesap zaten sunucuya bağlı"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1355
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr "Bağlantı, aynı kaynağı kullanan yeni bir bağlantı ile değiştirildi"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1357
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "Sunucuda böyle bir hesap zaten var"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1359
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr "Sunucu, şu anda bağlantıyı işleyemeyecek kadar meşgul"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1361
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "Sertifika hükümsüz kılınmış"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1363
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr ""
|
||||
"Sertifika güvensiz bir şifreleme algoritması kullanıyor ya da kriptografik "
|
||||
"olarak zayıf"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1365
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
msgstr ""
|
||||
"Sunucu sertifikasının uzunluğu ya da sunucu sertifikası zincirinin "
|
||||
"derinliği, şifreleme kütüphanesi tarafından koyulan sınırları aşıyor"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1367
|
||||
msgid "Internal error"
|
||||
msgstr "İç hata"
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1377
|
||||
#, javascript-format
|
||||
msgid "Unable to connect to %s"
|
||||
msgstr "%s bağlantısı sağlanamadı"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1382
|
||||
msgid "View account"
|
||||
msgstr "Hesabı göster"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1419
|
||||
msgid "Unknown reason"
|
||||
msgstr "Bilinmeyen sebep"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Pencereler"
|
||||
|
||||
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
|
||||
#: ../js/ui/dash.js:252 ../js/ui/dash.js:293
|
||||
msgid "Show Applications"
|
||||
msgstr "Uygulamaları Göster"
|
||||
|
||||
#: ../js/ui/dash.js:451
|
||||
#: ../js/ui/dash.js:453
|
||||
msgid "Dash"
|
||||
msgstr "Konsol"
|
||||
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:72
|
||||
#| msgid "%A %B %e, %Y"
|
||||
#: ../js/ui/dateMenu.js:73
|
||||
msgid "%B %e %Y"
|
||||
msgstr "%e %B %Y"
|
||||
|
||||
@@ -950,17 +749,15 @@ msgstr "%e %B %Y"
|
||||
#. * below the time in the shell; it should combine the weekday and the
|
||||
#. * date, e.g. "Tuesday February 17 2015".
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:79
|
||||
#| msgid "%A %B %e, %Y"
|
||||
#: ../js/ui/dateMenu.js:80
|
||||
msgid "%A %B %e %Y"
|
||||
msgstr "%e %B %Y %A"
|
||||
|
||||
#: ../js/ui/dateMenu.js:159
|
||||
#: ../js/ui/dateMenu.js:160
|
||||
msgid "Add world clocks…"
|
||||
msgstr "Dünya saatlerini ekle…"
|
||||
|
||||
#: ../js/ui/dateMenu.js:160
|
||||
#| msgid "Open Clocks"
|
||||
#: ../js/ui/dateMenu.js:161
|
||||
msgid "World Clocks"
|
||||
msgstr "Dünya Saatleri"
|
||||
|
||||
@@ -1097,7 +894,7 @@ msgstr "Kur"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "extensions.gnome.org adresinden “%s” indirilip kurulsun mu?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:577
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:576
|
||||
msgid "Keyboard"
|
||||
msgstr "Klavye"
|
||||
|
||||
@@ -1153,7 +950,7 @@ msgstr "Kaynağı Görüntüle"
|
||||
msgid "Web Page"
|
||||
msgstr "Web Sayfası"
|
||||
|
||||
#: ../js/ui/messageTray.js:2092
|
||||
#: ../js/ui/messageTray.js:2133
|
||||
msgid "System Information"
|
||||
msgstr "Sistem Bilgisi"
|
||||
|
||||
@@ -1173,21 +970,21 @@ msgstr "Genel Görünüm"
|
||||
msgid "Type to search…"
|
||||
msgstr "Aramak için buraya yazın..."
|
||||
|
||||
#: ../js/ui/panel.js:351
|
||||
#: ../js/ui/panel.js:352
|
||||
msgid "Quit"
|
||||
msgstr "Kapat"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:403
|
||||
#: ../js/ui/panel.js:404
|
||||
msgid "Activities"
|
||||
msgstr "Etkinlikler"
|
||||
|
||||
#: ../js/ui/panel.js:754
|
||||
#: ../js/ui/panel.js:755
|
||||
msgid "Top Bar"
|
||||
msgstr "Tepe Çubuğu"
|
||||
|
||||
#: ../js/ui/popupMenu.js:288
|
||||
#: ../js/ui/popupMenu.js:289
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-intl"
|
||||
|
||||
@@ -1199,41 +996,41 @@ msgstr "Komut Girin"
|
||||
msgid "Close"
|
||||
msgstr "Kapat"
|
||||
|
||||
#: ../js/ui/runDialog.js:277
|
||||
#: ../js/ui/runDialog.js:281
|
||||
msgid "Restarting…"
|
||||
msgstr "Yeniden başlatılıyor..."
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format */
|
||||
#: ../js/ui/screenShield.js:88
|
||||
#: ../js/ui/screenShield.js:85
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%d %B %A"
|
||||
|
||||
#: ../js/ui/screenShield.js:147
|
||||
#: ../js/ui/screenShield.js:144
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
msgid_plural "%d new messages"
|
||||
msgstr[0] "%d yeni mesaj"
|
||||
|
||||
#: ../js/ui/screenShield.js:149
|
||||
#: ../js/ui/screenShield.js:146
|
||||
#, javascript-format
|
||||
msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d yeni bildirim"
|
||||
|
||||
#: ../js/ui/screenShield.js:434 ../js/ui/status/system.js:345
|
||||
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:345
|
||||
msgid "Lock"
|
||||
msgstr "Kilitle"
|
||||
|
||||
#: ../js/ui/screenShield.js:670
|
||||
#: ../js/ui/screenShield.js:668
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME'un ekranı kilitlemesi gerekiyor"
|
||||
|
||||
#: ../js/ui/screenShield.js:797 ../js/ui/screenShield.js:1273
|
||||
#: ../js/ui/screenShield.js:795 ../js/ui/screenShield.js:1271
|
||||
msgid "Unable to lock"
|
||||
msgstr "Kilitlenemedi"
|
||||
|
||||
#: ../js/ui/screenShield.js:798 ../js/ui/screenShield.js:1274
|
||||
#: ../js/ui/screenShield.js:796 ../js/ui/screenShield.js:1272
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Kilitleme bir uygulama tarafından engellendi"
|
||||
|
||||
@@ -1342,7 +1139,7 @@ msgstr "Bağlı Değil"
|
||||
msgid "Brightness"
|
||||
msgstr "Parlaklık"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:600
|
||||
#: ../js/ui/status/keyboard.js:599
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Klavye Düzenini Göster"
|
||||
|
||||
@@ -1740,6 +1537,146 @@ msgstr "Parola boş bırakılamaz"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Kimlik doğrulama penceresi kullanıcı tarafından kapatıldı"
|
||||
|
||||
#~| msgid "Show the message tray"
|
||||
#~ msgid "Show the message list"
|
||||
#~ msgstr "İleti listesini göster"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H∶%M"
|
||||
#~ msgstr "%H∶%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l∶%M %p"
|
||||
#~ msgstr "%l∶%M %p"
|
||||
|
||||
#~ msgid "Invitation"
|
||||
#~ msgstr "Davet"
|
||||
|
||||
#~ msgid "Call"
|
||||
#~ msgstr "Çağrı"
|
||||
|
||||
#~ msgid "File Transfer"
|
||||
#~ msgstr "Dosya Aktarımı"
|
||||
|
||||
#~ msgid "Chat"
|
||||
#~ msgstr "Sohbet"
|
||||
|
||||
#~ msgid "Invitation to %s"
|
||||
#~ msgstr "%s'e Davet"
|
||||
|
||||
#~ msgid "%s is inviting you to join %s"
|
||||
#~ msgstr "%s, sizi %s'e katılmanız için davet ediyor"
|
||||
|
||||
#~ msgid "Decline"
|
||||
#~ msgstr "Reddet"
|
||||
|
||||
#~ msgid "Accept"
|
||||
#~ msgstr "Kabul Et"
|
||||
|
||||
#~ msgid "Video call from %s"
|
||||
#~ msgstr "%s'den görüntülü arama"
|
||||
|
||||
#~ msgid "Call from %s"
|
||||
#~ msgstr "%s'den çağrı"
|
||||
|
||||
#~ msgid "Answer"
|
||||
#~ msgstr "Cevapla"
|
||||
|
||||
#~ msgid "%s is sending you %s"
|
||||
#~ msgstr "%s, size %s dosyasını gönderiyor"
|
||||
|
||||
#~ msgid "%s would like permission to see when you are online"
|
||||
#~ msgstr "%s, ne zaman çevrimiçi olduğunuzu görmek için izin istiyor"
|
||||
|
||||
#~ msgid "Network error"
|
||||
#~ msgstr "Ağ hatası"
|
||||
|
||||
#~ msgid "Authentication failed"
|
||||
#~ msgstr "Kimlik doğrulama başarısız"
|
||||
|
||||
#~ msgid "Encryption error"
|
||||
#~ msgstr "Şifreleme hatası"
|
||||
|
||||
#~ msgid "Certificate not provided"
|
||||
#~ msgstr "Sertifika sağlanmamış"
|
||||
|
||||
#~ msgid "Certificate untrusted"
|
||||
#~ msgstr "Sertifika güvenilmez"
|
||||
|
||||
#~ msgid "Certificate expired"
|
||||
#~ msgstr "Sertifikanın süresi dolmuş"
|
||||
|
||||
#~ msgid "Certificate not activated"
|
||||
#~ msgstr "Sertifika etkinleştirilmemiş"
|
||||
|
||||
#~ msgid "Certificate hostname mismatch"
|
||||
#~ msgstr "Sertifikanın makine adı uyuşmuyor"
|
||||
|
||||
#~ msgid "Certificate fingerprint mismatch"
|
||||
#~ msgstr "Sertifikanın parmak izi uyuşmuyor"
|
||||
|
||||
#~ msgid "Certificate self-signed"
|
||||
#~ msgstr "Sertifika kendinden-imzalı"
|
||||
|
||||
#~ msgid "Status is set to offline"
|
||||
#~ msgstr "Durum çevrimdışına ayarlı"
|
||||
|
||||
#~ msgid "Encryption is not available"
|
||||
#~ msgstr "Şifreleme kullanılabilir değil"
|
||||
|
||||
#~ msgid "Certificate is invalid"
|
||||
#~ msgstr "Sertifika geçersiz"
|
||||
|
||||
#~ msgid "Connection has been refused"
|
||||
#~ msgstr "Bağlantı reddedildi"
|
||||
|
||||
#~ msgid "Connection can't be established"
|
||||
#~ msgstr "Bağlantı kurulamıyor"
|
||||
|
||||
#~ msgid "Connection has been lost"
|
||||
#~ msgstr "Bağlantı koptu"
|
||||
|
||||
#~ msgid "This account is already connected to the server"
|
||||
#~ msgstr "Bu hesap zaten sunucuya bağlı"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Connection has been replaced by a new connection using the same resource"
|
||||
#~ msgstr "Bağlantı, aynı kaynağı kullanan yeni bir bağlantı ile değiştirildi"
|
||||
|
||||
#~ msgid "The account already exists on the server"
|
||||
#~ msgstr "Sunucuda böyle bir hesap zaten var"
|
||||
|
||||
#~ msgid "Server is currently too busy to handle the connection"
|
||||
#~ msgstr "Sunucu, şu anda bağlantıyı işleyemeyecek kadar meşgul"
|
||||
|
||||
#~ msgid "Certificate has been revoked"
|
||||
#~ msgstr "Sertifika hükümsüz kılınmış"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
#~ msgstr ""
|
||||
#~ "Sertifika güvensiz bir şifreleme algoritması kullanıyor ya da "
|
||||
#~ "kriptografik olarak zayıf"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The length of the server certificate, or the depth of the server "
|
||||
#~ "certificate chain, exceed the limits imposed by the cryptography library"
|
||||
#~ msgstr ""
|
||||
#~ "Sunucu sertifikasının uzunluğu ya da sunucu sertifikası zincirinin "
|
||||
#~ "derinliği, şifreleme kütüphanesi tarafından koyulan sınırları aşıyor"
|
||||
|
||||
#~ msgid "Internal error"
|
||||
#~ msgstr "İç hata"
|
||||
|
||||
#~ msgid "Unable to connect to %s"
|
||||
#~ msgstr "%s bağlantısı sağlanamadı"
|
||||
|
||||
#~ msgid "View account"
|
||||
#~ msgstr "Hesabı göster"
|
||||
|
||||
#~ msgid "Unknown reason"
|
||||
#~ msgstr "Bilinmeyen sebep"
|
||||
|
||||
#~ msgctxt "list sunday"
|
||||
#~ msgid "Su"
|
||||
#~ msgstr "Pa"
|
||||
|
||||
@@ -80,6 +80,7 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *id;
|
||||
char *uid;
|
||||
char *rid;
|
||||
char *backend_name;
|
||||
@@ -348,6 +349,9 @@ calendar_appointment_free (CalendarAppointment *appointment)
|
||||
g_slist_free (appointment->occurrences);
|
||||
appointment->occurrences = NULL;
|
||||
|
||||
g_free (appointment->id);
|
||||
appointment->id = NULL;
|
||||
|
||||
g_free (appointment->uid);
|
||||
appointment->uid = NULL;
|
||||
|
||||
@@ -376,6 +380,8 @@ calendar_appointment_init (CalendarAppointment *appointment,
|
||||
ECalClient *cal,
|
||||
icaltimezone *default_zone)
|
||||
{
|
||||
const char *source_uid;
|
||||
|
||||
appointment->uid = get_ical_uid (ical);
|
||||
appointment->rid = get_ical_rid (ical);
|
||||
appointment->backend_name = get_source_backend_name (cal);
|
||||
@@ -387,6 +393,16 @@ calendar_appointment_init (CalendarAppointment *appointment,
|
||||
appointment->is_all_day = get_ical_is_all_day (ical,
|
||||
appointment->start_time,
|
||||
default_zone);
|
||||
|
||||
/* While the UID is usually enough to identify an event, only the triple
|
||||
* of (source,UID,RID) is fully unambiguous; neither may contain '\n',
|
||||
* so we can safely use it to create a unique ID from the triple
|
||||
*/
|
||||
source_uid = e_source_get_uid (e_client_get_source (E_CLIENT (cal)));
|
||||
appointment->id = g_strdup_printf ("%s\n%s\n%s",
|
||||
source_uid,
|
||||
appointment->uid,
|
||||
appointment->rid ? appointment->rid : "");
|
||||
}
|
||||
|
||||
static icaltimezone *
|
||||
@@ -916,7 +932,7 @@ handle_method_call (GDBusConnection *connection,
|
||||
g_variant_builder_init (&extras_builder, G_VARIANT_TYPE ("a{sv}"));
|
||||
g_variant_builder_add (&builder,
|
||||
"(sssbxxa{sv})",
|
||||
a->uid,
|
||||
a->id,
|
||||
a->summary != NULL ? a->summary : "",
|
||||
a->description != NULL ? a->description : "",
|
||||
(gboolean) a->is_all_day,
|
||||
|
||||
@@ -216,18 +216,10 @@ shell_app_create_icon_texture (ShellApp *app,
|
||||
|
||||
ret = st_icon_new ();
|
||||
st_icon_set_icon_size (ST_ICON (ret), size);
|
||||
st_icon_set_fallback_icon_name (ST_ICON (ret), "application-x-executable");
|
||||
|
||||
icon = g_app_info_get_icon (G_APP_INFO (app->info));
|
||||
if (icon != NULL)
|
||||
{
|
||||
st_icon_set_gicon (ST_ICON (ret), icon);
|
||||
}
|
||||
else
|
||||
{
|
||||
icon = g_themed_icon_new ("application-x-executable");
|
||||
st_icon_set_gicon (ST_ICON (ret), icon);
|
||||
g_object_unref (icon);
|
||||
}
|
||||
st_icon_set_gicon (ST_ICON (ret), icon);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -38,7 +38,8 @@ enum
|
||||
|
||||
PROP_GICON,
|
||||
PROP_ICON_NAME,
|
||||
PROP_ICON_SIZE
|
||||
PROP_ICON_SIZE,
|
||||
PROP_FALLBACK_ICON_NAME
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (StIcon, st_icon, ST_TYPE_WIDGET)
|
||||
@@ -56,6 +57,7 @@ struct _StIconPrivate
|
||||
gint prop_icon_size; /* icon size set as property */
|
||||
gint theme_icon_size; /* icon size from theme node */
|
||||
gint icon_size; /* icon size we are using */
|
||||
GIcon *fallback_gicon;
|
||||
|
||||
CoglPipeline *shadow_pipeline;
|
||||
float shadow_width;
|
||||
@@ -90,6 +92,10 @@ st_icon_set_property (GObject *gobject,
|
||||
st_icon_set_icon_size (icon, g_value_get_int (value));
|
||||
break;
|
||||
|
||||
case PROP_FALLBACK_ICON_NAME:
|
||||
st_icon_set_fallback_icon_name (icon, g_value_get_string (value));
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
||||
break;
|
||||
@@ -118,6 +124,10 @@ st_icon_get_property (GObject *gobject,
|
||||
g_value_set_int (value, st_icon_get_icon_size (icon));
|
||||
break;
|
||||
|
||||
case PROP_FALLBACK_ICON_NAME:
|
||||
g_value_set_string (value, st_icon_get_fallback_icon_name (icon));
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
|
||||
break;
|
||||
@@ -143,6 +153,7 @@ st_icon_dispose (GObject *gobject)
|
||||
}
|
||||
|
||||
g_clear_object (&priv->gicon);
|
||||
g_clear_object (&priv->fallback_gicon);
|
||||
g_clear_pointer (&priv->shadow_pipeline, cogl_object_unref);
|
||||
g_clear_pointer (&priv->shadow_spec, st_shadow_unref);
|
||||
|
||||
@@ -238,6 +249,12 @@ st_icon_class_init (StIconClass *klass)
|
||||
-1, G_MAXINT, -1,
|
||||
ST_PARAM_READWRITE);
|
||||
g_object_class_install_property (object_class, PROP_ICON_SIZE, pspec);
|
||||
|
||||
pspec = g_param_spec_string ("fallback-icon-name",
|
||||
"Fallback icon name",
|
||||
"A fallback icon name",
|
||||
NULL, ST_PARAM_READWRITE);
|
||||
g_object_class_install_property (object_class, PROP_FALLBACK_ICON_NAME, pspec);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -357,14 +374,20 @@ st_icon_update (StIcon *icon)
|
||||
g_object_get (context, "scale-factor", &scale, NULL);
|
||||
|
||||
cache = st_texture_cache_get_default ();
|
||||
if (priv->gicon)
|
||||
{
|
||||
priv->pending_texture = st_texture_cache_load_gicon (cache,
|
||||
theme_node,
|
||||
priv->gicon,
|
||||
priv->icon_size,
|
||||
scale);
|
||||
}
|
||||
|
||||
if (priv->gicon != NULL)
|
||||
priv->pending_texture = st_texture_cache_load_gicon (cache,
|
||||
theme_node,
|
||||
priv->gicon,
|
||||
priv->icon_size,
|
||||
scale);
|
||||
|
||||
if (priv->pending_texture == NULL && priv->fallback_gicon != NULL)
|
||||
priv->pending_texture = st_texture_cache_load_gicon (cache,
|
||||
theme_node,
|
||||
priv->fallback_gicon,
|
||||
priv->icon_size,
|
||||
scale);
|
||||
|
||||
if (priv->pending_texture)
|
||||
{
|
||||
@@ -569,3 +592,47 @@ st_icon_set_icon_size (StIcon *icon,
|
||||
g_object_notify (G_OBJECT (icon), "icon-size");
|
||||
}
|
||||
}
|
||||
|
||||
const gchar *
|
||||
st_icon_get_fallback_icon_name (StIcon *icon)
|
||||
{
|
||||
StIconPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_ICON (icon), NULL);
|
||||
|
||||
priv = icon->priv;
|
||||
|
||||
if (priv->fallback_gicon && G_IS_THEMED_ICON (priv->fallback_gicon))
|
||||
return g_themed_icon_get_names (G_THEMED_ICON (priv->fallback_gicon)) [0];
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
st_icon_set_fallback_icon_name (StIcon *icon,
|
||||
const gchar *fallback_icon_name)
|
||||
{
|
||||
StIconPrivate *priv = icon->priv;
|
||||
GIcon *gicon = NULL;
|
||||
|
||||
g_return_if_fail (ST_IS_ICON (icon));
|
||||
|
||||
if (fallback_icon_name != NULL)
|
||||
gicon = g_themed_icon_new_with_default_fallbacks (fallback_icon_name);
|
||||
|
||||
if (g_icon_equal (priv->fallback_gicon, gicon)) /* do nothing */
|
||||
{
|
||||
if (gicon)
|
||||
g_object_unref (gicon);
|
||||
return;
|
||||
}
|
||||
|
||||
if (priv->fallback_gicon)
|
||||
g_object_unref (priv->fallback_gicon);
|
||||
|
||||
priv->fallback_gicon = gicon;
|
||||
|
||||
g_object_notify (G_OBJECT (icon), "fallback-icon-name");
|
||||
|
||||
st_icon_update (icon);
|
||||
}
|
||||
|
||||
@@ -94,6 +94,9 @@ void st_icon_set_icon_size (StIcon *icon, gint size);
|
||||
void st_icon_set_gicon (StIcon *icon, GIcon *gicon);
|
||||
GIcon *st_icon_get_gicon (StIcon *icon);
|
||||
|
||||
void st_icon_set_fallback_icon_name (StIcon *icon, const gchar *icon_name);
|
||||
const gchar *st_icon_get_fallback_icon_name (StIcon *icon);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* _ST_ICON */
|
||||
|
||||
Reference in New Issue
Block a user