on xenial help sign in
Merge unity8
8478653Albert Astals
CMakeLists.txt+5
@@ -61,6 +61,11 @@ include(GNUInstallDirs)
61set(SHELL_APP_DIR ${CMAKE_INSTALL_DATADIR}/unity8)
61set(SHELL_APP_DIR ${CMAKE_INSTALL_DATADIR}/unity8)
62set(SHELL_PRIVATE_LIBDIR ${CMAKE_INSTALL_LIBDIR}/unity8)
62set(SHELL_PRIVATE_LIBDIR ${CMAKE_INSTALL_LIBDIR}/unity8)
63
63
64+execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=plugin_private_module_dir SystemSettings OUTPUT_VARIABLE USS_PRIVATE_PLUGINDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
65+if(USS_PRIVATE_PLUGINDIR STREQUAL "")
66+ message(FATAL_ERROR "Could not determine USS private plugin installation dir.")
67+endif()
68+
64execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=plugindir_suffix unity-shell-api OUTPUT_VARIABLE SHELL_INSTALL_QML OUTPUT_STRIP_TRAILING_WHITESPACE)
69execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=plugindir_suffix unity-shell-api OUTPUT_VARIABLE SHELL_INSTALL_QML OUTPUT_STRIP_TRAILING_WHITESPACE)
65if(SHELL_INSTALL_QML STREQUAL "")
70if(SHELL_INSTALL_QML STREQUAL "")
66 message(FATAL_ERROR "Could not determine plugin installation dir.")
71 message(FATAL_ERROR "Could not determine plugin installation dir.")
build.sh+1
@@ -54,6 +54,7 @@ install_dependencies() {
54 qtdeclarative5-unity-notifications-plugin \
54 qtdeclarative5-unity-notifications-plugin \
55 qml-module-ubuntu-connectivity \
55 qml-module-ubuntu-connectivity \
56 ubuntu-mobile-icons \
56 ubuntu-mobile-icons \
57+ ubuntu-system-settings \
57 unity-plugin-scopes \
58 unity-plugin-scopes \
58 xvfb \
59 xvfb \
59 || exit 5
60 || exit 5
debian/changelog+56
@@ -1,3 +1,59 @@
1+unity8 (8.01+15.04.20141205-0ubuntu1) vivid; urgency=low
2+
3+ [ CI Train Bot ]
4+ * Resync trunk
5+
6+ [ Albert Astals ]
7+ * Replace Scopes Overview by the new Manage Dash (LP: #1386698,
8+ #1368670)
9+
10+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 05 Dec 2014 10:55:50 +0000
11+
12+unity8 (8.01+15.04.20141204-0ubuntu1) vivid; urgency=low
13+
14+ [ Michael Terry ]
15+ * Import wizard code from ubuntu-system-settings.
16+ * Convert the welcome wizard from a separate executable into a qml
17+ plugin (with a small C++ plugin for support).
18+ * Add tests for welcome wizard.
19+
20+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 04 Dec 2014 20:55:11 +0000
21+
22+unity8 (8.01+15.04.20141202-0ubuntu1) vivid; urgency=low
23+
24+ [ Michael Terry ]
25+ * Make sure that there is no window of opportunity for swiping away
26+ greeter before the lockscreen appears.
27+ * Don't allow dragging the greeter out from the left edge if it's
28+ hidden there. (LP: #1372952)
29+
30+ [ Michał Sawicz ]
31+ * Move from Theme colour to direct UbuntuColors.orange for activity
32+ indicator and preview buttons
33+
34+ [ Albert Astals ]
35+ * Use QImageReader not to load the image into memory twice (LP:
36+ #1384374)
37+ * Don't create the whole current scope delegates, just height * 3 (LP:
38+ #1384393, #1384374)
39+ * Make CroppedImageSizer async
40+ * Use ubuntu::connectivity::NetworkingStatus instead of
41+ QNetworkConfigurationManager
42+ * Compile with Qt 5.4 (LP: #1395636)
43+
44+ [ Michael Zanetti ]
45+ * close previews and temp scopes on left edge/BFB (LP: #1391798)
46+ * make spread reversible (LP: #1368668, #1355284, #1368677)
47+
48+ [ Andrea Cimitan ]
49+ * Different drag behaviour for not closable apps in spread (LP:
50+ #1368287)
51+
52+ [ Daniel d'Andrada ]
53+ * Make UnityTestCase.touchFlick properly map event coordinates
54+
55+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 02 Dec 2014 09:26:49 +0000
56+
1unity8 (8.01+15.04.20141125.2-0ubuntu1) vivid; urgency=low
57unity8 (8.01+15.04.20141125.2-0ubuntu1) vivid; urgency=low
2
58
3 [ Michael Zanetti ]
59 [ Michael Zanetti ]
debian/control+9−2
@@ -12,6 +12,7 @@ Build-Depends: cmake,
12# in libstdc++ causing us issues, we explicitly select a G++
12# in libstdc++ causing us issues, we explicitly select a G++
13# version.
13# version.
14 g++-4.9,
14 g++-4.9,
15+ libconnectivity-qt1-dev,
15 libgl1-mesa-dev[!armhf] | libgl-dev[!armhf],
16 libgl1-mesa-dev[!armhf] | libgl-dev[!armhf],
16 libgl1-mesa-dri,
17 libgl1-mesa-dri,
17 libgles2-mesa-dev[armhf],
18 libgles2-mesa-dev[armhf],
@@ -23,7 +24,8 @@ Build-Depends: cmake,
23 libpulse-dev,
24 libpulse-dev,
24 libqmenumodel-dev (>= 0.2.8),
25 libqmenumodel-dev (>= 0.2.8),
25 libqt5xmlpatterns5-dev,
26 libqt5xmlpatterns5-dev,
27+ libsystemsettings-dev,
26− libunity-api-dev (>= 7.93),
28+ libunity-api-dev (>= 7.94),
27 libusermetricsoutput1-dev,
29 libusermetricsoutput1-dev,
28 libxcb1-dev,
30 libxcb1-dev,
29 pkg-config,
31 pkg-config,
@@ -31,6 +33,7 @@ Build-Depends: cmake,
31 python3-all:any,
33 python3-all:any,
32 python3-setuptools,
34 python3-setuptools,
33 python:any (>= 2.7),
35 python:any (>= 2.7),
36+ qml-module-qt-labs-folderlistmodel,
34 qml-module-qtquick-layouts,
37 qml-module-qtquick-layouts,
35 qml-module-qtquick-xmllistmodel,
38 qml-module-qtquick-xmllistmodel,
36 qml-module-qtquick2,
39 qml-module-qtquick2,
@@ -45,6 +48,7 @@ Build-Depends: cmake,
45 qtdeclarative5-qtmultimedia-plugin,
48 qtdeclarative5-qtmultimedia-plugin,
46 qtdeclarative5-ubuntu-settings-components (>= 0.4),
49 qtdeclarative5-ubuntu-settings-components (>= 0.4),
47 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.1.1239) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.1.1239),
50 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.1.1239) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.1.1239),
51+ qtdeclarative5-ubuntu-web-plugin,
48 ttf-ubuntu-font-family,
52 ttf-ubuntu-font-family,
49Standards-Version: 3.9.4
53Standards-Version: 3.9.4
50Homepage: http://launchpad.net/unity
54Homepage: http://launchpad.net/unity
@@ -82,10 +86,13 @@ Depends: gsettings-desktop-schemas,
82 libcap2-bin,
86 libcap2-bin,
83 libglib2.0-bin,
87 libglib2.0-bin,
84 qmenumodel-qml (>= 0.2.8),
88 qmenumodel-qml (>= 0.2.8),
89+ qml-module-qt-labs-folderlistmodel,
85 qml-module-qtquick-xmllistmodel,
90 qml-module-qtquick-xmllistmodel,
86 qtdeclarative5-gsettings1.0,
91 qtdeclarative5-gsettings1.0,
87 qtdeclarative5-qtmir-plugin (>= 0.4.4),
92 qtdeclarative5-qtmir-plugin (>= 0.4.4),
88 qtdeclarative5-ubuntu-telephony0.1,
93 qtdeclarative5-ubuntu-telephony0.1,
94+ qtdeclarative5-ubuntu-web-plugin,
95+ ubuntu-system-settings,
89 unity-launcher-impl-4,
96 unity-launcher-impl-4,
90 unity8-common (= ${source:Version}),
97 unity8-common (= ${source:Version}),
91 unity8-private (= ${binary:Version}),
98 unity8-private (= ${binary:Version}),
@@ -100,6 +107,7 @@ Breaks: indicator-network (<< 0.5.1+14.10.20141014),
100 unity8-greeter (<< 7.89),
107 unity8-greeter (<< 7.89),
101Replaces: ubuntu-touch-session (<< 0.82~),
108Replaces: ubuntu-touch-session (<< 0.82~),
102 unity8-greeter (<< 7.89),
109 unity8-greeter (<< 7.89),
110+Conflicts: ubuntu-system-settings-wizard,
103Description: Unity 8 shell
111Description: Unity 8 shell
104 The Unity 8 shell is the primary user interface for Ubuntu devices.
112 The Unity 8 shell is the primary user interface for Ubuntu devices.
105
113
@@ -173,7 +181,6 @@ Depends: accountsservice-ubuntu-schemas (>= 0.0.3),
173 libhardware2,
181 libhardware2,
174 unity-schemas (>= 7.3.1+14.10.20140915),
182 unity-schemas (>= 7.3.1+14.10.20140915),
175 pay-service,
183 pay-service,
176− qml-module-ubuntu-connectivity,
177 ${misc:Depends},
184 ${misc:Depends},
178 ${shlibs:Depends},
185 ${shlibs:Depends},
179Provides: unity-launcher-impl,
186Provides: unity-launcher-impl,
debian/unity8-common.install+1
@@ -3,3 +3,4 @@ usr/share/unity8/Components
3usr/share/unity8/Dash
3usr/share/unity8/Dash
4usr/share/unity8/Notifications
4usr/share/unity8/Notifications
5usr/share/unity8/graphics
5usr/share/unity8/graphics
6+var/lib/polkit-1/localauthority/10-vendor.d
debian/unity8-private.install+1
@@ -9,6 +9,7 @@ usr/lib/*/unity8/qml/ScreenGrabber
9usr/lib/*/unity8/qml/Ubuntu
9usr/lib/*/unity8/qml/Ubuntu
10usr/lib/*/unity8/qml/Unity
10usr/lib/*/unity8/qml/Unity
11usr/lib/*/unity8/qml/Utils
11usr/lib/*/unity8/qml/Utils
12+usr/lib/*/unity8/qml/Wizard
12usr/lib/*/unity8/libUbuntuGestures*
13usr/lib/*/unity8/libUbuntuGestures*
13usr/share/accountsservice/interfaces
14usr/share/accountsservice/interfaces
14usr/share/dbus-1/interfaces
15usr/share/dbus-1/interfaces
debian/unity8.install+1
@@ -10,4 +10,5 @@ usr/share/unity8/Launcher
10usr/share/unity8/Panel
10usr/share/unity8/Panel
11usr/share/unity8/Shell.qml
11usr/share/unity8/Shell.qml
12usr/share/unity8/Stages
12usr/share/unity8/Stages
13+usr/share/unity8/Wizard
13usr/share/url-dispatcher/urls/unity8-dash.url-dispatcher
14usr/share/url-dispatcher/urls/unity8-dash.url-dispatcher
include/paths.h.in+2
@@ -71,9 +71,11 @@ inline QStringList fallbackImportPaths() {
71 QStringList paths;
71 QStringList paths;
72 if (isRunningInstalled()) {
72 if (isRunningInstalled()) {
73 paths << QString("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@");
73 paths << QString("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@");
74+ paths << QString("@USS_PRIVATE_PLUGINDIR@");
74 paths << QString("@SHELL_PLUGINDIR@");
75 paths << QString("@SHELL_PLUGINDIR@");
75 paths << QString("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
76 paths << QString("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
76 } else {
77 } else {
78+ paths << QString("@USS_PRIVATE_PLUGINDIR@");
77 paths << QString("@SHELL_PLUGINDIR@");
79 paths << QString("@SHELL_PLUGINDIR@");
78 paths << QString("@CMAKE_BINARY_DIR@/tests/mocks");
80 paths << QString("@CMAKE_BINARY_DIR@/tests/mocks");
79 }
81 }
plugins/AccountsService/AccountsService.cpp+61−2
@@ -19,23 +19,28 @@
19#include "AccountsService.h"
19#include "AccountsService.h"
20#include "AccountsServiceDBusAdaptor.h"
20#include "AccountsServiceDBusAdaptor.h"
21
21
22+#include <QFile>
22#include <QStringList>
23#include <QStringList>
23
24
24AccountsService::AccountsService(QObject* parent)
25AccountsService::AccountsService(QObject* parent)
25 : QObject(parent),
26 : QObject(parent),
26 m_service(new AccountsServiceDBusAdaptor(this)),
27 m_service(new AccountsServiceDBusAdaptor(this)),
27− m_user(qgetenv("USER")),
28+ m_user(""),
28 m_demoEdges(false),
29 m_demoEdges(false),
29 m_enableLauncherWhileLocked(false),
30 m_enableLauncherWhileLocked(false),
30 m_enableIndicatorsWhileLocked(false),
31 m_enableIndicatorsWhileLocked(false),
31 m_statsWelcomeScreen(false),
32 m_statsWelcomeScreen(false),
32 m_passwordDisplayHint(Keyboard),
33 m_passwordDisplayHint(Keyboard),
33− m_failedLogins(0)
34+ m_failedLogins(0),
35+ m_hereEnabled(false),
36+ m_hereLicensePath() // null means not set yet
34{
37{
35 connect(m_service, SIGNAL(propertiesChanged(const QString &, const QString &, const QStringList &)),
38 connect(m_service, SIGNAL(propertiesChanged(const QString &, const QString &, const QStringList &)),
36 this, SLOT(propertiesChanged(const QString &, const QString &, const QStringList &)));
39 this, SLOT(propertiesChanged(const QString &, const QString &, const QStringList &)));
37 connect(m_service, SIGNAL(maybeChanged(const QString &)),
40 connect(m_service, SIGNAL(maybeChanged(const QString &)),
38 this, SLOT(maybeChanged(const QString &)));
41 this, SLOT(maybeChanged(const QString &)));
42+
43+ setUser(qgetenv("USER"));
39}
44}
40
45
41QString AccountsService::user() const
46QString AccountsService::user() const
@@ -45,6 +50,9 @@ QString AccountsService::user() const
45
50
46void AccountsService::setUser(const QString &user)
51void AccountsService::setUser(const QString &user)
47{
52{
53+ if (user.isEmpty() || m_user == user)
54+ return;
55+
48 m_user = user;
56 m_user = user;
49 Q_EMIT userChanged();
57 Q_EMIT userChanged();
50
58
@@ -55,6 +63,8 @@ void AccountsService::setUser(const QString &user)
55 updateStatsWelcomeScreen();
63 updateStatsWelcomeScreen();
56 updatePasswordDisplayHint();
64 updatePasswordDisplayHint();
57 updateFailedLogins();
65 updateFailedLogins();
66+ updateHereEnabled();
67+ updateHereLicensePath();
58}
68}
59
69
60bool AccountsService::demoEdges() const
70bool AccountsService::demoEdges() const
@@ -93,6 +103,26 @@ AccountsService::PasswordDisplayHint AccountsService::passwordDisplayHint() cons
93 return m_passwordDisplayHint;
103 return m_passwordDisplayHint;
94}
104}
95
105
106+bool AccountsService::hereEnabled() const
107+{
108+ return m_hereEnabled;
109+}
110+
111+void AccountsService::setHereEnabled(bool enabled)
112+{
113+ m_service->setUserProperty(m_user, "com.ubuntu.location.providers.here.AccountsService", "LicenseAccepted", enabled);
114+}
115+
116+QString AccountsService::hereLicensePath() const
117+{
118+ return m_hereLicensePath;
119+}
120+
121+bool AccountsService::hereLicensePathValid() const
122+{
123+ return !m_hereLicensePath.isNull();
124+}
125+
96void AccountsService::updateDemoEdges()
126void AccountsService::updateDemoEdges()
97{
127{
98 auto demoEdges = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges").toBool();
128 auto demoEdges = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges").toBool();
@@ -156,6 +186,28 @@ void AccountsService::updateFailedLogins()
156 }
186 }
157}
187}
158
188
189+void AccountsService::updateHereEnabled()
190+{
191+ bool hereEnabled = m_service->getUserProperty(m_user, "com.ubuntu.location.providers.here.AccountsService", "LicenseAccepted").toBool();
192+ if (m_hereEnabled != hereEnabled) {
193+ m_hereEnabled = hereEnabled;
194+ Q_EMIT hereEnabledChanged();
195+ }
196+}
197+
198+void AccountsService::updateHereLicensePath()
199+{
200+ QString hereLicensePath = m_service->getUserProperty(m_user, "com.ubuntu.location.providers.here.AccountsService", "LicenseBasePath").toString();
201+
202+ if (hereLicensePath.isEmpty() || !QFile::exists(hereLicensePath))
203+ hereLicensePath = "";
204+
205+ if (m_hereLicensePath.isNull() || m_hereLicensePath != hereLicensePath) {
206+ m_hereLicensePath = hereLicensePath;
207+ Q_EMIT hereLicensePathChanged();
208+ }
209+}
210+
159uint AccountsService::failedLogins() const
211uint AccountsService::failedLogins() const
160{
212{
161 return m_failedLogins;
213 return m_failedLogins;
@@ -195,6 +247,13 @@ void AccountsService::propertiesChanged(const QString &user, const QString &inte
195 if (changed.contains("EnableIndicatorsWhileLocked")) {
247 if (changed.contains("EnableIndicatorsWhileLocked")) {
196 updateEnableIndicatorsWhileLocked();
248 updateEnableIndicatorsWhileLocked();
197 }
249 }
250+ } else if (interface == "com.ubuntu.location.providers.here.AccountsService") {
251+ if (changed.contains("LicenseAccepted")) {
252+ updateHereEnabled();
253+ }
254+ if (changed.contains("LicenseBasePath")) {
255+ updateHereLicensePath();
256+ }
198 }
257 }
199}
258}
200
259
plugins/AccountsService/AccountsService.h+20
@@ -55,6 +55,16 @@ class AccountsService: public QObject
55 READ failedLogins
55 READ failedLogins
56 WRITE setFailedLogins
56 WRITE setFailedLogins
57 NOTIFY failedLoginsChanged)
57 NOTIFY failedLoginsChanged)
58+ Q_PROPERTY(bool hereEnabled
59+ READ hereEnabled
60+ WRITE setHereEnabled
61+ NOTIFY hereEnabledChanged)
62+ Q_PROPERTY(QString hereLicensePath
63+ READ hereLicensePath
64+ NOTIFY hereLicensePathChanged)
65+ Q_PROPERTY(bool hereLicensePathValid // qml sees a null string as "", so we use proxy setting for that
66+ READ hereLicensePathValid
67+ NOTIFY hereLicensePathChanged)
58
68
59public:
69public:
60 enum PasswordDisplayHint {
70 enum PasswordDisplayHint {
@@ -75,6 +85,10 @@ public:
75 PasswordDisplayHint passwordDisplayHint() const;
85 PasswordDisplayHint passwordDisplayHint() const;
76 uint failedLogins() const;
86 uint failedLogins() const;
77 void setFailedLogins(uint failedLogins);
87 void setFailedLogins(uint failedLogins);
88+ bool hereEnabled() const;
89+ void setHereEnabled(bool enabled);
90+ QString hereLicensePath() const;
91+ bool hereLicensePathValid() const;
78
92
79Q_SIGNALS:
93Q_SIGNALS:
80 void userChanged();
94 void userChanged();
@@ -85,6 +99,8 @@ Q_SIGNALS:
85 void statsWelcomeScreenChanged();
99 void statsWelcomeScreenChanged();
86 void passwordDisplayHintChanged();
100 void passwordDisplayHintChanged();
87 void failedLoginsChanged();
101 void failedLoginsChanged();
102+ void hereEnabledChanged();
103+ void hereLicensePathChanged();
88
104
89private Q_SLOTS:
105private Q_SLOTS:
90 void propertiesChanged(const QString &user, const QString &interface, const QStringList &changed);
106 void propertiesChanged(const QString &user, const QString &interface, const QStringList &changed);
@@ -98,6 +114,8 @@ private:
98 void updateStatsWelcomeScreen();
114 void updateStatsWelcomeScreen();
99 void updatePasswordDisplayHint();
115 void updatePasswordDisplayHint();
100 void updateFailedLogins();
116 void updateFailedLogins();
117+ void updateHereEnabled();
118+ void updateHereLicensePath();
101
119
102 AccountsServiceDBusAdaptor *m_service;
120 AccountsServiceDBusAdaptor *m_service;
103 QString m_user;
121 QString m_user;
@@ -108,6 +126,8 @@ private:
108 bool m_statsWelcomeScreen;
126 bool m_statsWelcomeScreen;
109 PasswordDisplayHint m_passwordDisplayHint;
127 PasswordDisplayHint m_passwordDisplayHint;
110 uint m_failedLogins;
128 uint m_failedLogins;
129+ bool m_hereEnabled;
130+ QString m_hereLicensePath;
111};
131};
112
132
113#endif
133#endif
plugins/CMakeLists.txt+1
@@ -21,3 +21,4 @@ add_subdirectory(ScreenGrabber)
21add_subdirectory(Ubuntu)
21add_subdirectory(Ubuntu)
22add_subdirectory(Unity)
22add_subdirectory(Unity)
23add_subdirectory(Utils)
23add_subdirectory(Utils)
24+add_subdirectory(Wizard)
plugins/Dash/CMakeLists.txt+3−2
@@ -11,7 +11,6 @@ include_directories(
11 ${CMAKE_CURRENT_SOURCE_DIR}
11 ${CMAKE_CURRENT_SOURCE_DIR}
12 ${CMAKE_CURRENT_BINARY_DIR}
12 ${CMAKE_CURRENT_BINARY_DIR}
13 ${Qt5Qml_PRIVATE_INCLUDE_DIRS}
13 ${Qt5Qml_PRIVATE_INCLUDE_DIRS}
14− ${Qt5Quick_INCLUDE_DIRS}
15 ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
14 ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
16 ${Qt5V8_PRIVATE_INCLUDE_DIR}
15 ${Qt5V8_PRIVATE_INCLUDE_DIR}
17)
16)
@@ -25,6 +24,8 @@ set(QMLPLUGIN_SRC
25 verticaljournal.cpp
24 verticaljournal.cpp
26 horizontaljournal.cpp
25 horizontaljournal.cpp
27 organicgrid.cpp
26 organicgrid.cpp
27+ croppedimagesizer.cpp
28+ croppedimagesizerasyncworker.cpp
28 )
29 )
29
30
30add_library(Dash-qml MODULE
31add_library(Dash-qml MODULE
@@ -36,6 +37,6 @@ target_link_libraries(Dash-qml
36 ${Qt5Quick_LIBRARIES}
37 ${Qt5Quick_LIBRARIES}
37 )
38 )
38
39
39−qt5_use_modules(Dash-qml Qml Quick)
40+qt5_use_modules(Dash-qml Qml Quick Concurrent)
40
41
41add_unity8_plugin(Dash 0.1 Dash TARGETS Dash-qml)
42add_unity8_plugin(Dash 0.1 Dash TARGETS Dash-qml)
plugins/Dash/CardCreator.js+8−10
@@ -82,16 +82,16 @@ var kArtShapeHolderCode = 'Item { \n\
82 height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height }); \n\
82 height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height }); \n\
83 } \n\
83 } \n\
84 } \n\
84 } \n\
85− image: CroppedImageMinimumSourceSize { \n\
85+ CroppedImageMinimumSourceSize { \n\
86+ id: artImage; \n\
86 objectName: "artImage"; \n\
87 objectName: "artImage"; \n\
87− property bool doLoadSource: !NetworkingStatus.limitedBandwith; \n\
88− source: { if (root.visible) doLoadSource = true; return doLoadSource && cardData && cardData["art"] || ""; } \n\
88+ source: cardData && cardData["art"] || ""; \n\
89− cache: true; \n\
90 asynchronous: root.asynchronous; \n\
89 asynchronous: root.asynchronous; \n\
91 visible: false; \n\
90 visible: false; \n\
92 width: %2; \n\
91 width: %2; \n\
93 height: %3; \n\
92 height: %3; \n\
94 } \n\
93 } \n\
94+ image: artImage.image; \n\
95 } \n\
95 } \n\
96 } \n\
96 } \n\
97 }\n';
97 }\n';
@@ -181,11 +181,11 @@ var kMascotShapeLoaderCode = 'Loader { \n\
181 id: mascotShapeLoader; \n\
181 id: mascotShapeLoader; \n\
182 objectName: "mascotShapeLoader"; \n\
182 objectName: "mascotShapeLoader"; \n\
183 asynchronous: root.asynchronous; \n\
183 asynchronous: root.asynchronous; \n\
184− active: mascotImage.status === Image.Ready; \n\
184+ active: mascotImage.image.status === Image.Ready; \n\
185 visible: showHeader && active && status == Loader.Ready; \n\
185 visible: showHeader && active && status == Loader.Ready; \n\
186 width: units.gu(6); \n\
186 width: units.gu(6); \n\
187 height: units.gu(5.625); \n\
187 height: units.gu(5.625); \n\
188− sourceComponent: UbuntuShape { image: mascotImage } \n\
188+ sourceComponent: UbuntuShape { image: mascotImage.image } \n\
189 anchors { %1 } \n\
189 anchors { %1 } \n\
190 }\n';
190 }\n';
191
191
@@ -195,8 +195,7 @@ var kMascotImageCode = 'CroppedImageMinimumSourceSize { \n\
195 id: mascotImage; \n\
195 id: mascotImage; \n\
196 objectName: "mascotImage"; \n\
196 objectName: "mascotImage"; \n\
197 anchors { %1 } \n\
197 anchors { %1 } \n\
198− property bool doLoadSource: !NetworkingStatus.limitedBandwith; \n\
199− source: { if (root.visible) doLoadSource = true; return doLoadSource && cardData && cardData["mascot"] || ""; } \n\
198+ source: cardData && cardData["mascot"] || ""; \n\
200 width: units.gu(6); \n\
199 width: units.gu(6); \n\
201 height: units.gu(5.625); \n\
200 height: units.gu(5.625); \n\
202 horizontalAlignment: Image.AlignHCenter; \n\
201 horizontalAlignment: Image.AlignHCenter; \n\
@@ -435,7 +434,7 @@ function cardString(template, components) {
435 mascotShapeCode = kMascotShapeLoaderCode.arg(mascotAnchors);
434 mascotShapeCode = kMascotShapeLoaderCode.arg(mascotAnchors);
436 }
435 }
437
436
438− var mascotImageVisible = useMascotShape ? 'false' : 'showHeader && resized';
437+ var mascotImageVisible = useMascotShape ? 'false' : 'showHeader';
439 mascotCode = kMascotImageCode.arg(mascotAnchors).arg(mascotImageVisible);
438 mascotCode = kMascotImageCode.arg(mascotAnchors).arg(mascotImageVisible);
440 }
439 }
441
440
@@ -655,7 +654,6 @@ function createCardComponent(parent, template, components) {
655 var imports = 'import QtQuick 2.2; \n\
654 var imports = 'import QtQuick 2.2; \n\
656 import Ubuntu.Components 1.1; \n\
655 import Ubuntu.Components 1.1; \n\
657 import Ubuntu.Settings.Components 0.1; \n\
656 import Ubuntu.Settings.Components 0.1; \n\
658− import Ubuntu.Connectivity 1.0; \n\
659 import Dash 0.1;\n\
657 import Dash 0.1;\n\
660 import Utils 0.1;\n';
658 import Utils 0.1;\n';
661 var card = cardString(template, components);
659 var card = cardString(template, components);
plugins/Dash/CroppedImageMinimumSourceSize.qml+24−18
@@ -15,24 +15,30 @@
15 */
15 */
16
16
17import QtQuick 2.3
17import QtQuick 2.3
18+import Dash 0.1
18
19
19−Image {
20+Item {
20− property bool resized: false
21+ id: root
21− property bool resizing: false
22+
23+ property string source
24+ property alias image: innerImage
25+ property alias asynchronous: innerImage.asynchronous
26+ property alias verticalAlignment: innerImage.verticalAlignment
27+ property alias horizontalAlignment: innerImage.horizontalAlignment
28+ property alias fillMode: innerImage.fillMode
29+
30+ CroppedImageSizer {
31+ id: sizer
32+ source: root.source
33+ width: root.width
34+ height: root.height
35+ }
36+
37+ Image {
38+ id: innerImage
39+ anchors.fill: parent
22− fillMode: Image.PreserveAspectCrop
40+ fillMode: Image.PreserveAspectCrop
23− visible: resized
41+ sourceSize: sizer.sourceSize.width == 0 && sizer.sourceSize.height == 0 ? undefined : sizer.sourceSize
24− onSourceSizeChanged: {
25− if (!resized && !resizing) {
26− resizing = true;
27− var ar = width / height;
28− var ssar = sourceSize.width / sourceSize.height;
42+ source: sizer.sourceSize.width == -1 && sizer.sourceSize.height == -1 ? "" : root.source
29− if (ar > ssar) {
30− sourceSize = Qt.size(width, 0);
31− } else {
32− sourceSize = Qt.size(0, height);
33− }
34− resizing = false;
35− resized = true;
36− }
37 }
43 }
38}
44}
plugins/Dash/ScopeStyle.qml+1−1
@@ -70,7 +70,7 @@ QtObject {
70 readonly property url navigationBackground: "navigation-background" in d.headerStyle ? d.headerStyle["navigation-background"] : "color:///#f5f5f5"
70 readonly property url navigationBackground: "navigation-background" in d.headerStyle ? d.headerStyle["navigation-background"] : "color:///#f5f5f5"
71
71
72 /// Color of the primary preview button
72 /// Color of the primary preview button
73− readonly property color previewButtonColor: "preview-button-color" in style ? style["preview-button-color"] : Theme.palette.selected.foreground
73+ readonly property color previewButtonColor: "preview-button-color" in style ? style["preview-button-color"] : UbuntuColors.orange
74
74
75 //! @cond
75 //! @cond
76 property var d: QtObject {
76 property var d: QtObject {
plugins/Dash/abstractdashview.h+4
@@ -104,7 +104,11 @@ private:
104 virtual void doRelayout() = 0;
104 virtual void doRelayout() = 0;
105 virtual void updateItemCulling(qreal visibleFromY, qreal visibleToY) = 0;
105 virtual void updateItemCulling(qreal visibleFromY, qreal visibleToY) = 0;
106 virtual void calculateImplicitHeight() = 0;
106 virtual void calculateImplicitHeight() = 0;
107+#if (QT_VERSION < QT_VERSION_CHECK(5, 4, 0))
107 virtual void processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes) = 0;
108 virtual void processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes) = 0;
109+#else
110+ virtual void processModelRemoves(const QVector<QQmlChangeSet::Change> &removes) = 0;
111+#endif
108
112
109 QQmlDelegateModel *m_delegateModel;
113 QQmlDelegateModel *m_delegateModel;
110
114
plugins/Dash/croppedimagesizer.cppnew file+136
@@ -0,0 +1,136 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "croppedimagesizer.h"
18+
19+#include "croppedimagesizerasyncworker.h"
20+
21+#include <QNetworkAccessManager>
22+#include <QNetworkRequest>
23+#include <QQmlEngine>
24+#include <QQuickItem>
25+
26+CroppedImageSizer::CroppedImageSizer()
27+ : m_width(0),
28+ m_height(0),
29+ m_sourceSize(QSize(-1, -1)),
30+ m_worker(nullptr)
31+{
32+ connect(this, &CroppedImageSizer::inputParamsChanged, this, &CroppedImageSizer::calculateSourceSize);
33+ connect(this, &CroppedImageSizer::sourceChanged, this, &CroppedImageSizer::requestImage);
34+}
35+
36+CroppedImageSizer::~CroppedImageSizer()
37+{
38+ if (m_worker) {
39+ m_worker->abort();
40+ }
41+}
42+
43+QUrl CroppedImageSizer::source() const
44+{
45+ return m_source;
46+}
47+
48+void CroppedImageSizer::setSource(const QUrl &source)
49+{
50+ if (source != m_source) {
51+ m_source = source;
52+ Q_EMIT sourceChanged();
53+ }
54+}
55+
56+qreal CroppedImageSizer::width() const
57+{
58+ return m_width;
59+}
60+
61+void CroppedImageSizer::setWidth(qreal width)
62+{
63+ if (width != m_width) {
64+ m_width = width;
65+ Q_EMIT inputParamsChanged();
66+ }
67+}
68+
69+qreal CroppedImageSizer::height() const
70+{
71+ return m_height;
72+}
73+
74+void CroppedImageSizer::setHeight(qreal height)
75+{
76+ if (height != m_height) {
77+ m_height = height;
78+ Q_EMIT inputParamsChanged();
79+ }
80+}
81+
82+QSize CroppedImageSizer::sourceSize() const
83+{
84+ return m_sourceSize;
85+}
86+
87+void CroppedImageSizer::setSourceSize(const QSize &sourceSize)
88+{
89+ if (sourceSize != m_sourceSize) {
90+ m_sourceSize = sourceSize;
91+ Q_EMIT sourceSizeChanged();
92+ }
93+}
94+
95+void CroppedImageSizer::setImageSize(const QSize &imageSize)
96+{
97+ m_imageSize = imageSize;
98+ m_worker = nullptr;
99+ calculateSourceSize();
100+}
101+
102+void CroppedImageSizer::requestImage()
103+{
104+ if (m_worker) {
105+ m_worker->abort();
106+ m_worker = nullptr;
107+ }
108+
109+ if (m_source.isValid() && qmlEngine(this) && qmlEngine(this)->networkAccessManager()) {
110+ QNetworkRequest request(m_source);
111+ QNetworkReply *reply = qmlEngine(this)->networkAccessManager()->get(request);
112+ m_worker = new CroppedImageSizerAsyncWorker(this, reply);
113+ } else {
114+ setSourceSize(QSize(-1, -1));
115+ }
116+}
117+
118+void CroppedImageSizer::calculateSourceSize()
119+{
120+ if (m_source.isValid() && m_width > 0 && m_height > 0 && !m_worker) {
121+ if (!m_imageSize.isEmpty()) {
122+ const qreal ar = m_width / m_height;
123+ const qreal ssar = m_imageSize.width() / (qreal)m_imageSize.height();
124+ if (ar > ssar) {
125+ setSourceSize(QSize(m_width, 0));
126+ } else {
127+ setSourceSize(QSize(0, m_height));
128+ }
129+ } else {
130+ qWarning() << "Invalid size for " << m_source << m_imageSize;
131+ setSourceSize(QSize(0, 0));
132+ }
133+ } else {
134+ setSourceSize(QSize(-1, -1));
135+ }
136+}
plugins/Dash/croppedimagesizer.hnew file+72
@@ -0,0 +1,72 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef CROPPEDIMAGESIZER_H
18+#define CROPPEDIMAGESIZER_H
19+
20+#include <QImageReader>
21+#include <QObject>
22+#include <QSize>
23+#include <QUrl>
24+
25+class CroppedImageSizerAsyncWorker;
26+
27+class CroppedImageSizer : public QObject
28+{
29+ Q_OBJECT
30+
31+ Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
32+ Q_PROPERTY(qreal width READ width WRITE setWidth NOTIFY inputParamsChanged)
33+ Q_PROPERTY(qreal height READ height WRITE setHeight NOTIFY inputParamsChanged)
34+ Q_PROPERTY(QSize sourceSize READ sourceSize NOTIFY sourceSizeChanged)
35+
36+public:
37+ CroppedImageSizer();
38+ ~CroppedImageSizer();
39+
40+ QUrl source() const;
41+ void setSource(const QUrl &source);
42+
43+ qreal width() const;
44+ void setWidth(qreal width);
45+
46+ qreal height() const;
47+ void setHeight(qreal height);
48+
49+ QSize sourceSize() const;
50+ void setSourceSize(const QSize &sourceSize);
51+
52+ Q_INVOKABLE void setImageSize(const QSize &imageSize);
53+
54+Q_SIGNALS:
55+ void inputParamsChanged();
56+ void sourceChanged();
57+ void sourceSizeChanged();
58+
59+private Q_SLOT:
60+ void calculateSourceSize();
61+ void requestImage();
62+
63+private:
64+ QUrl m_source;
65+ qreal m_width;
66+ qreal m_height;
67+ QSize m_sourceSize;
68+ QSize m_imageSize;
69+ QPointer<CroppedImageSizerAsyncWorker> m_worker;
70+};
71+
72+#endif
plugins/Dash/croppedimagesizerasyncworker.cppnew file+74
@@ -0,0 +1,74 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "croppedimagesizerasyncworker.h"
18+
19+#include "croppedimagesizer.h"
20+
21+#include <QNetworkReply>
22+#include <QtConcurrentRun>
23+
24+CroppedImageSizerAsyncWorker::CroppedImageSizerAsyncWorker(CroppedImageSizer *sizer, QNetworkReply *reply)
25+ : m_sizer(sizer),
26+ m_reply(reply),
27+ m_ignoreAbort(false)
28+{
29+ connect(m_reply, &QNetworkReply::finished, this, &CroppedImageSizerAsyncWorker::requestFinished);
30+}
31+
32+void CroppedImageSizerAsyncWorker::abort()
33+{
34+ // This runs on main thread
35+ QMutexLocker locker(&m_mutex);
36+ m_sizer = nullptr;
37+ // If we already started the future run we can't abort the reply
38+ // since we don't know at which stage the future is, just let it finish
39+ if (!m_ignoreAbort) {
40+ QMetaObject::invokeMethod(m_reply, "abort", Qt::QueuedConnection);
41+ }
42+}
43+
44+void CroppedImageSizerAsyncWorker::requestFinished()
45+{
46+ // This runs on main thread
47+ QMutexLocker locker(&m_mutex);
48+ if (m_sizer) {
49+ m_ignoreAbort = true;
50+ QtConcurrent::run(processRequestFinished, this);
51+ } else {
52+ // We were aborted delete ourselves
53+ m_reply->deleteLater();
54+ deleteLater();
55+ }
56+}
57+
58+void CroppedImageSizerAsyncWorker::processRequestFinished(CroppedImageSizerAsyncWorker *worker)
59+{
60+ // This runs on non main thread
61+ // m_reply has finished at this point and is protected against change by m_ignoreAbort
62+ QImageReader reader(worker->m_reply);
63+ const QSize imageSize = reader.size();
64+
65+ worker->m_mutex.lock();
66+ if (worker->m_sizer) {
67+ QMetaObject::invokeMethod(worker->m_sizer, "setImageSize", Qt::QueuedConnection, Q_ARG(QSize, imageSize));
68+ }
69+ worker->m_mutex.unlock();
70+
71+ // All work is done, delete ourselves
72+ worker->m_reply->deleteLater();
73+ worker->deleteLater();
74+}
plugins/Dash/croppedimagesizerasyncworker.hnew file+47
@@ -0,0 +1,47 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef CROPPEDIMAGESIZERASYNCWORKER_H
18+#define CROPPEDIMAGESIZERASYNCWORKER_H
19+
20+#include <QMutex>
21+#include <QObject>
22+
23+class CroppedImageSizer;
24+
25+class QNetworkReply;
26+
27+class CroppedImageSizerAsyncWorker : public QObject
28+{
29+ Q_OBJECT
30+public:
31+ CroppedImageSizerAsyncWorker(CroppedImageSizer *sizer, QNetworkReply *reply);
32+
33+ void abort();
34+
35+private Q_SLOTS:
36+ void requestFinished();
37+
38+private:
39+ static void processRequestFinished(CroppedImageSizerAsyncWorker *worker);
40+
41+ QMutex m_mutex;
42+ CroppedImageSizer *m_sizer;
43+ QNetworkReply *m_reply;
44+ bool m_ignoreAbort;
45+};
46+
47+#endif
plugins/Dash/horizontaljournal.cpp+5−1
@@ -184,9 +184,13 @@ void HorizontalJournal::calculateImplicitHeight()
184 }
184 }
185}
185}
186
186
187+#if (QT_VERSION < QT_VERSION_CHECK(5, 4, 0))
187void HorizontalJournal::processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes)
188void HorizontalJournal::processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes)
189+#else
190+void HorizontalJournal::processModelRemoves(const QVector<QQmlChangeSet::Change> &removes)
191+#endif
188{
192{
189− Q_FOREACH(const QQmlChangeSet::Remove &remove, removes) {
193+ Q_FOREACH(const QQmlChangeSet::Change &remove, removes) {
190 for (int i = remove.count - 1; i >= 0; --i) {
194 for (int i = remove.count - 1; i >= 0; --i) {
191 const int indexToRemove = remove.index + i;
195 const int indexToRemove = remove.index + i;
192 // We only support removing from the end so
196 // We only support removing from the end so
plugins/Dash/horizontaljournal.h+4
@@ -52,7 +52,11 @@ private:
52 void calculateImplicitHeight() override;
52 void calculateImplicitHeight() override;
53 void doRelayout() override;
53 void doRelayout() override;
54 void updateItemCulling(qreal visibleFromY, qreal visibleToY) override;
54 void updateItemCulling(qreal visibleFromY, qreal visibleToY) override;
55+#if (QT_VERSION < QT_VERSION_CHECK(5, 4, 0))
55 void processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes) override;
56 void processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes) override;
57+#else
58+ void processModelRemoves(const QVector<QQmlChangeSet::Change> &removes) override;
59+#endif
56
60
57 int m_firstVisibleIndex;
61 int m_firstVisibleIndex;
58 QList<QQuickItem*> m_visibleItems;
62 QList<QQuickItem*> m_visibleItems;
plugins/Dash/listviewwithpageheader.cpp+2−2
@@ -936,7 +936,7 @@ void ListViewWithPageHeader::onModelUpdated(const QQmlChangeSet &changeSet, bool
936// qDebug() << "ListViewWithPageHeader::onModelUpdated" << changeSet << reset;
936// qDebug() << "ListViewWithPageHeader::onModelUpdated" << changeSet << reset;
937 const auto oldFirstVisibleIndex = m_firstVisibleIndex;
937 const auto oldFirstVisibleIndex = m_firstVisibleIndex;
938
938
939− Q_FOREACH(const QQmlChangeSet::Remove &remove, changeSet.removes()) {
939+ Q_FOREACH(const QQmlChangeSet::Change &remove, changeSet.removes()) {
940// qDebug() << "ListViewWithPageHeader::onModelUpdated Remove" << remove.index << remove.count;
940// qDebug() << "ListViewWithPageHeader::onModelUpdated Remove" << remove.index << remove.count;
941 if (remove.index + remove.count > m_firstVisibleIndex && remove.index < m_firstVisibleIndex + m_visibleItems.count()) {
941 if (remove.index + remove.count > m_firstVisibleIndex && remove.index < m_firstVisibleIndex + m_visibleItems.count()) {
942 const qreal oldFirstValidIndexPos = m_visibleItems.first()->y();
942 const qreal oldFirstValidIndexPos = m_visibleItems.first()->y();
@@ -990,7 +990,7 @@ void ListViewWithPageHeader::onModelUpdated(const QQmlChangeSet &changeSet, bool
990 }
990 }
991 }
991 }
992
992
993− Q_FOREACH(const QQmlChangeSet::Insert &insert, changeSet.inserts()) {
993+ Q_FOREACH(const QQmlChangeSet::Change &insert, changeSet.inserts()) {
994// qDebug() << "ListViewWithPageHeader::onModelUpdated Insert" << insert.index << insert.count;
994// qDebug() << "ListViewWithPageHeader::onModelUpdated Insert" << insert.index << insert.count;
995 const bool insertingInValidIndexes = insert.index > m_firstVisibleIndex && insert.index < m_firstVisibleIndex + m_visibleItems.count();
995 const bool insertingInValidIndexes = insert.index > m_firstVisibleIndex && insert.index < m_firstVisibleIndex + m_visibleItems.count();
996 const bool firstItemWithViewOnTop = insert.index == 0 && m_firstVisibleIndex == 0 && m_visibleItems.first()->y() + m_clipItem->y() > contentY();
996 const bool firstItemWithViewOnTop = insert.index == 0 && m_firstVisibleIndex == 0 && m_visibleItems.first()->y() + m_clipItem->y() > contentY();
plugins/Dash/organicgrid.cpp+5−1
@@ -237,9 +237,13 @@ void OrganicGrid::calculateImplicitHeight()
237 }
237 }
238}
238}
239
239
240+#if (QT_VERSION < QT_VERSION_CHECK(5, 4, 0))
240void OrganicGrid::processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes)
241void OrganicGrid::processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes)
242+#else
243+void OrganicGrid::processModelRemoves(const QVector<QQmlChangeSet::Change> &removes)
244+#endif
241{
245{
242− Q_FOREACH(const QQmlChangeSet::Remove &remove, removes) {
246+ Q_FOREACH(const QQmlChangeSet::Change &remove, removes) {
243 for (int i = remove.count - 1; i >= 0; --i) {
247 for (int i = remove.count - 1; i >= 0; --i) {
244 const int indexToRemove = remove.index + i;
248 const int indexToRemove = remove.index + i;
245 // We only support removing from the end
249 // We only support removing from the end
plugins/Dash/organicgrid.h+4
@@ -79,7 +79,11 @@ private:
79 void doRelayout() override;
79 void doRelayout() override;
80 void updateItemCulling(qreal visibleFromY, qreal visibleToY) override;
80 void updateItemCulling(qreal visibleFromY, qreal visibleToY) override;
81 void calculateImplicitHeight() override;
81 void calculateImplicitHeight() override;
82+#if (QT_VERSION < QT_VERSION_CHECK(5, 4, 0))
82 void processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes) override;
83 void processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes) override;
84+#else
85+ void processModelRemoves(const QVector<QQmlChangeSet::Change> &removes) override;
86+#endif
83
87
84 QSizeF m_smallDelegateSize;
88 QSizeF m_smallDelegateSize;
85 QSizeF m_bigDelegateSize;
89 QSizeF m_bigDelegateSize;
plugins/Dash/plugin.cpp+2
@@ -17,6 +17,7 @@
17
17
18#include "plugin.h"
18#include "plugin.h"
19
19
20+#include "croppedimagesizer.h"
20#include "horizontaljournal.h"
21#include "horizontaljournal.h"
21#include "listviewwithpageheader.h"
22#include "listviewwithpageheader.h"
22#include "organicgrid.h"
23#include "organicgrid.h"
@@ -32,4 +33,5 @@ void DashPlugin::registerTypes(const char *uri)
32 qmlRegisterType<ListViewWithPageHeader>(uri, 0, 1, "ListViewWithPageHeader");
33 qmlRegisterType<ListViewWithPageHeader>(uri, 0, 1, "ListViewWithPageHeader");
33 qmlRegisterType<OrganicGrid>(uri, 0, 1, "OrganicGrid");
34 qmlRegisterType<OrganicGrid>(uri, 0, 1, "OrganicGrid");
34 qmlRegisterType<VerticalJournal>(uri, 0, 1, "VerticalJournal");
35 qmlRegisterType<VerticalJournal>(uri, 0, 1, "VerticalJournal");
36+ qmlRegisterType<CroppedImageSizer>(uri, 0, 1, "CroppedImageSizer");
35}
37}
plugins/Dash/verticaljournal.cpp+5−1
@@ -239,9 +239,13 @@ void VerticalJournal::updateItemCulling(qreal visibleFromY, qreal visibleToY)
239 }
239 }
240}
240}
241
241
242+#if (QT_VERSION < QT_VERSION_CHECK(5, 4, 0))
242void VerticalJournal::processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes)
243void VerticalJournal::processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes)
244+#else
245+void VerticalJournal::processModelRemoves(const QVector<QQmlChangeSet::Change> &removes)
246+#endif
243{
247{
244− Q_FOREACH(const QQmlChangeSet::Remove &remove, removes) {
248+ Q_FOREACH(const QQmlChangeSet::Change &remove, removes) {
245 for (int i = remove.count - 1; i >= 0; --i) {
249 for (int i = remove.count - 1; i >= 0; --i) {
246 const int indexToRemove = remove.index + i;
250 const int indexToRemove = remove.index + i;
247 // Since we only support removing from the end, indexToRemove
251 // Since we only support removing from the end, indexToRemove
plugins/Dash/verticaljournal.h+4
@@ -90,7 +90,11 @@ private:
90 void calculateImplicitHeight() override;
90 void calculateImplicitHeight() override;
91 void doRelayout() override;
91 void doRelayout() override;
92 void updateItemCulling(qreal visibleFromY, qreal visibleToY) override;
92 void updateItemCulling(qreal visibleFromY, qreal visibleToY) override;
93+#if (QT_VERSION < QT_VERSION_CHECK(5, 4, 0))
93 void processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes) override;
94 void processModelRemoves(const QVector<QQmlChangeSet::Remove> &removes) override;
95+#else
96+ void processModelRemoves(const QVector<QQmlChangeSet::Change> &removes) override;
97+#endif
94
98
95 QVector<QList<ViewItem>> m_columnVisibleItems;
99 QVector<QList<ViewItem>> m_columnVisibleItems;
96 QHash<int, int> m_indexColumnMap;
100 QHash<int, int> m_indexColumnMap;
plugins/Unity/Launcher/desktopfilehandler.cpp+1−1
@@ -110,7 +110,7 @@ QString DesktopFileHandler::displayName() const
110 settings.beginGroup("Desktop Entry");
110 settings.beginGroup("Desktop Entry");
111
111
112 // First try to find Name[xx_YY] and Name[xx] in .desktop file
112 // First try to find Name[xx_YY] and Name[xx] in .desktop file
113− QString locale = QLocale::system().name();
113+ QString locale = QLocale().name();
114 QString shortLocale = locale.split('_').first();
114 QString shortLocale = locale.split('_').first();
115
115
116 if (locale != shortLocale && settings.contains(QString("Name[%1]").arg(locale))) {
116 if (locale != shortLocale && settings.contains(QString("Name[%1]").arg(locale))) {
plugins/Unity/Launcher/launcheritem.cpp+11−4
@@ -60,6 +60,10 @@ void LauncherItem::setName(const QString &name)
60{
60{
61 if (m_name != name) {
61 if (m_name != name) {
62 m_name = name;
62 m_name = name;
63+ QuickListEntry entry;
64+ entry.setActionId("launch_item");
65+ entry.setText(m_name);
66+ m_quickList->updateAction(entry);
63 Q_EMIT nameChanged(name);
67 Q_EMIT nameChanged(name);
64 }
68 }
65}
69}
@@ -86,12 +90,15 @@ void LauncherItem::setPinned(bool pinned)
86{
90{
87 if (m_pinned != pinned) {
91 if (m_pinned != pinned) {
88 m_pinned = pinned;
92 m_pinned = pinned;
89− QuickListEntry entry;
90− entry.setActionId("pin_item");
91− entry.setText(pinned ? gettext("Unpin shortcut") : gettext("Pin shortcut"));
92− m_quickList->updateAction(entry);
93 Q_EMIT pinnedChanged(pinned);
93 Q_EMIT pinnedChanged(pinned);
94 }
94 }
95+
96+ // Even if pinned status didn't change, we want to update text in case
97+ // the locale has changed since we last set pinned status.
98+ QuickListEntry entry;
99+ entry.setActionId("pin_item");
100+ entry.setText(pinned ? gettext("Unpin shortcut") : gettext("Pin shortcut"));
101+ m_quickList->updateAction(entry);
95}
102}
96
103
97bool LauncherItem::running() const
104bool LauncherItem::running() const
plugins/Unity/Launcher/launchermodel.cpp+1
@@ -370,6 +370,7 @@ void LauncherModel::refresh()
370 int idx = m_list.indexOf(item);
370 int idx = m_list.indexOf(item);
371 item->setName(desktopFile.displayName());
371 item->setName(desktopFile.displayName());
372 item->setIcon(desktopFile.icon());
372 item->setIcon(desktopFile.icon());
373+ item->setPinned(item->pinned()); // update pinned text if needed
373 Q_EMIT dataChanged(index(idx), index(idx), QVector<int>() << RoleName << RoleIcon);
374 Q_EMIT dataChanged(index(idx), index(idx), QVector<int>() << RoleName << RoleIcon);
374 }
375 }
375 }
376 }
plugins/Unity/Launcher/launchermodel.h+1−1
@@ -58,6 +58,7 @@ public:
58
58
59public Q_SLOTS:
59public Q_SLOTS:
60 void requestRemove(const QString &appId);
60 void requestRemove(const QString &appId);
61+ Q_INVOKABLE void refresh();
61
62
62private:
63private:
63 void storeAppList();
64 void storeAppList();
@@ -68,7 +69,6 @@ private Q_SLOTS:
68 void countChanged(const QString &appId, int count);
69 void countChanged(const QString &appId, int count);
69 void countVisibleChanged(const QString &appId, int count);
70 void countVisibleChanged(const QString &appId, int count);
70 void progressChanged(const QString &appId, int progress);
71 void progressChanged(const QString &appId, int progress);
71− void refresh();
72
72
73 void applicationAdded(const QModelIndex &parent, int row);
73 void applicationAdded(const QModelIndex &parent, int row);
74 void applicationRemoved(const QModelIndex &parent, int row);
74 void applicationRemoved(const QModelIndex &parent, int row);
plugins/Wizard/50-com.canonical.unity.wizard.pklanew file+6
@@ -0,0 +1,6 @@
1+[Allow welcome wizard to set AccountsService fields]
2+Identity=unix-user:lightdm
3+Action=org.freedesktop.accounts.user-administration
4+ResultActive=yes
5+ResultInactive=no
6+ResultAny=no
plugins/Wizard/CMakeLists.txtnew file+11
@@ -0,0 +1,11 @@
1+add_library(Wizard-qml MODULE
2+ plugin.cpp
3+ PageList.cpp
4+ System.cpp
5+)
6+
7+qt5_use_modules(Wizard-qml DBus Qml)
8+add_unity8_plugin(Wizard 0.1 Wizard TARGETS Wizard-qml)
9+
10+set(POLKIT_LIB_DIR "${CMAKE_INSTALL_LOCALSTATEDIR}/lib/polkit-1")
11+install(FILES 50-com.canonical.unity.wizard.pkla DESTINATION ${POLKIT_LIB_DIR}/localauthority/10-vendor.d)
plugins/Wizard/PageList.cppnew file+112
@@ -0,0 +1,112 @@
1+/*
2+ * Copyright (C) 2014 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+/**
18+ * This class lets the list of wizard pages be dynamic.
19+ * - To add new ones, drop them into
20+ * $XDG_DATA_DIRS/Wizard/Pages with a numbered prefix,
21+ * like "21-custom-page.qml". The number determines the order in the page
22+ * sequence that your page will appear.
23+ * - To disable an existing page, add a file like "21-custom-page.qml.disabled"
24+ * - To go to the next page, use pageStack.next()
25+ * - To go back to the previous page, use pageStack.prev()
26+ * - To load a page outside of the normal flow (so that it doesn't affect the
27+ * back button), use pageStack.push(Qt.resolvedUrl("custom-page.qml")) in
28+ * your page.
29+ * - See default pages for plenty of examples.
30+ */
31+
32+#include "PageList.h"
33+#include <paths.h>
34+#include <QDir>
35+#include <QSet>
36+#include <QStandardPaths>
37+
38+PageList::PageList(QObject *parent)
39+ : QObject(parent),
40+ m_index(-1),
41+ m_pages()
42+{
43+ QString qmlSuffix = ".qml";
44+ QString disabledSuffix = ".disabled";
45+ QSet<QString> disabledPages;
46+ QStringList dataDirs;
47+
48+ if (!isRunningInstalled() && getenv("UNITY_TEST_ENV") == nullptr) {
49+ dataDirs = QStringList() << qmlDirectory();
50+ } else {
51+ dataDirs = shellDataDirs();
52+ }
53+
54+ Q_FOREACH(const QString &dataDir, dataDirs) {
55+ QDir dir(dataDir + "/Wizard/Pages");
56+ QStringList entries = dir.entryList(QStringList("[0-9]*"), QDir::Files | QDir::Readable);
57+ Q_FOREACH(const QString &entry, entries) {
58+ if (!m_pages.contains(entry) && entry.endsWith(qmlSuffix))
59+ m_pages.insert(entry, dir.absoluteFilePath(entry));
60+ else if (entry.endsWith(qmlSuffix + disabledSuffix))
61+ disabledPages.insert(entry.left(entry.size() - disabledSuffix.size()));
62+ }
63+ }
64+
65+ // Now remove any explicitly disabled entries
66+ Q_FOREACH(const QString &page, disabledPages) {
67+ m_pages.remove(page);
68+ }
69+}
70+
71+QStringList PageList::entries() const
72+{
73+ return m_pages.keys();
74+}
75+
76+QStringList PageList::paths() const
77+{
78+ return m_pages.values();
79+}
80+
81+int PageList::index() const
82+{
83+ return m_index;
84+}
85+
86+int PageList::numPages() const
87+{
88+ return m_pages.size();
89+}
90+
91+QString PageList::prev()
92+{
93+ if (m_index > 0)
94+ return m_pages.values()[setIndex(m_index - 1)];
95+ else
96+ return QString();
97+}
98+
99+QString PageList::next()
100+{
101+ if (m_index < m_pages.count() - 1)
102+ return m_pages.values()[setIndex(m_index + 1)];
103+ else
104+ return QString();
105+}
106+
107+int PageList::setIndex(int index)
108+{
109+ m_index = index;
110+ Q_EMIT indexChanged();
111+ return m_index;
112+}
plugins/Wizard/PageList.hnew file+53
@@ -0,0 +1,53 @@
1+/*
2+ * Copyright (C) 2014 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef WIZARD_PAGELIST_H
18+#define WIZARD_PAGELIST_H
19+
20+#include <QMap>
21+#include <QObject>
22+#include <QString>
23+
24+class PageList : public QObject
25+{
26+ Q_OBJECT
27+ Q_PROPERTY(int index READ index NOTIFY indexChanged)
28+ Q_PROPERTY(int numPages READ numPages NOTIFY numPagesChanged)
29+
30+public:
31+ explicit PageList(QObject *parent = 0);
32+
33+ QStringList entries() const;
34+ QStringList paths() const;
35+ int index() const;
36+ int numPages() const;
37+
38+public Q_SLOTS:
39+ QString prev();
40+ QString next();
41+
42+Q_SIGNALS:
43+ void indexChanged();
44+ void numPagesChanged(); // never emitted, just here to quiet Qml warnings
45+
46+private:
47+ int setIndex(int index);
48+
49+ int m_index;
50+ QMap<QString, QString> m_pages;
51+};
52+
53+#endif // WIZARD_PAGELIST_H
plugins/Wizard/System.cppnew file+99
@@ -0,0 +1,99 @@
1+/*
2+ * Copyright (C) 2014 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "System.h"
18+
19+#include <QDBusInterface>
20+#include <QDBusMetaType>
21+#include <QDir>
22+#include <QFile>
23+#include <QLocale>
24+#include <QMap>
25+#include <QProcess>
26+
27+System::System()
28+ : QObject(),
29+ m_fsWatcher()
30+{
31+ // Register the argument needed for UpdateActivationEnvironment below
32+ qDBusRegisterMetaType<QMap<QString,QString>>();
33+
34+ m_fsWatcher.addPath(wizardEnabledPath());
35+ connect(&m_fsWatcher, SIGNAL(fileChanged(const QString &)),
36+ this, SIGNAL(wizardEnabledChanged()));
37+}
38+
39+QString System::wizardEnabledPath()
40+{
41+ // Uses ubuntu-system-settings namespace for historic compatibility reasons
42+ return QDir::home().filePath(".config/ubuntu-system-settings/wizard-has-run");
43+}
44+
45+bool System::wizardEnabled() const
46+{
47+ return !QFile::exists(wizardEnabledPath());
48+}
49+
50+void System::setWizardEnabled(bool enabled)
51+{
52+ if (wizardEnabled() == enabled)
53+ return;
54+
55+ if (enabled) {
56+ QFile::remove(wizardEnabledPath());
57+ } else {
58+ QDir(wizardEnabledPath()).mkpath("..");
59+ QFile(wizardEnabledPath()).open(QIODevice::WriteOnly);
60+ m_fsWatcher.addPath(wizardEnabledPath());
61+ wizardEnabledChanged();
62+ }
63+}
64+
65+void System::setSessionVariable(const QString &variable, const QString &value)
66+{
67+ // We need to update both upstart's and DBus's environment
68+ QProcess::execute(QString("initctl set-env --global %1=%2").arg(variable, value));
69+
70+ QDBusInterface iface("org.freedesktop.DBus",
71+ "/org/freedesktop/DBus",
72+ "org.freedesktop.DBus",
73+ QDBusConnection::sessionBus());
74+
75+ QMap<QString,QString> valueMap;
76+ valueMap.insert(variable, value);
77+ iface.call("UpdateActivationEnvironment", QVariant::fromValue(valueMap));
78+}
79+
80+void System::updateSessionLanguage(const QString &locale)
81+{
82+ QString language = locale.split(".")[0];
83+
84+ setSessionVariable("LANGUAGE", language);
85+ setSessionVariable("LANG", locale);
86+ setSessionVariable("LC_ALL", locale);
87+
88+ // QLocale caches the default locale on startup, and Qt uses that cached
89+ // copy when formatting dates. So manually update it here.
90+ QLocale::setDefault(QLocale(locale));
91+
92+ // Restart bits of the session to pick up new language.
93+ QProcess::startDetached("sh -c \"initctl emit indicator-services-end; \
94+ initctl stop scope-registry; \
95+ initctl stop smart-scopes-proxy; \
96+ initctl emit --no-wait indicator-services-start; \
97+ initctl restart --no-wait maliit-server; \
98+ initctl restart --no-wait unity8-dash\"");
99+}
plugins/Wizard/System.hnew file+50
@@ -0,0 +1,50 @@
1+/*
2+ * Copyright (C) 2014 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef WIZARD_SYSTEM_H
18+#define WIZARD_SYSTEM_H
19+
20+#include <QFileSystemWatcher>
21+#include <QObject>
22+#include <QString>
23+
24+class System : public QObject
25+{
26+ Q_OBJECT
27+ Q_PROPERTY(bool wizardEnabled READ wizardEnabled WRITE setWizardEnabled NOTIFY wizardEnabledChanged)
28+
29+public:
30+ System();
31+
32+ bool wizardEnabled() const;
33+ void setWizardEnabled(bool enabled);
34+
35+public Q_SLOTS:
36+ void updateSessionLanguage(const QString &locale);
37+
38+Q_SIGNALS:
39+ void wizardEnabledChanged();
40+
41+private:
42+ Q_DISABLE_COPY(System)
43+
44+ static QString wizardEnabledPath();
45+ static void setSessionVariable(const QString &variable, const QString &value);
46+
47+ QFileSystemWatcher m_fsWatcher;
48+};
49+
50+#endif
plugins/Wizard/Wizard.qmltypesnew file+36
@@ -0,0 +1,36 @@
1+import QtQuick.tooling 1.1
2+
3+// This file describes the plugin-supplied types contained in the library.
4+// It is used for QML tooling purposes only.
5+//
6+// This file was auto-generated by:
7+// 'qmlplugindump -notrelocatable Wizard 0.1 plugins'
8+
9+Module {
10+ Component {
11+ name: "PageList"
12+ prototype: "QObject"
13+ exports: ["Wizard/PageList 0.1"]
14+ isCreatable: false
15+ isSingleton: true
16+ exportMetaObjectRevisions: [0]
17+ Property { name: "index"; type: "int"; isReadonly: true }
18+ Property { name: "numPages"; type: "int"; isReadonly: true }
19+ Method { name: "prev"; type: "string" }
20+ Method { name: "next"; type: "string" }
21+ }
22+ Component {
23+ name: "System"
24+ prototype: "QObject"
25+ exports: ["Wizard/System 0.1"]
26+ isCreatable: false
27+ isSingleton: true
28+ exportMetaObjectRevisions: [0]
29+ Property { name: "wizardEnabled"; type: "bool" }
30+ Method {
31+ name: "updateSessionLanguage"
32+ Parameter { name: "locale"; type: "string" }
33+ }
34+ }
35+}
36+
plugins/Wizard/plugin.cppnew file+35
@@ -0,0 +1,35 @@
1+/*
2+ * Copyright (C) 2014 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "plugin.h"
18+#include "PageList.h"
19+#include "System.h"
20+
21+#include <QtQml/qqml.h>
22+
23+static QObject *system_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
24+{
25+ Q_UNUSED(engine)
26+ Q_UNUSED(scriptEngine)
27+ return new System();
28+}
29+
30+void WizardPlugin::registerTypes(const char *uri)
31+{
32+ Q_ASSERT(uri == QLatin1String("Wizard"));
33+ qmlRegisterType<PageList>(uri, 0, 1, "PageList");
34+ qmlRegisterSingletonType<System>(uri, 0, 1, "System", system_provider);
35+}
plugins/Wizard/plugin.hnew file+32
@@ -0,0 +1,32 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef WIZARD_PLUGIN_H
18+#define WIZARD_PLUGIN_H
19+
20+#include <QtQml/QQmlEngine>
21+#include <QtQml/QQmlExtensionPlugin>
22+
23+class WizardPlugin : public QQmlExtensionPlugin
24+{
25+ Q_OBJECT
26+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
27+
28+public:
29+ void registerTypes(const char *uri);
30+};
31+
32+#endif
plugins/Wizard/qmldirnew file+3
@@ -0,0 +1,3 @@
1+module Wizard
2+plugin Wizard-qml
3+typeinfo Wizard.qmltypes
po/am.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-06 00:53+0000\n"
11"PO-Revision-Date: 2014-11-06 00:53+0000\n"
12"Last-Translator: samson <Unknown>\n"
12"Last-Translator: samson <Unknown>\n"
13"Language-Team: Amharic <am@li.org>\n"
13"Language-Team: Amharic <am@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -175,20 +175,24 @@ msgstr "አነስተኛ መመልከቻ"
175msgid "See all"
175msgid "See all"
176msgstr "ሁሉንም መመልከቻ"
176msgstr "ሁሉንም መመልከቻ"
177
177
178−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
178+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
179#: qml/Panel/SearchIndicator.qml:27
179#: qml/Panel/SearchIndicator.qml:27
180msgid "Search"
180msgid "Search"
181msgstr "መፈለጊያ"
181msgstr "መፈለጊያ"
182
182
183−#: qml/Dash/PageHeader.qml:268
183+#: qml/Dash/PageHeader.qml:260
184+msgid "Store"
185+msgstr "ማስቀመጫ"
186+
187+#: qml/Dash/PageHeader.qml:277
184msgid "Settings"
188msgid "Settings"
185msgstr "ማሰናጃ"
189msgstr "ማሰናጃ"
186
190
187−#: qml/Dash/PageHeader.qml:275
191+#: qml/Dash/PageHeader.qml:284
188msgid "Remove from Favorites"
192msgid "Remove from Favorites"
189msgstr "ከምወዳቸው ማስወገጃ"
193msgstr "ከምወዳቸው ማስወገጃ"
190
194
191−#: qml/Dash/PageHeader.qml:275
195+#: qml/Dash/PageHeader.qml:284
192msgid "Add to Favorites"
196msgid "Add to Favorites"
193msgstr "ወደምወዳቸው መጨመሪያ"
197msgstr "ወደምወዳቸው መጨመሪያ"
194
198
@@ -220,31 +224,23 @@ msgstr "ይሳቡ ለማነቃቃት…"
220msgid "Release to refresh…"
224msgid "Release to refresh…"
221msgstr "ይልቀቁ ለማነቃቃት…"
225msgstr "ይልቀቁ ለማነቃቃት…"
222
226
223−#: qml/Dash/ScopesOverview.qml:215
227+#: qml/Dash/ScopesList.qml:63
224−msgid "Manage Scopes"
228+msgid "Manage"
225−msgstr "የ ክልል አስተዳዳሪ"
229+msgstr ""
226−
227−#: qml/Dash/ScopesOverview.qml:437
228−msgid "Done"
229−msgstr "ጨርሷል"
230−
231−#: qml/Dash/ScopesOverview.qml:463
232−msgid "Store"
233−msgstr "ማስቀመጫ"
234
230
235−#: qml/Dash/ScopesOverviewTab.qml:36
231+#: qml/Dash/ScopesList.qml:105
236−msgid "Favorites"
232+msgid "Home"
237−msgstr "የምወዳቸው"
233+msgstr ""
238
234
239−#: qml/Dash/ScopesOverviewTab.qml:54
235+#: qml/Dash/ScopesList.qml:106
240−msgid "All"
236+msgid "Also installed"
241−msgstr "ሁሉንም"
237+msgstr ""
242
238
243#: qml/Greeter/Greeter.qml:174
239#: qml/Greeter/Greeter.qml:174
244msgid "Unlock"
240msgid "Unlock"
245msgstr "መክፈቻ"
241msgstr "መክፈቻ"
246
242
247−#: qml/Notifications/NotificationMenuItemFactory.qml:116
243+#: qml/Notifications/NotificationMenuItemFactory.qml:128
248msgid "Show password"
244msgid "Show password"
249msgstr "የመግቢያ ቃል ማሳያ"
245msgstr "የመግቢያ ቃል ማሳያ"
250
246
@@ -292,49 +288,49 @@ msgstr "ሲም መክፈቻ"
292msgid "Roaming"
288msgid "Roaming"
293msgstr "ማዘዋወሪያ"
289msgstr "ማዘዋወሪያ"
294
290
295−#: qml/Shell.qml:391
291+#: qml/Shell.qml:390
296msgid "Enter passphrase"
292msgid "Enter passphrase"
297msgstr "የ ማለፊያ ሀረግ ያስገቡ"
293msgstr "የ ማለፊያ ሀረግ ያስገቡ"
298
294
299−#: qml/Shell.qml:392
295+#: qml/Shell.qml:391
300msgid "Sorry, incorrect passphrase"
296msgid "Sorry, incorrect passphrase"
301msgstr "አዝናለሁ የተሳሳተ የማለፊያ ሐረግ"
297msgstr "አዝናለሁ የተሳሳተ የማለፊያ ሐረግ"
302
298
303−#: qml/Shell.qml:393
299+#: qml/Shell.qml:392
304msgid "Please re-enter"
300msgid "Please re-enter"
305msgstr "እባክዎን እንደገና-ያስገቡ"
301msgstr "እባክዎን እንደገና-ያስገቡ"
306
302
307−#: qml/Shell.qml:395
303+#: qml/Shell.qml:394
308msgid "Enter passcode"
304msgid "Enter passcode"
309msgstr "የ ማለፊያ ኮድ ያስገቡ"
305msgstr "የ ማለፊያ ኮድ ያስገቡ"
310
306
311−#: qml/Shell.qml:396
307+#: qml/Shell.qml:395
312msgid "Sorry, incorrect passcode"
308msgid "Sorry, incorrect passcode"
313msgstr "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
309msgstr "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
314
310
315−#: qml/Shell.qml:399
311+#: qml/Shell.qml:398
316#, qt-format
312#, qt-format
317msgid "Enter %1"
313msgid "Enter %1"
318msgstr "ማስገቢያ %1"
314msgstr "ማስገቢያ %1"
319
315
320−#: qml/Shell.qml:400
316+#: qml/Shell.qml:399
321#, qt-format
317#, qt-format
322msgid "Sorry, incorrect %1"
318msgid "Sorry, incorrect %1"
323msgstr "አዝናለሁ: የተሳሳተ%1"
319msgstr "አዝናለሁ: የተሳሳተ%1"
324
320
325−#: qml/Shell.qml:441
321+#: qml/Shell.qml:440
326msgid "Sorry, incorrect passphrase."
322msgid "Sorry, incorrect passphrase."
327msgstr "አዝናለሁ የተሳሳተ የማለፊያ ሐረግ"
323msgstr "አዝናለሁ የተሳሳተ የማለፊያ ሐረግ"
328
324
329−#: qml/Shell.qml:442
325+#: qml/Shell.qml:441
330msgid "Sorry, incorrect passcode."
326msgid "Sorry, incorrect passcode."
331msgstr "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
327msgstr "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
332
328
333−#: qml/Shell.qml:443
329+#: qml/Shell.qml:442
334msgid "This will be your last attempt."
330msgid "This will be your last attempt."
335msgstr "ይህ የመጨረሻ ሙከራዎ ነው"
331msgstr "ይህ የመጨረሻ ሙከራዎ ነው"
336
332
337−#: qml/Shell.qml:445
333+#: qml/Shell.qml:444
338msgid ""
334msgid ""
339"If passphrase is entered incorrectly, your phone will conduct a factory "
335"If passphrase is entered incorrectly, your phone will conduct a factory "
340"reset and all personal data will be deleted."
336"reset and all personal data will be deleted."
@@ -342,7 +338,7 @@ msgstr ""
342"የተሳሳተ የማለፊያ ሐረግ ካስገቡ የ እርስዎ ስልክ ወደ ነበረበት ወደ ፋክቶሪው ዘዴ ይመለሳል: እና የ ግል ዳታ በሙሉ "
338"የተሳሳተ የማለፊያ ሐረግ ካስገቡ የ እርስዎ ስልክ ወደ ነበረበት ወደ ፋክቶሪው ዘዴ ይመለሳል: እና የ ግል ዳታ በሙሉ "
343"ይጠፋል"
339"ይጠፋል"
344
340
345−#: qml/Shell.qml:446
341+#: qml/Shell.qml:445
346msgid ""
342msgid ""
347"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
348"and all personal data will be deleted."
344"and all personal data will be deleted."
@@ -364,3 +360,15 @@ msgstr ""
364
360
365#~ msgid "Confirm"
361#~ msgid "Confirm"
366#~ msgstr "ማረጋገጫ"
362#~ msgstr "ማረጋገጫ"
363+
364+#~ msgid "Favorites"
365+#~ msgstr "የምወዳቸው"
366+
367+#~ msgid "All"
368+#~ msgstr "ሁሉንም"
369+
370+#~ msgid "Done"
371+#~ msgstr "ጨርሷል"
372+
373+#~ msgid "Manage Scopes"
374+#~ msgstr "የ ክልል አስተዳዳሪ"
po/ar.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-05-22 08:22+0000\n"
11"PO-Revision-Date: 2014-05-22 08:22+0000\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
13"Language-Team: Arabic <ar@li.org>\n"
13"Language-Team: Arabic <ar@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -176,20 +176,24 @@ msgstr "شاهد أقل"
176msgid "See all"
176msgid "See all"
177msgstr ""
177msgstr ""
178
178
179−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
179+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
180#: qml/Panel/SearchIndicator.qml:27
180#: qml/Panel/SearchIndicator.qml:27
181msgid "Search"
181msgid "Search"
182msgstr "ابحث"
182msgstr "ابحث"
183
183
184−#: qml/Dash/PageHeader.qml:268
184+#: qml/Dash/PageHeader.qml:260
185+msgid "Store"
186+msgstr ""
187+
188+#: qml/Dash/PageHeader.qml:277
185msgid "Settings"
189msgid "Settings"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Remove from Favorites"
193msgid "Remove from Favorites"
190msgstr ""
194msgstr ""
191
195
192−#: qml/Dash/PageHeader.qml:275
196+#: qml/Dash/PageHeader.qml:284
193msgid "Add to Favorites"
197msgid "Add to Favorites"
194msgstr ""
198msgstr ""
195
199
@@ -221,31 +225,23 @@ msgstr ""
221msgid "Release to refresh…"
225msgid "Release to refresh…"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:215
228+#: qml/Dash/ScopesList.qml:63
225−msgid "Manage Scopes"
229+msgid "Manage"
226msgstr ""
230msgstr ""
227
231
228−#: qml/Dash/ScopesOverview.qml:437
232+#: qml/Dash/ScopesList.qml:105
229−msgid "Done"
230−msgstr ""
231−
232−#: qml/Dash/ScopesOverview.qml:463
233−msgid "Store"
233+msgid "Home"
234msgstr ""
234msgstr ""
235
235
236−#: qml/Dash/ScopesOverviewTab.qml:36
236+#: qml/Dash/ScopesList.qml:106
237−msgid "Favorites"
237+msgid "Also installed"
238−msgstr ""
239−
240−#: qml/Dash/ScopesOverviewTab.qml:54
241−msgid "All"
242msgstr ""
238msgstr ""
243
239
244#: qml/Greeter/Greeter.qml:174
240#: qml/Greeter/Greeter.qml:174
245msgid "Unlock"
241msgid "Unlock"
246msgstr ""
242msgstr ""
247
243
248−#: qml/Notifications/NotificationMenuItemFactory.qml:116
244+#: qml/Notifications/NotificationMenuItemFactory.qml:128
249msgid "Show password"
245msgid "Show password"
250msgstr "عرض كلمة السر"
246msgstr "عرض كلمة السر"
251
247
@@ -293,55 +289,55 @@ msgstr ""
293msgid "Roaming"
289msgid "Roaming"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:391
292+#: qml/Shell.qml:390
297msgid "Enter passphrase"
293msgid "Enter passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:392
296+#: qml/Shell.qml:391
301msgid "Sorry, incorrect passphrase"
297msgid "Sorry, incorrect passphrase"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:393
300+#: qml/Shell.qml:392
305msgid "Please re-enter"
301msgid "Please re-enter"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:395
304+#: qml/Shell.qml:394
309msgid "Enter passcode"
305msgid "Enter passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:396
308+#: qml/Shell.qml:395
313msgid "Sorry, incorrect passcode"
309msgid "Sorry, incorrect passcode"
314msgstr ""
310msgstr ""
315
311
316−#: qml/Shell.qml:399
312+#: qml/Shell.qml:398
317#, qt-format
313#, qt-format
318msgid "Enter %1"
314msgid "Enter %1"
319msgstr ""
315msgstr ""
320
316
321−#: qml/Shell.qml:400
317+#: qml/Shell.qml:399
322#, qt-format
318#, qt-format
323msgid "Sorry, incorrect %1"
319msgid "Sorry, incorrect %1"
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:441
322+#: qml/Shell.qml:440
327msgid "Sorry, incorrect passphrase."
323msgid "Sorry, incorrect passphrase."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:442
326+#: qml/Shell.qml:441
331msgid "Sorry, incorrect passcode."
327msgid "Sorry, incorrect passcode."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:443
330+#: qml/Shell.qml:442
335msgid "This will be your last attempt."
331msgid "This will be your last attempt."
336msgstr ""
332msgstr ""
337
333
338−#: qml/Shell.qml:445
334+#: qml/Shell.qml:444
339msgid ""
335msgid ""
340"If passphrase is entered incorrectly, your phone will conduct a factory "
336"If passphrase is entered incorrectly, your phone will conduct a factory "
341"reset and all personal data will be deleted."
337"reset and all personal data will be deleted."
342msgstr ""
338msgstr ""
343
339
344−#: qml/Shell.qml:446
340+#: qml/Shell.qml:445
345msgid ""
341msgid ""
346"If passcode is entered incorrectly, your phone will conduct a factory reset "
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
347"and all personal data will be deleted."
343"and all personal data will be deleted."
po/ast.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-08 18:24+0000\n"
11"PO-Revision-Date: 2014-11-08 18:24+0000\n"
12"Last-Translator: ivarela <ivarela@ubuntu.com>\n"
12"Last-Translator: ivarela <ivarela@ubuntu.com>\n"
13"Language-Team: Asturian <ast@li.org>\n"
13"Language-Team: Asturian <ast@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -179,20 +179,24 @@ msgstr "Ver menos"
179msgid "See all"
179msgid "See all"
180msgstr "Ver too"
180msgstr "Ver too"
181
181
182−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
182+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
183#: qml/Panel/SearchIndicator.qml:27
183#: qml/Panel/SearchIndicator.qml:27
184msgid "Search"
184msgid "Search"
185msgstr "Guetar"
185msgstr "Guetar"
186
186
187−#: qml/Dash/PageHeader.qml:268
187+#: qml/Dash/PageHeader.qml:260
188+msgid "Store"
189+msgstr "Tienda"
190+
191+#: qml/Dash/PageHeader.qml:277
188msgid "Settings"
192msgid "Settings"
189msgstr "Axustes"
193msgstr "Axustes"
190
194
191−#: qml/Dash/PageHeader.qml:275
195+#: qml/Dash/PageHeader.qml:284
192msgid "Remove from Favorites"
196msgid "Remove from Favorites"
193msgstr "Desaniciar de favoritos"
197msgstr "Desaniciar de favoritos"
194
198
195−#: qml/Dash/PageHeader.qml:275
199+#: qml/Dash/PageHeader.qml:284
196msgid "Add to Favorites"
200msgid "Add to Favorites"
197msgstr "Amestar a favoritos"
201msgstr "Amestar a favoritos"
198
202
@@ -224,31 +228,23 @@ msgstr "Tirar p'anovar..."
224msgid "Release to refresh…"
228msgid "Release to refresh…"
225msgstr "Soltar p'anovar..."
229msgstr "Soltar p'anovar..."
226
230
227−#: qml/Dash/ScopesOverview.qml:215
231+#: qml/Dash/ScopesList.qml:63
228−msgid "Manage Scopes"
232+msgid "Manage"
229−msgstr "Xestionar ámbitos"
233+msgstr ""
230−
231−#: qml/Dash/ScopesOverview.qml:437
232−msgid "Done"
233−msgstr "Fecho"
234−
235−#: qml/Dash/ScopesOverview.qml:463
236−msgid "Store"
237−msgstr "Tienda"
238
234
239−#: qml/Dash/ScopesOverviewTab.qml:36
235+#: qml/Dash/ScopesList.qml:105
240−msgid "Favorites"
236+msgid "Home"
241−msgstr "Favoritos"
237+msgstr ""
242
238
243−#: qml/Dash/ScopesOverviewTab.qml:54
239+#: qml/Dash/ScopesList.qml:106
244−msgid "All"
240+msgid "Also installed"
245−msgstr "Too"
241+msgstr ""
246
242
247#: qml/Greeter/Greeter.qml:174
243#: qml/Greeter/Greeter.qml:174
248msgid "Unlock"
244msgid "Unlock"
249msgstr "Desbloquiar"
245msgstr "Desbloquiar"
250
246
251−#: qml/Notifications/NotificationMenuItemFactory.qml:116
247+#: qml/Notifications/NotificationMenuItemFactory.qml:128
252msgid "Show password"
248msgid "Show password"
253msgstr "Amosar contraseña"
249msgstr "Amosar contraseña"
254
250
@@ -296,49 +292,49 @@ msgstr "Desbloquiar SIM"
296msgid "Roaming"
292msgid "Roaming"
297msgstr "Roaming"
293msgstr "Roaming"
298
294
299−#: qml/Shell.qml:391
295+#: qml/Shell.qml:390
300msgid "Enter passphrase"
296msgid "Enter passphrase"
301msgstr "Escribi la frase contraseña"
297msgstr "Escribi la frase contraseña"
302
298
303−#: qml/Shell.qml:392
299+#: qml/Shell.qml:391
304msgid "Sorry, incorrect passphrase"
300msgid "Sorry, incorrect passphrase"
305msgstr "Sentímoslo, contraseña incorreuta"
301msgstr "Sentímoslo, contraseña incorreuta"
306
302
307−#: qml/Shell.qml:393
303+#: qml/Shell.qml:392
308msgid "Please re-enter"
304msgid "Please re-enter"
309msgstr "Vuelvi a escribila"
305msgstr "Vuelvi a escribila"
310
306
311−#: qml/Shell.qml:395
307+#: qml/Shell.qml:394
312msgid "Enter passcode"
308msgid "Enter passcode"
313msgstr "Escribi'l códigu de pasu"
309msgstr "Escribi'l códigu de pasu"
314
310
315−#: qml/Shell.qml:396
311+#: qml/Shell.qml:395
316msgid "Sorry, incorrect passcode"
312msgid "Sorry, incorrect passcode"
317msgstr "Sentímoslo, códigu de pasu incorreutu"
313msgstr "Sentímoslo, códigu de pasu incorreutu"
318
314
319−#: qml/Shell.qml:399
315+#: qml/Shell.qml:398
320#, qt-format
316#, qt-format
321msgid "Enter %1"
317msgid "Enter %1"
322msgstr "Escribi %1"
318msgstr "Escribi %1"
323
319
324−#: qml/Shell.qml:400
320+#: qml/Shell.qml:399
325#, qt-format
321#, qt-format
326msgid "Sorry, incorrect %1"
322msgid "Sorry, incorrect %1"
327msgstr "Sentímoslo, %1 incorreutu"
323msgstr "Sentímoslo, %1 incorreutu"
328
324
329−#: qml/Shell.qml:441
325+#: qml/Shell.qml:440
330msgid "Sorry, incorrect passphrase."
326msgid "Sorry, incorrect passphrase."
331msgstr "Fras de pasu incorreuta"
327msgstr "Fras de pasu incorreuta"
332
328
333−#: qml/Shell.qml:442
329+#: qml/Shell.qml:441
334msgid "Sorry, incorrect passcode."
330msgid "Sorry, incorrect passcode."
335msgstr "Códigu de pasu incorreutu"
331msgstr "Códigu de pasu incorreutu"
336
332
337−#: qml/Shell.qml:443
333+#: qml/Shell.qml:442
338msgid "This will be your last attempt."
334msgid "This will be your last attempt."
339msgstr "Esti ye'l caberu intentu."
335msgstr "Esti ye'l caberu intentu."
340
336
341−#: qml/Shell.qml:445
337+#: qml/Shell.qml:444
342msgid ""
338msgid ""
343"If passphrase is entered incorrectly, your phone will conduct a factory "
339"If passphrase is entered incorrectly, your phone will conduct a factory "
344"reset and all personal data will be deleted."
340"reset and all personal data will be deleted."
@@ -346,7 +342,7 @@ msgstr ""
346"Si s'inxerta la fras incorreutamente, el teléfonu va volver a la "
342"Si s'inxerta la fras incorreutamente, el teléfonu va volver a la "
347"configuración de fábrica y van perdese tolos datos personales."
343"configuración de fábrica y van perdese tolos datos personales."
348
344
349−#: qml/Shell.qml:446
345+#: qml/Shell.qml:445
350msgid ""
346msgid ""
351"If passcode is entered incorrectly, your phone will conduct a factory reset "
347"If passcode is entered incorrectly, your phone will conduct a factory reset "
352"and all personal data will be deleted."
348"and all personal data will be deleted."
@@ -368,3 +364,15 @@ msgstr ""
368
364
369#~ msgid "Speak Now..."
365#~ msgid "Speak Now..."
370#~ msgstr "Fala agora…"
366#~ msgstr "Fala agora…"
367+
368+#~ msgid "Done"
369+#~ msgstr "Fecho"
370+
371+#~ msgid "Favorites"
372+#~ msgstr "Favoritos"
373+
374+#~ msgid "All"
375+#~ msgstr "Too"
376+
377+#~ msgid "Manage Scopes"
378+#~ msgstr "Xestionar ámbitos"
po/az.po+40−35
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-09-03 16:39+0000\n"
11"PO-Revision-Date: 2014-09-03 16:39+0000\n"
12"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
12"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
13"Language-Team: Azerbaijani <az@li.org>\n"
13"Language-Team: Azerbaijani <az@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -175,20 +175,24 @@ msgstr "Daha azını gör"
175msgid "See all"
175msgid "See all"
176msgstr "Hamısını gör"
176msgstr "Hamısını gör"
177
177
178−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
178+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
179#: qml/Panel/SearchIndicator.qml:27
179#: qml/Panel/SearchIndicator.qml:27
180msgid "Search"
180msgid "Search"
181msgstr "Axtar"
181msgstr "Axtar"
182
182
183−#: qml/Dash/PageHeader.qml:268
183+#: qml/Dash/PageHeader.qml:260
184+msgid "Store"
185+msgstr ""
186+
187+#: qml/Dash/PageHeader.qml:277
184msgid "Settings"
188msgid "Settings"
185msgstr "Tənzimləmələr"
189msgstr "Tənzimləmələr"
186
190
187−#: qml/Dash/PageHeader.qml:275
191+#: qml/Dash/PageHeader.qml:284
188msgid "Remove from Favorites"
192msgid "Remove from Favorites"
189msgstr "Seçilmişlәrdәn çıxart"
193msgstr "Seçilmişlәrdәn çıxart"
190
194
191−#: qml/Dash/PageHeader.qml:275
195+#: qml/Dash/PageHeader.qml:284
192msgid "Add to Favorites"
196msgid "Add to Favorites"
193msgstr "Seçilmişlәrә әlavә et"
197msgstr "Seçilmişlәrә әlavә et"
194
198
@@ -220,31 +224,23 @@ msgstr ""
220msgid "Release to refresh…"
224msgid "Release to refresh…"
221msgstr ""
225msgstr ""
222
226
223−#: qml/Dash/ScopesOverview.qml:215
227+#: qml/Dash/ScopesList.qml:63
224−msgid "Manage Scopes"
228+msgid "Manage"
225msgstr ""
229msgstr ""
226
230
227−#: qml/Dash/ScopesOverview.qml:437
231+#: qml/Dash/ScopesList.qml:105
228−msgid "Done"
232+msgid "Home"
229−msgstr "Başa çatdı"
230−
231−#: qml/Dash/ScopesOverview.qml:463
232−msgid "Store"
233msgstr ""
233msgstr ""
234
234
235−#: qml/Dash/ScopesOverviewTab.qml:36
235+#: qml/Dash/ScopesList.qml:106
236−msgid "Favorites"
236+msgid "Also installed"
237−msgstr "Seçilmişlər"
238−
239−#: qml/Dash/ScopesOverviewTab.qml:54
240−msgid "All"
241−msgstr "Hamısı"
237+msgstr ""
242
238
243#: qml/Greeter/Greeter.qml:174
239#: qml/Greeter/Greeter.qml:174
244msgid "Unlock"
240msgid "Unlock"
245msgstr ""
241msgstr ""
246
242
247−#: qml/Notifications/NotificationMenuItemFactory.qml:116
243+#: qml/Notifications/NotificationMenuItemFactory.qml:128
248msgid "Show password"
244msgid "Show password"
249msgstr "Şifrәni göstәr"
245msgstr "Şifrәni göstәr"
250
246
@@ -292,49 +288,49 @@ msgstr "SIM kilidini aç"
292msgid "Roaming"
288msgid "Roaming"
293msgstr "Rominq"
289msgstr "Rominq"
294
290
295−#: qml/Shell.qml:391
291+#: qml/Shell.qml:390
296msgid "Enter passphrase"
292msgid "Enter passphrase"
297msgstr ""
293msgstr ""
298
294
299−#: qml/Shell.qml:392
295+#: qml/Shell.qml:391
300msgid "Sorry, incorrect passphrase"
296msgid "Sorry, incorrect passphrase"
301msgstr "Bağışlayın, açar söz yanlışdır"
297msgstr "Bağışlayın, açar söz yanlışdır"
302
298
303−#: qml/Shell.qml:393
299+#: qml/Shell.qml:392
304msgid "Please re-enter"
300msgid "Please re-enter"
305msgstr ""
301msgstr ""
306
302
307−#: qml/Shell.qml:395
303+#: qml/Shell.qml:394
308msgid "Enter passcode"
304msgid "Enter passcode"
309msgstr ""
305msgstr ""
310
306
311−#: qml/Shell.qml:396
307+#: qml/Shell.qml:395
312msgid "Sorry, incorrect passcode"
308msgid "Sorry, incorrect passcode"
313msgstr ""
309msgstr ""
314
310
315−#: qml/Shell.qml:399
311+#: qml/Shell.qml:398
316#, qt-format
312#, qt-format
317msgid "Enter %1"
313msgid "Enter %1"
318msgstr ""
314msgstr ""
319
315
320−#: qml/Shell.qml:400
316+#: qml/Shell.qml:399
321#, qt-format
317#, qt-format
322msgid "Sorry, incorrect %1"
318msgid "Sorry, incorrect %1"
323msgstr "Bağışlayın, %1 yanlışdır"
319msgstr "Bağışlayın, %1 yanlışdır"
324
320
325−#: qml/Shell.qml:441
321+#: qml/Shell.qml:440
326msgid "Sorry, incorrect passphrase."
322msgid "Sorry, incorrect passphrase."
327msgstr "Bağışlayın, açar söz yanlışdır."
323msgstr "Bağışlayın, açar söz yanlışdır."
328
324
329−#: qml/Shell.qml:442
325+#: qml/Shell.qml:441
330msgid "Sorry, incorrect passcode."
326msgid "Sorry, incorrect passcode."
331msgstr "Təəssüf ki, açar kod yanlışdır."
327msgstr "Təəssüf ki, açar kod yanlışdır."
332
328
333−#: qml/Shell.qml:443
329+#: qml/Shell.qml:442
334msgid "This will be your last attempt."
330msgid "This will be your last attempt."
335msgstr "Bu sizin son cəhdiniz olacaq."
331msgstr "Bu sizin son cəhdiniz olacaq."
336
332
337−#: qml/Shell.qml:445
333+#: qml/Shell.qml:444
338msgid ""
334msgid ""
339"If passphrase is entered incorrectly, your phone will conduct a factory "
335"If passphrase is entered incorrectly, your phone will conduct a factory "
340"reset and all personal data will be deleted."
336"reset and all personal data will be deleted."
@@ -342,7 +338,7 @@ msgstr ""
342"Əgər açar söz yanlış daxil edilibsə, onda telefonunuz fabrika parametrlərinə "
338"Əgər açar söz yanlış daxil edilibsə, onda telefonunuz fabrika parametrlərinə "
343"geri qayıdacaq və bütün şəxsi məlumatlarınız silinəcək."
339"geri qayıdacaq və bütün şəxsi məlumatlarınız silinəcək."
344
340
345−#: qml/Shell.qml:446
341+#: qml/Shell.qml:445
346msgid ""
342msgid ""
347"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
348"and all personal data will be deleted."
344"and all personal data will be deleted."
@@ -362,5 +358,14 @@ msgstr ""
362#~ msgid "Speak Now..."
358#~ msgid "Speak Now..."
363#~ msgstr "Danışın..."
359#~ msgstr "Danışın..."
364
360
361+#~ msgid "All"
362+#~ msgstr "Hamısı"
363+
364+#~ msgid "Favorites"
365+#~ msgstr "Seçilmişlər"
366+
367+#~ msgid "Done"
368+#~ msgstr "Başa çatdı"
369+
365#~ msgid "Type or say a command"
370#~ msgid "Type or say a command"
366#~ msgstr "Bir әmr söyləyin və ya yazın"
371#~ msgstr "Bir әmr söyləyin və ya yazın"
po/be.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-09-24 17:12+0000\n"
11"PO-Revision-Date: 2014-09-24 17:12+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Belarusian <be@li.org>\n"
13"Language-Team: Belarusian <be@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -173,20 +173,24 @@ msgstr ""
173msgid "See all"
173msgid "See all"
174msgstr ""
174msgstr ""
175
175
176−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
176+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
177#: qml/Panel/SearchIndicator.qml:27
177#: qml/Panel/SearchIndicator.qml:27
178msgid "Search"
178msgid "Search"
179msgstr ""
179msgstr ""
180
180
181−#: qml/Dash/PageHeader.qml:268
181+#: qml/Dash/PageHeader.qml:260
182+msgid "Store"
183+msgstr ""
184+
185+#: qml/Dash/PageHeader.qml:277
182msgid "Settings"
186msgid "Settings"
183msgstr ""
187msgstr ""
184
188
185−#: qml/Dash/PageHeader.qml:275
189+#: qml/Dash/PageHeader.qml:284
186msgid "Remove from Favorites"
190msgid "Remove from Favorites"
187msgstr ""
191msgstr ""
188
192
189−#: qml/Dash/PageHeader.qml:275
193+#: qml/Dash/PageHeader.qml:284
190msgid "Add to Favorites"
194msgid "Add to Favorites"
191msgstr ""
195msgstr ""
192
196
@@ -218,31 +222,23 @@ msgstr ""
218msgid "Release to refresh…"
222msgid "Release to refresh…"
219msgstr ""
223msgstr ""
220
224
221−#: qml/Dash/ScopesOverview.qml:215
225+#: qml/Dash/ScopesList.qml:63
222−msgid "Manage Scopes"
226+msgid "Manage"
223msgstr ""
227msgstr ""
224
228
225−#: qml/Dash/ScopesOverview.qml:437
229+#: qml/Dash/ScopesList.qml:105
226−msgid "Done"
227−msgstr ""
228−
229−#: qml/Dash/ScopesOverview.qml:463
230−msgid "Store"
230+msgid "Home"
231msgstr ""
231msgstr ""
232
232
233−#: qml/Dash/ScopesOverviewTab.qml:36
233+#: qml/Dash/ScopesList.qml:106
234−msgid "Favorites"
234+msgid "Also installed"
235−msgstr ""
236−
237−#: qml/Dash/ScopesOverviewTab.qml:54
238−msgid "All"
239msgstr ""
235msgstr ""
240
236
241#: qml/Greeter/Greeter.qml:174
237#: qml/Greeter/Greeter.qml:174
242msgid "Unlock"
238msgid "Unlock"
243msgstr ""
239msgstr ""
244
240
245−#: qml/Notifications/NotificationMenuItemFactory.qml:116
241+#: qml/Notifications/NotificationMenuItemFactory.qml:128
246msgid "Show password"
242msgid "Show password"
247msgstr ""
243msgstr ""
248
244
@@ -290,55 +286,55 @@ msgstr ""
290msgid "Roaming"
286msgid "Roaming"
291msgstr ""
287msgstr ""
292
288
293−#: qml/Shell.qml:391
289+#: qml/Shell.qml:390
294msgid "Enter passphrase"
290msgid "Enter passphrase"
295msgstr ""
291msgstr ""
296
292
297−#: qml/Shell.qml:392
293+#: qml/Shell.qml:391
298msgid "Sorry, incorrect passphrase"
294msgid "Sorry, incorrect passphrase"
299msgstr ""
295msgstr ""
300
296
301−#: qml/Shell.qml:393
297+#: qml/Shell.qml:392
302msgid "Please re-enter"
298msgid "Please re-enter"
303msgstr ""
299msgstr ""
304
300
305−#: qml/Shell.qml:395
301+#: qml/Shell.qml:394
306msgid "Enter passcode"
302msgid "Enter passcode"
307msgstr ""
303msgstr ""
308
304
309−#: qml/Shell.qml:396
305+#: qml/Shell.qml:395
310msgid "Sorry, incorrect passcode"
306msgid "Sorry, incorrect passcode"
311msgstr ""
307msgstr ""
312
308
313−#: qml/Shell.qml:399
309+#: qml/Shell.qml:398
314#, qt-format
310#, qt-format
315msgid "Enter %1"
311msgid "Enter %1"
316msgstr ""
312msgstr ""
317
313
318−#: qml/Shell.qml:400
314+#: qml/Shell.qml:399
319#, qt-format
315#, qt-format
320msgid "Sorry, incorrect %1"
316msgid "Sorry, incorrect %1"
321msgstr ""
317msgstr ""
322
318
323−#: qml/Shell.qml:441
319+#: qml/Shell.qml:440
324msgid "Sorry, incorrect passphrase."
320msgid "Sorry, incorrect passphrase."
325msgstr ""
321msgstr ""
326
322
327−#: qml/Shell.qml:442
323+#: qml/Shell.qml:441
328msgid "Sorry, incorrect passcode."
324msgid "Sorry, incorrect passcode."
329msgstr ""
325msgstr ""
330
326
331−#: qml/Shell.qml:443
327+#: qml/Shell.qml:442
332msgid "This will be your last attempt."
328msgid "This will be your last attempt."
333msgstr ""
329msgstr ""
334
330
335−#: qml/Shell.qml:445
331+#: qml/Shell.qml:444
336msgid ""
332msgid ""
337"If passphrase is entered incorrectly, your phone will conduct a factory "
333"If passphrase is entered incorrectly, your phone will conduct a factory "
338"reset and all personal data will be deleted."
334"reset and all personal data will be deleted."
339msgstr ""
335msgstr ""
340
336
341−#: qml/Shell.qml:446
337+#: qml/Shell.qml:445
342msgid ""
338msgid ""
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
339"If passcode is entered incorrectly, your phone will conduct a factory reset "
344"and all personal data will be deleted."
340"and all personal data will be deleted."
po/bg.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-04-01 14:08+0000\n"
11"PO-Revision-Date: 2014-04-01 14:08+0000\n"
12"Last-Translator: Atanas Kovachki <Unknown>\n"
12"Last-Translator: Atanas Kovachki <Unknown>\n"
13"Language-Team: Bulgarian <bg@li.org>\n"
13"Language-Team: Bulgarian <bg@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -179,20 +179,24 @@ msgstr ""
179msgid "See all"
179msgid "See all"
180msgstr ""
180msgstr ""
181
181
182−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
182+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
183#: qml/Panel/SearchIndicator.qml:27
183#: qml/Panel/SearchIndicator.qml:27
184msgid "Search"
184msgid "Search"
185msgstr "Търсене"
185msgstr "Търсене"
186
186
187−#: qml/Dash/PageHeader.qml:268
187+#: qml/Dash/PageHeader.qml:260
188+msgid "Store"
189+msgstr ""
190+
191+#: qml/Dash/PageHeader.qml:277
188msgid "Settings"
192msgid "Settings"
189msgstr ""
193msgstr ""
190
194
191−#: qml/Dash/PageHeader.qml:275
195+#: qml/Dash/PageHeader.qml:284
192msgid "Remove from Favorites"
196msgid "Remove from Favorites"
193msgstr ""
197msgstr ""
194
198
195−#: qml/Dash/PageHeader.qml:275
199+#: qml/Dash/PageHeader.qml:284
196msgid "Add to Favorites"
200msgid "Add to Favorites"
197msgstr ""
201msgstr ""
198
202
@@ -224,31 +228,23 @@ msgstr ""
224msgid "Release to refresh…"
228msgid "Release to refresh…"
225msgstr ""
229msgstr ""
226
230
227−#: qml/Dash/ScopesOverview.qml:215
231+#: qml/Dash/ScopesList.qml:63
228−msgid "Manage Scopes"
232+msgid "Manage"
229msgstr ""
233msgstr ""
230
234
231−#: qml/Dash/ScopesOverview.qml:437
235+#: qml/Dash/ScopesList.qml:105
232−msgid "Done"
233−msgstr ""
234−
235−#: qml/Dash/ScopesOverview.qml:463
236−msgid "Store"
236+msgid "Home"
237msgstr ""
237msgstr ""
238
238
239−#: qml/Dash/ScopesOverviewTab.qml:36
239+#: qml/Dash/ScopesList.qml:106
240−msgid "Favorites"
240+msgid "Also installed"
241−msgstr ""
242−
243−#: qml/Dash/ScopesOverviewTab.qml:54
244−msgid "All"
245msgstr ""
241msgstr ""
246
242
247#: qml/Greeter/Greeter.qml:174
243#: qml/Greeter/Greeter.qml:174
248msgid "Unlock"
244msgid "Unlock"
249msgstr ""
245msgstr ""
250
246
251−#: qml/Notifications/NotificationMenuItemFactory.qml:116
247+#: qml/Notifications/NotificationMenuItemFactory.qml:128
252msgid "Show password"
248msgid "Show password"
253msgstr "Покажи паролата"
249msgstr "Покажи паролата"
254
250
@@ -296,55 +292,55 @@ msgstr ""
296msgid "Roaming"
292msgid "Roaming"
297msgstr ""
293msgstr ""
298
294
299−#: qml/Shell.qml:391
295+#: qml/Shell.qml:390
300msgid "Enter passphrase"
296msgid "Enter passphrase"
301msgstr ""
297msgstr ""
302
298
303−#: qml/Shell.qml:392
299+#: qml/Shell.qml:391
304msgid "Sorry, incorrect passphrase"
300msgid "Sorry, incorrect passphrase"
305msgstr ""
301msgstr ""
306
302
307−#: qml/Shell.qml:393
303+#: qml/Shell.qml:392
308msgid "Please re-enter"
304msgid "Please re-enter"
309msgstr ""
305msgstr ""
310
306
311−#: qml/Shell.qml:395
307+#: qml/Shell.qml:394
312msgid "Enter passcode"
308msgid "Enter passcode"
313msgstr ""
309msgstr ""
314
310
315−#: qml/Shell.qml:396
311+#: qml/Shell.qml:395
316msgid "Sorry, incorrect passcode"
312msgid "Sorry, incorrect passcode"
317msgstr ""
313msgstr ""
318
314
319−#: qml/Shell.qml:399
315+#: qml/Shell.qml:398
320#, qt-format
316#, qt-format
321msgid "Enter %1"
317msgid "Enter %1"
322msgstr ""
318msgstr ""
323
319
324−#: qml/Shell.qml:400
320+#: qml/Shell.qml:399
325#, qt-format
321#, qt-format
326msgid "Sorry, incorrect %1"
322msgid "Sorry, incorrect %1"
327msgstr ""
323msgstr ""
328
324
329−#: qml/Shell.qml:441
325+#: qml/Shell.qml:440
330msgid "Sorry, incorrect passphrase."
326msgid "Sorry, incorrect passphrase."
331msgstr ""
327msgstr ""
332
328
333−#: qml/Shell.qml:442
329+#: qml/Shell.qml:441
334msgid "Sorry, incorrect passcode."
330msgid "Sorry, incorrect passcode."
335msgstr ""
331msgstr ""
336
332
337−#: qml/Shell.qml:443
333+#: qml/Shell.qml:442
338msgid "This will be your last attempt."
334msgid "This will be your last attempt."
339msgstr ""
335msgstr ""
340
336
341−#: qml/Shell.qml:445
337+#: qml/Shell.qml:444
342msgid ""
338msgid ""
343"If passphrase is entered incorrectly, your phone will conduct a factory "
339"If passphrase is entered incorrectly, your phone will conduct a factory "
344"reset and all personal data will be deleted."
340"reset and all personal data will be deleted."
345msgstr ""
341msgstr ""
346
342
347−#: qml/Shell.qml:446
343+#: qml/Shell.qml:445
348msgid ""
344msgid ""
349"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
350"and all personal data will be deleted."
346"and all personal data will be deleted."
po/br.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-05 07:24+0000\n"
11"PO-Revision-Date: 2014-11-05 07:24+0000\n"
12"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
12"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
13"Language-Team: Breton <br@li.org>\n"
13"Language-Team: Breton <br@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -185,20 +185,24 @@ msgstr "Gwelet nebeutoc'h"
185msgid "See all"
185msgid "See all"
186msgstr "Gwelet pep tra"
186msgstr "Gwelet pep tra"
187
187
188−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
188+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
189#: qml/Panel/SearchIndicator.qml:27
189#: qml/Panel/SearchIndicator.qml:27
190msgid "Search"
190msgid "Search"
191msgstr "Klask"
191msgstr "Klask"
192
192
193−#: qml/Dash/PageHeader.qml:268
193+#: qml/Dash/PageHeader.qml:260
194+msgid "Store"
195+msgstr "Enrollañ"
196+
197+#: qml/Dash/PageHeader.qml:277
194msgid "Settings"
198msgid "Settings"
195msgstr "Arventennoù"
199msgstr "Arventennoù"
196
200
197−#: qml/Dash/PageHeader.qml:275
201+#: qml/Dash/PageHeader.qml:284
198msgid "Remove from Favorites"
202msgid "Remove from Favorites"
199msgstr "Lemel eus ar sinedoù"
203msgstr "Lemel eus ar sinedoù"
200
204
201−#: qml/Dash/PageHeader.qml:275
205+#: qml/Dash/PageHeader.qml:284
202msgid "Add to Favorites"
206msgid "Add to Favorites"
203msgstr "Ouzhpennañ d'ar sinedoù"
207msgstr "Ouzhpennañ d'ar sinedoù"
204
208
@@ -230,31 +234,23 @@ msgstr "Tennañ evit freskaat..."
230msgid "Release to refresh…"
234msgid "Release to refresh…"
231msgstr "Lezel da vont evit freskaat..."
235msgstr "Lezel da vont evit freskaat..."
232
236
233−#: qml/Dash/ScopesOverview.qml:215
237+#: qml/Dash/ScopesList.qml:63
234−msgid "Manage Scopes"
238+msgid "Manage"
235−msgstr "Merañ ar c'hefluskerioù enklask"
239+msgstr ""
236−
237−#: qml/Dash/ScopesOverview.qml:437
238−msgid "Done"
239−msgstr "Graet eo"
240−
241−#: qml/Dash/ScopesOverview.qml:463
242−msgid "Store"
243−msgstr "Enrollañ"
244
240
245−#: qml/Dash/ScopesOverviewTab.qml:36
241+#: qml/Dash/ScopesList.qml:105
246−msgid "Favorites"
242+msgid "Home"
247−msgstr "Gwellañ deuet"
243+msgstr ""
248
244
249−#: qml/Dash/ScopesOverviewTab.qml:54
245+#: qml/Dash/ScopesList.qml:106
250−msgid "All"
246+msgid "Also installed"
251−msgstr "An holl anezho"
247+msgstr ""
252
248
253#: qml/Greeter/Greeter.qml:174
249#: qml/Greeter/Greeter.qml:174
254msgid "Unlock"
250msgid "Unlock"
255msgstr "Dibrennañ"
251msgstr "Dibrennañ"
256
252
257−#: qml/Notifications/NotificationMenuItemFactory.qml:116
253+#: qml/Notifications/NotificationMenuItemFactory.qml:128
258msgid "Show password"
254msgid "Show password"
259msgstr "Diskouez ar ger-tremen"
255msgstr "Diskouez ar ger-tremen"
260
256
@@ -302,49 +298,49 @@ msgstr "Dibrennañ ar gartenn SIM"
302msgid "Roaming"
298msgid "Roaming"
303msgstr "O kantren"
299msgstr "O kantren"
304
300
305−#: qml/Shell.qml:391
301+#: qml/Shell.qml:390
306msgid "Enter passphrase"
302msgid "Enter passphrase"
307msgstr "Merkañ ar frazenn-dremen"
303msgstr "Merkañ ar frazenn-dremen"
308
304
309−#: qml/Shell.qml:392
305+#: qml/Shell.qml:391
310msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
311msgstr "Siwazh, frazenn-dremen direizh"
307msgstr "Siwazh, frazenn-dremen direizh"
312
308
313−#: qml/Shell.qml:393
309+#: qml/Shell.qml:392
314msgid "Please re-enter"
310msgid "Please re-enter"
315msgstr "Adverkañ, mar plij"
311msgstr "Adverkañ, mar plij"
316
312
317−#: qml/Shell.qml:395
313+#: qml/Shell.qml:394
318msgid "Enter passcode"
314msgid "Enter passcode"
319msgstr "Merkañ ar c'hod-tremen"
315msgstr "Merkañ ar c'hod-tremen"
320
316
321−#: qml/Shell.qml:396
317+#: qml/Shell.qml:395
322msgid "Sorry, incorrect passcode"
318msgid "Sorry, incorrect passcode"
323msgstr "Digarezit, kod-tremen direizh"
319msgstr "Digarezit, kod-tremen direizh"
324
320
325−#: qml/Shell.qml:399
321+#: qml/Shell.qml:398
326#, qt-format
322#, qt-format
327msgid "Enter %1"
323msgid "Enter %1"
328msgstr "Merkañ %1"
324msgstr "Merkañ %1"
329
325
330−#: qml/Shell.qml:400
326+#: qml/Shell.qml:399
331#, qt-format
327#, qt-format
332msgid "Sorry, incorrect %1"
328msgid "Sorry, incorrect %1"
333msgstr "Siwazh, %1 direizh"
329msgstr "Siwazh, %1 direizh"
334
330
335−#: qml/Shell.qml:441
331+#: qml/Shell.qml:440
336msgid "Sorry, incorrect passphrase."
332msgid "Sorry, incorrect passphrase."
337msgstr "Siwazh, frazenn-dremen direizh"
333msgstr "Siwazh, frazenn-dremen direizh"
338
334
339−#: qml/Shell.qml:442
335+#: qml/Shell.qml:441
340msgid "Sorry, incorrect passcode."
336msgid "Sorry, incorrect passcode."
341msgstr "Siwazh, kod-tremen direizh"
337msgstr "Siwazh, kod-tremen direizh"
342
338
343−#: qml/Shell.qml:443
339+#: qml/Shell.qml:442
344msgid "This will be your last attempt."
340msgid "This will be your last attempt."
345msgstr "Ho taol-esae diwezhañ e vo."
341msgstr "Ho taol-esae diwezhañ e vo."
346
342
347−#: qml/Shell.qml:445
343+#: qml/Shell.qml:444
348msgid ""
344msgid ""
349"If passphrase is entered incorrectly, your phone will conduct a factory "
345"If passphrase is entered incorrectly, your phone will conduct a factory "
350"reset and all personal data will be deleted."
346"reset and all personal data will be deleted."
@@ -352,7 +348,7 @@ msgstr ""
352"Ma vez ebarzhet ur frazenn-dremen direizh, e vo adderaouekaet ho pellgomzer "
348"Ma vez ebarzhet ur frazenn-dremen direizh, e vo adderaouekaet ho pellgomzer "
353"gant arventennoù al labouradeg hag e vo diverket an holl roadennoù personel"
349"gant arventennoù al labouradeg hag e vo diverket an holl roadennoù personel"
354
350
355−#: qml/Shell.qml:446
351+#: qml/Shell.qml:445
356msgid ""
352msgid ""
357"If passcode is entered incorrectly, your phone will conduct a factory reset "
353"If passcode is entered incorrectly, your phone will conduct a factory reset "
358"and all personal data will be deleted."
354"and all personal data will be deleted."
@@ -374,3 +370,15 @@ msgstr ""
374
370
375#~ msgid "Type or say a command"
371#~ msgid "Type or say a command"
376#~ msgstr "Skrivit pe lavarit un urzhiad"
372#~ msgstr "Skrivit pe lavarit un urzhiad"
373+
374+#~ msgid "Done"
375+#~ msgstr "Graet eo"
376+
377+#~ msgid "All"
378+#~ msgstr "An holl anezho"
379+
380+#~ msgid "Favorites"
381+#~ msgstr "Gwellañ deuet"
382+
383+#~ msgid "Manage Scopes"
384+#~ msgstr "Merañ ar c'hefluskerioù enklask"
po/bs.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-01-16 22:33+0000\n"
11"PO-Revision-Date: 2014-01-16 22:33+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Bosnian <bs@li.org>\n"
13"Language-Team: Bosnian <bs@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -173,20 +173,24 @@ msgstr ""
173msgid "See all"
173msgid "See all"
174msgstr ""
174msgstr ""
175
175
176−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
176+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
177#: qml/Panel/SearchIndicator.qml:27
177#: qml/Panel/SearchIndicator.qml:27
178msgid "Search"
178msgid "Search"
179msgstr ""
179msgstr ""
180
180
181−#: qml/Dash/PageHeader.qml:268
181+#: qml/Dash/PageHeader.qml:260
182+msgid "Store"
183+msgstr ""
184+
185+#: qml/Dash/PageHeader.qml:277
182msgid "Settings"
186msgid "Settings"
183msgstr ""
187msgstr ""
184
188
185−#: qml/Dash/PageHeader.qml:275
189+#: qml/Dash/PageHeader.qml:284
186msgid "Remove from Favorites"
190msgid "Remove from Favorites"
187msgstr ""
191msgstr ""
188
192
189−#: qml/Dash/PageHeader.qml:275
193+#: qml/Dash/PageHeader.qml:284
190msgid "Add to Favorites"
194msgid "Add to Favorites"
191msgstr ""
195msgstr ""
192
196
@@ -218,31 +222,23 @@ msgstr ""
218msgid "Release to refresh…"
222msgid "Release to refresh…"
219msgstr ""
223msgstr ""
220
224
221−#: qml/Dash/ScopesOverview.qml:215
225+#: qml/Dash/ScopesList.qml:63
222−msgid "Manage Scopes"
226+msgid "Manage"
223msgstr ""
227msgstr ""
224
228
225−#: qml/Dash/ScopesOverview.qml:437
229+#: qml/Dash/ScopesList.qml:105
226−msgid "Done"
227−msgstr ""
228−
229−#: qml/Dash/ScopesOverview.qml:463
230−msgid "Store"
230+msgid "Home"
231msgstr ""
231msgstr ""
232
232
233−#: qml/Dash/ScopesOverviewTab.qml:36
233+#: qml/Dash/ScopesList.qml:106
234−msgid "Favorites"
234+msgid "Also installed"
235−msgstr ""
236−
237−#: qml/Dash/ScopesOverviewTab.qml:54
238−msgid "All"
239msgstr ""
235msgstr ""
240
236
241#: qml/Greeter/Greeter.qml:174
237#: qml/Greeter/Greeter.qml:174
242msgid "Unlock"
238msgid "Unlock"
243msgstr ""
239msgstr ""
244
240
245−#: qml/Notifications/NotificationMenuItemFactory.qml:116
241+#: qml/Notifications/NotificationMenuItemFactory.qml:128
246msgid "Show password"
242msgid "Show password"
247msgstr ""
243msgstr ""
248
244
@@ -290,55 +286,55 @@ msgstr ""
290msgid "Roaming"
286msgid "Roaming"
291msgstr ""
287msgstr ""
292
288
293−#: qml/Shell.qml:391
289+#: qml/Shell.qml:390
294msgid "Enter passphrase"
290msgid "Enter passphrase"
295msgstr ""
291msgstr ""
296
292
297−#: qml/Shell.qml:392
293+#: qml/Shell.qml:391
298msgid "Sorry, incorrect passphrase"
294msgid "Sorry, incorrect passphrase"
299msgstr ""
295msgstr ""
300
296
301−#: qml/Shell.qml:393
297+#: qml/Shell.qml:392
302msgid "Please re-enter"
298msgid "Please re-enter"
303msgstr ""
299msgstr ""
304
300
305−#: qml/Shell.qml:395
301+#: qml/Shell.qml:394
306msgid "Enter passcode"
302msgid "Enter passcode"
307msgstr ""
303msgstr ""
308
304
309−#: qml/Shell.qml:396
305+#: qml/Shell.qml:395
310msgid "Sorry, incorrect passcode"
306msgid "Sorry, incorrect passcode"
311msgstr ""
307msgstr ""
312
308
313−#: qml/Shell.qml:399
309+#: qml/Shell.qml:398
314#, qt-format
310#, qt-format
315msgid "Enter %1"
311msgid "Enter %1"
316msgstr ""
312msgstr ""
317
313
318−#: qml/Shell.qml:400
314+#: qml/Shell.qml:399
319#, qt-format
315#, qt-format
320msgid "Sorry, incorrect %1"
316msgid "Sorry, incorrect %1"
321msgstr ""
317msgstr ""
322
318
323−#: qml/Shell.qml:441
319+#: qml/Shell.qml:440
324msgid "Sorry, incorrect passphrase."
320msgid "Sorry, incorrect passphrase."
325msgstr ""
321msgstr ""
326
322
327−#: qml/Shell.qml:442
323+#: qml/Shell.qml:441
328msgid "Sorry, incorrect passcode."
324msgid "Sorry, incorrect passcode."
329msgstr ""
325msgstr ""
330
326
331−#: qml/Shell.qml:443
327+#: qml/Shell.qml:442
332msgid "This will be your last attempt."
328msgid "This will be your last attempt."
333msgstr ""
329msgstr ""
334
330
335−#: qml/Shell.qml:445
331+#: qml/Shell.qml:444
336msgid ""
332msgid ""
337"If passphrase is entered incorrectly, your phone will conduct a factory "
333"If passphrase is entered incorrectly, your phone will conduct a factory "
338"reset and all personal data will be deleted."
334"reset and all personal data will be deleted."
339msgstr ""
335msgstr ""
340
336
341−#: qml/Shell.qml:446
337+#: qml/Shell.qml:445
342msgid ""
338msgid ""
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
339"If passcode is entered incorrectly, your phone will conduct a factory reset "
344"and all personal data will be deleted."
340"and all personal data will be deleted."
po/ca.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-10 09:22+0000\n"
11"PO-Revision-Date: 2014-11-10 09:22+0000\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-11 07:11+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17241)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -186,20 +186,24 @@ msgstr "Mostra'n menys"
186msgid "See all"
186msgid "See all"
187msgstr "Mostra-ho tot"
187msgstr "Mostra-ho tot"
188
188
189−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
189+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
190#: qml/Panel/SearchIndicator.qml:27
190#: qml/Panel/SearchIndicator.qml:27
191msgid "Search"
191msgid "Search"
192msgstr "Cerca"
192msgstr "Cerca"
193
193
194−#: qml/Dash/PageHeader.qml:268
194+#: qml/Dash/PageHeader.qml:260
195+msgid "Store"
196+msgstr "Botiga"
197+
198+#: qml/Dash/PageHeader.qml:277
195msgid "Settings"
199msgid "Settings"
196msgstr "Paràmetres"
200msgstr "Paràmetres"
197
201
198−#: qml/Dash/PageHeader.qml:275
202+#: qml/Dash/PageHeader.qml:284
199msgid "Remove from Favorites"
203msgid "Remove from Favorites"
200msgstr "Suprimeix dels preferits"
204msgstr "Suprimeix dels preferits"
201
205
202−#: qml/Dash/PageHeader.qml:275
206+#: qml/Dash/PageHeader.qml:284
203msgid "Add to Favorites"
207msgid "Add to Favorites"
204msgstr "Afegeix als preferits"
208msgstr "Afegeix als preferits"
205
209
@@ -231,31 +235,23 @@ msgstr "Estireu per actualitzar..."
231msgid "Release to refresh…"
235msgid "Release to refresh…"
232msgstr "Deixeu anar per actualitzar..."
236msgstr "Deixeu anar per actualitzar..."
233
237
234−#: qml/Dash/ScopesOverview.qml:215
238+#: qml/Dash/ScopesList.qml:63
235−msgid "Manage Scopes"
239+msgid "Manage"
236−msgstr "Gestioneu les lents"
240+msgstr ""
237−
238−#: qml/Dash/ScopesOverview.qml:437
239−msgid "Done"
240−msgstr "Fet"
241−
242−#: qml/Dash/ScopesOverview.qml:463
243−msgid "Store"
244−msgstr "Botiga"
245
241
246−#: qml/Dash/ScopesOverviewTab.qml:36
242+#: qml/Dash/ScopesList.qml:105
247−msgid "Favorites"
243+msgid "Home"
248−msgstr "Preferides"
244+msgstr ""
249
245
250−#: qml/Dash/ScopesOverviewTab.qml:54
246+#: qml/Dash/ScopesList.qml:106
251−msgid "All"
247+msgid "Also installed"
252−msgstr "Totes"
248+msgstr ""
253
249
254#: qml/Greeter/Greeter.qml:174
250#: qml/Greeter/Greeter.qml:174
255msgid "Unlock"
251msgid "Unlock"
256msgstr "Desbloca"
252msgstr "Desbloca"
257
253
258−#: qml/Notifications/NotificationMenuItemFactory.qml:116
254+#: qml/Notifications/NotificationMenuItemFactory.qml:128
259msgid "Show password"
255msgid "Show password"
260msgstr "Mostra la contrasenya"
256msgstr "Mostra la contrasenya"
261
257
@@ -303,49 +299,49 @@ msgstr "Desbloca la SIM"
303msgid "Roaming"
299msgid "Roaming"
304msgstr "Itinerància"
300msgstr "Itinerància"
305
301
306−#: qml/Shell.qml:391
302+#: qml/Shell.qml:390
307msgid "Enter passphrase"
303msgid "Enter passphrase"
308msgstr "Introduïu la contrasenya"
304msgstr "Introduïu la contrasenya"
309
305
310−#: qml/Shell.qml:392
306+#: qml/Shell.qml:391
311msgid "Sorry, incorrect passphrase"
307msgid "Sorry, incorrect passphrase"
312msgstr "La contrasenya no és correcta"
308msgstr "La contrasenya no és correcta"
313
309
314−#: qml/Shell.qml:393
310+#: qml/Shell.qml:392
315msgid "Please re-enter"
311msgid "Please re-enter"
316msgstr "Torneu-ho a introduir"
312msgstr "Torneu-ho a introduir"
317
313
318−#: qml/Shell.qml:395
314+#: qml/Shell.qml:394
319msgid "Enter passcode"
315msgid "Enter passcode"
320msgstr "Introduïu el codi d'accés"
316msgstr "Introduïu el codi d'accés"
321
317
322−#: qml/Shell.qml:396
318+#: qml/Shell.qml:395
323msgid "Sorry, incorrect passcode"
319msgid "Sorry, incorrect passcode"
324msgstr "El codi d'accés no és correcte"
320msgstr "El codi d'accés no és correcte"
325
321
326−#: qml/Shell.qml:399
322+#: qml/Shell.qml:398
327#, qt-format
323#, qt-format
328msgid "Enter %1"
324msgid "Enter %1"
329msgstr "Introduïu: %1"
325msgstr "Introduïu: %1"
330
326
331−#: qml/Shell.qml:400
327+#: qml/Shell.qml:399
332#, qt-format
328#, qt-format
333msgid "Sorry, incorrect %1"
329msgid "Sorry, incorrect %1"
334msgstr "Incorrecte (%1)"
330msgstr "Incorrecte (%1)"
335
331
336−#: qml/Shell.qml:441
332+#: qml/Shell.qml:440
337msgid "Sorry, incorrect passphrase."
333msgid "Sorry, incorrect passphrase."
338msgstr "La contrasenya és incorrecta"
334msgstr "La contrasenya és incorrecta"
339
335
340−#: qml/Shell.qml:442
336+#: qml/Shell.qml:441
341msgid "Sorry, incorrect passcode."
337msgid "Sorry, incorrect passcode."
342msgstr "El codi d'accés no és correcte"
338msgstr "El codi d'accés no és correcte"
343
339
344−#: qml/Shell.qml:443
340+#: qml/Shell.qml:442
345msgid "This will be your last attempt."
341msgid "This will be your last attempt."
346msgstr "Aquest serà el darrer intent."
342msgstr "Aquest serà el darrer intent."
347
343
348−#: qml/Shell.qml:445
344+#: qml/Shell.qml:444
349msgid ""
345msgid ""
350"If passphrase is entered incorrectly, your phone will conduct a factory "
346"If passphrase is entered incorrectly, your phone will conduct a factory "
351"reset and all personal data will be deleted."
347"reset and all personal data will be deleted."
@@ -354,7 +350,7 @@ msgstr ""
354"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
350"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
355"personals."
351"personals."
356
352
357−#: qml/Shell.qml:446
353+#: qml/Shell.qml:445
358msgid ""
354msgid ""
359"If passcode is entered incorrectly, your phone will conduct a factory reset "
355"If passcode is entered incorrectly, your phone will conduct a factory reset "
360"and all personal data will be deleted."
356"and all personal data will be deleted."
@@ -377,3 +373,15 @@ msgstr ""
377
373
378#~ msgid "Speaking..."
374#~ msgid "Speaking..."
379#~ msgstr "S'està parlant..."
375#~ msgstr "S'està parlant..."
376+
377+#~ msgid "Done"
378+#~ msgstr "Fet"
379+
380+#~ msgid "Favorites"
381+#~ msgstr "Preferides"
382+
383+#~ msgid "All"
384+#~ msgstr "Totes"
385+
386+#~ msgid "Manage Scopes"
387+#~ msgstr "Gestioneu les lents"
po/ca@valencia.po+52−44
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-23 07:17+0000\n"
11"PO-Revision-Date: 2014-11-23 07:17+0000\n"
12"Last-Translator: Pau Iranzo <Unknown>\n"
12"Last-Translator: Pau Iranzo <Unknown>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-24 06:20+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17252)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -186,20 +186,24 @@ msgstr "Mostra'n menys"
186msgid "See all"
186msgid "See all"
187msgstr "Mostra-ho tot"
187msgstr "Mostra-ho tot"
188
188
189−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
189+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
190#: qml/Panel/SearchIndicator.qml:27
190#: qml/Panel/SearchIndicator.qml:27
191msgid "Search"
191msgid "Search"
192msgstr "Cerca"
192msgstr "Cerca"
193
193
194−#: qml/Dash/PageHeader.qml:268
194+#: qml/Dash/PageHeader.qml:260
195+msgid "Store"
196+msgstr "Botiga"
197+
198+#: qml/Dash/PageHeader.qml:277
195msgid "Settings"
199msgid "Settings"
196msgstr "Paràmetres"
200msgstr "Paràmetres"
197
201
198−#: qml/Dash/PageHeader.qml:275
202+#: qml/Dash/PageHeader.qml:284
199msgid "Remove from Favorites"
203msgid "Remove from Favorites"
200msgstr "Suprimeix dels preferits"
204msgstr "Suprimeix dels preferits"
201
205
202−#: qml/Dash/PageHeader.qml:275
206+#: qml/Dash/PageHeader.qml:284
203msgid "Add to Favorites"
207msgid "Add to Favorites"
204msgstr "Afig als preferits"
208msgstr "Afig als preferits"
205
209
@@ -231,31 +235,23 @@ msgstr "Estireu per actualitzar..."
231msgid "Release to refresh…"
235msgid "Release to refresh…"
232msgstr "Deixeu anar per actualitzar..."
236msgstr "Deixeu anar per actualitzar..."
233
237
234−#: qml/Dash/ScopesOverview.qml:215
238+#: qml/Dash/ScopesList.qml:63
235−msgid "Manage Scopes"
239+msgid "Manage"
236−msgstr "Gestioneu les lents"
240+msgstr ""
237−
238−#: qml/Dash/ScopesOverview.qml:437
239−msgid "Done"
240−msgstr "Fet"
241−
242−#: qml/Dash/ScopesOverview.qml:463
243−msgid "Store"
244−msgstr "Botiga"
245
241
246−#: qml/Dash/ScopesOverviewTab.qml:36
242+#: qml/Dash/ScopesList.qml:105
247−msgid "Favorites"
243+msgid "Home"
248−msgstr "Preferides"
244+msgstr ""
249
245
250−#: qml/Dash/ScopesOverviewTab.qml:54
246+#: qml/Dash/ScopesList.qml:106
251−msgid "All"
247+msgid "Also installed"
252−msgstr "Totes"
248+msgstr ""
253
249
254#: qml/Greeter/Greeter.qml:174
250#: qml/Greeter/Greeter.qml:174
255msgid "Unlock"
251msgid "Unlock"
256msgstr "Desbloca"
252msgstr "Desbloca"
257
253
258−#: qml/Notifications/NotificationMenuItemFactory.qml:116
254+#: qml/Notifications/NotificationMenuItemFactory.qml:128
259msgid "Show password"
255msgid "Show password"
260msgstr "Mostra la contrasenya"
256msgstr "Mostra la contrasenya"
261
257
@@ -267,31 +263,31 @@ msgstr "Feu un toc per tornar a la cridada..."
267msgid "Conference"
263msgid "Conference"
268msgstr "Conferència"
264msgstr "Conferència"
269
265
270−#: qml/Panel/Indicators/MenuItemFactory.qml:615
266+#: qml/Panel/Indicators/MenuItemFactory.qml:643
271msgid "Nothing is playing"
267msgid "Nothing is playing"
272msgstr "No s'està reproduint res"
268msgstr "No s'està reproduint res"
273
269
274−#: qml/Panel/Indicators/MenuItemFactory.qml:763
270+#: qml/Panel/Indicators/MenuItemFactory.qml:791
275msgid "In queue…"
271msgid "In queue…"
276msgstr "A la cua..."
272msgstr "A la cua..."
277
273
278−#: qml/Panel/Indicators/MenuItemFactory.qml:767
274+#: qml/Panel/Indicators/MenuItemFactory.qml:795
279msgid "Downloading"
275msgid "Downloading"
280msgstr "S'està baixant"
276msgstr "S'està baixant"
281
277
282−#: qml/Panel/Indicators/MenuItemFactory.qml:769
278+#: qml/Panel/Indicators/MenuItemFactory.qml:797
283msgid "Paused, tap to resume"
279msgid "Paused, tap to resume"
284msgstr "En pausa, feu un toc per continuar"
280msgstr "En pausa, feu un toc per continuar"
285
281
286−#: qml/Panel/Indicators/MenuItemFactory.qml:771
282+#: qml/Panel/Indicators/MenuItemFactory.qml:799
287msgid "Canceled"
283msgid "Canceled"
288msgstr "S'ha cancel·lat"
284msgstr "S'ha cancel·lat"
289
285
290−#: qml/Panel/Indicators/MenuItemFactory.qml:773
286+#: qml/Panel/Indicators/MenuItemFactory.qml:801
291msgid "Finished"
287msgid "Finished"
292msgstr "S'ha finalitzat"
288msgstr "S'ha finalitzat"
293
289
294−#: qml/Panel/Indicators/MenuItemFactory.qml:775
290+#: qml/Panel/Indicators/MenuItemFactory.qml:803
295msgid "Failed, tap to retry"
291msgid "Failed, tap to retry"
296msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
292msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
297
293
@@ -303,49 +299,49 @@ msgstr "Desbloca la SIM"
303msgid "Roaming"
299msgid "Roaming"
304msgstr "Itinerància"
300msgstr "Itinerància"
305
301
306−#: qml/Shell.qml:381
302+#: qml/Shell.qml:390
307msgid "Enter passphrase"
303msgid "Enter passphrase"
308msgstr "Introduïu la contrasenya"
304msgstr "Introduïu la contrasenya"
309
305
310−#: qml/Shell.qml:382
306+#: qml/Shell.qml:391
311msgid "Sorry, incorrect passphrase"
307msgid "Sorry, incorrect passphrase"
312msgstr "La contrasenya no és correcta"
308msgstr "La contrasenya no és correcta"
313
309
314−#: qml/Shell.qml:383
310+#: qml/Shell.qml:392
315msgid "Please re-enter"
311msgid "Please re-enter"
316msgstr "Torneu-ho a introduir"
312msgstr "Torneu-ho a introduir"
317
313
318−#: qml/Shell.qml:385
314+#: qml/Shell.qml:394
319msgid "Enter passcode"
315msgid "Enter passcode"
320msgstr "Introduïu el codi d'accés"
316msgstr "Introduïu el codi d'accés"
321
317
322−#: qml/Shell.qml:386
318+#: qml/Shell.qml:395
323msgid "Sorry, incorrect passcode"
319msgid "Sorry, incorrect passcode"
324msgstr "El codi d'accés no és correcte"
320msgstr "El codi d'accés no és correcte"
325
321
326−#: qml/Shell.qml:389
322+#: qml/Shell.qml:398
327#, qt-format
323#, qt-format
328msgid "Enter %1"
324msgid "Enter %1"
329msgstr "Introduïu: %1"
325msgstr "Introduïu: %1"
330
326
331−#: qml/Shell.qml:390
327+#: qml/Shell.qml:399
332#, qt-format
328#, qt-format
333msgid "Sorry, incorrect %1"
329msgid "Sorry, incorrect %1"
334msgstr "Incorrecte (%1)"
330msgstr "Incorrecte (%1)"
335
331
336−#: qml/Shell.qml:431
332+#: qml/Shell.qml:440
337msgid "Sorry, incorrect passphrase."
333msgid "Sorry, incorrect passphrase."
338msgstr "La contrasenya és incorrecta"
334msgstr "La contrasenya és incorrecta"
339
335
340−#: qml/Shell.qml:432
336+#: qml/Shell.qml:441
341msgid "Sorry, incorrect passcode."
337msgid "Sorry, incorrect passcode."
342msgstr "El codi d'accés no és correcte"
338msgstr "El codi d'accés no és correcte"
343
339
344−#: qml/Shell.qml:433
340+#: qml/Shell.qml:442
345msgid "This will be your last attempt."
341msgid "This will be your last attempt."
346msgstr "Este serà el darrer intent."
342msgstr "Este serà el darrer intent."
347
343
348−#: qml/Shell.qml:435
344+#: qml/Shell.qml:444
349msgid ""
345msgid ""
350"If passphrase is entered incorrectly, your phone will conduct a factory "
346"If passphrase is entered incorrectly, your phone will conduct a factory "
351"reset and all personal data will be deleted."
347"reset and all personal data will be deleted."
@@ -354,7 +350,7 @@ msgstr ""
354"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
350"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
355"personals."
351"personals."
356
352
357−#: qml/Shell.qml:436
353+#: qml/Shell.qml:445
358msgid ""
354msgid ""
359"If passcode is entered incorrectly, your phone will conduct a factory reset "
355"If passcode is entered incorrectly, your phone will conduct a factory reset "
360"and all personal data will be deleted."
356"and all personal data will be deleted."
@@ -363,6 +359,18 @@ msgstr ""
363"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
359"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
364"personals."
360"personals."
365
361
362+#~ msgid "Manage Scopes"
363+#~ msgstr "Gestioneu les lents"
364+
365+#~ msgid "Done"
366+#~ msgstr "Fet"
367+
368+#~ msgid "Favorites"
369+#~ msgstr "Preferides"
370+
371+#~ msgid "All"
372+#~ msgstr "Totes"
373+
366#~ msgid "Confirm"
374#~ msgid "Confirm"
367#~ msgstr "Confirma"
375#~ msgstr "Confirma"
368
376
po/ckb.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-01-21 11:05+0000\n"
11"PO-Revision-Date: 2014-01-21 11:05+0000\n"
12"Last-Translator: Aras <aras.noori@gmail.com>\n"
12"Last-Translator: Aras <aras.noori@gmail.com>\n"
13"Language-Team: Kurdish (Sorani) <ckb@li.org>\n"
13"Language-Team: Kurdish (Sorani) <ckb@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "گەڕان"
178msgstr "گەڕان"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr "تێپەڕەوشە پیشان بدە"
242msgstr "تێپەڕەوشە پیشان بدە"
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/cs.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-01-08 10:11+0000\n"
11"PO-Revision-Date: 2014-01-08 10:11+0000\n"
12"Last-Translator: Tadeáš Pařík <tadeas.parik@gmail.com>\n"
12"Last-Translator: Tadeáš Pařík <tadeas.parik@gmail.com>\n"
13"Language-Team: Czech <cs@li.org>\n"
13"Language-Team: Czech <cs@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "Hledat"
178msgstr "Hledat"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr "Zobrazit heslo"
242msgstr "Zobrazit heslo"
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/da.po+30−34
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
11+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
12"PO-Revision-Date: 2014-07-30 12:37+0000\n"
12"PO-Revision-Date: 2014-07-30 12:37+0000\n"
13"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n"
13"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n"
14"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
14"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -175,20 +175,24 @@ msgstr "Vis mindre"
175msgid "See all"
175msgid "See all"
176msgstr "Se alle"
176msgstr "Se alle"
177
177
178−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
178+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
179#: qml/Panel/SearchIndicator.qml:27
179#: qml/Panel/SearchIndicator.qml:27
180msgid "Search"
180msgid "Search"
181msgstr "Søg"
181msgstr "Søg"
182
182
183−#: qml/Dash/PageHeader.qml:268
183+#: qml/Dash/PageHeader.qml:260
184+msgid "Store"
185+msgstr ""
186+
187+#: qml/Dash/PageHeader.qml:277
184msgid "Settings"
188msgid "Settings"
185msgstr ""
189msgstr ""
186
190
187−#: qml/Dash/PageHeader.qml:275
191+#: qml/Dash/PageHeader.qml:284
188msgid "Remove from Favorites"
192msgid "Remove from Favorites"
189msgstr ""
193msgstr ""
190
194
191−#: qml/Dash/PageHeader.qml:275
195+#: qml/Dash/PageHeader.qml:284
192msgid "Add to Favorites"
196msgid "Add to Favorites"
193msgstr ""
197msgstr ""
194
198
@@ -220,31 +224,23 @@ msgstr ""
220msgid "Release to refresh…"
224msgid "Release to refresh…"
221msgstr ""
225msgstr ""
222
226
223−#: qml/Dash/ScopesOverview.qml:215
227+#: qml/Dash/ScopesList.qml:63
224−msgid "Manage Scopes"
228+msgid "Manage"
225msgstr ""
229msgstr ""
226
230
227−#: qml/Dash/ScopesOverview.qml:437
231+#: qml/Dash/ScopesList.qml:105
228−msgid "Done"
229−msgstr ""
230−
231−#: qml/Dash/ScopesOverview.qml:463
232−msgid "Store"
232+msgid "Home"
233msgstr ""
233msgstr ""
234
234
235−#: qml/Dash/ScopesOverviewTab.qml:36
235+#: qml/Dash/ScopesList.qml:106
236−msgid "Favorites"
236+msgid "Also installed"
237−msgstr ""
238−
239−#: qml/Dash/ScopesOverviewTab.qml:54
240−msgid "All"
241msgstr ""
237msgstr ""
242
238
243#: qml/Greeter/Greeter.qml:174
239#: qml/Greeter/Greeter.qml:174
244msgid "Unlock"
240msgid "Unlock"
245msgstr ""
241msgstr ""
246
242
247−#: qml/Notifications/NotificationMenuItemFactory.qml:116
243+#: qml/Notifications/NotificationMenuItemFactory.qml:128
248msgid "Show password"
244msgid "Show password"
249msgstr "Vis adgangskode"
245msgstr "Vis adgangskode"
250
246
@@ -292,55 +288,55 @@ msgstr ""
292msgid "Roaming"
288msgid "Roaming"
293msgstr ""
289msgstr ""
294
290
295−#: qml/Shell.qml:391
291+#: qml/Shell.qml:390
296msgid "Enter passphrase"
292msgid "Enter passphrase"
297msgstr ""
293msgstr ""
298
294
299−#: qml/Shell.qml:392
295+#: qml/Shell.qml:391
300msgid "Sorry, incorrect passphrase"
296msgid "Sorry, incorrect passphrase"
301msgstr ""
297msgstr ""
302
298
303−#: qml/Shell.qml:393
299+#: qml/Shell.qml:392
304msgid "Please re-enter"
300msgid "Please re-enter"
305msgstr ""
301msgstr ""
306
302
307−#: qml/Shell.qml:395
303+#: qml/Shell.qml:394
308msgid "Enter passcode"
304msgid "Enter passcode"
309msgstr ""
305msgstr ""
310
306
311−#: qml/Shell.qml:396
307+#: qml/Shell.qml:395
312msgid "Sorry, incorrect passcode"
308msgid "Sorry, incorrect passcode"
313msgstr ""
309msgstr ""
314
310
315−#: qml/Shell.qml:399
311+#: qml/Shell.qml:398
316#, qt-format
312#, qt-format
317msgid "Enter %1"
313msgid "Enter %1"
318msgstr ""
314msgstr ""
319
315
320−#: qml/Shell.qml:400
316+#: qml/Shell.qml:399
321#, qt-format
317#, qt-format
322msgid "Sorry, incorrect %1"
318msgid "Sorry, incorrect %1"
323msgstr ""
319msgstr ""
324
320
325−#: qml/Shell.qml:441
321+#: qml/Shell.qml:440
326msgid "Sorry, incorrect passphrase."
322msgid "Sorry, incorrect passphrase."
327msgstr ""
323msgstr ""
328
324
329−#: qml/Shell.qml:442
325+#: qml/Shell.qml:441
330msgid "Sorry, incorrect passcode."
326msgid "Sorry, incorrect passcode."
331msgstr ""
327msgstr ""
332
328
333−#: qml/Shell.qml:443
329+#: qml/Shell.qml:442
334msgid "This will be your last attempt."
330msgid "This will be your last attempt."
335msgstr ""
331msgstr ""
336
332
337−#: qml/Shell.qml:445
333+#: qml/Shell.qml:444
338msgid ""
334msgid ""
339"If passphrase is entered incorrectly, your phone will conduct a factory "
335"If passphrase is entered incorrectly, your phone will conduct a factory "
340"reset and all personal data will be deleted."
336"reset and all personal data will be deleted."
341msgstr ""
337msgstr ""
342
338
343−#: qml/Shell.qml:446
339+#: qml/Shell.qml:445
344msgid ""
340msgid ""
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
341"If passcode is entered incorrectly, your phone will conduct a factory reset "
346"and all personal data will be deleted."
342"and all personal data will be deleted."
po/de.po+46−38
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-10-21 11:26+0000\n"
11"PO-Revision-Date: 2014-10-21 11:26+0000\n"
12"Last-Translator: Alexander Dobetsberger <Unknown>\n"
12"Last-Translator: Alexander Dobetsberger <Unknown>\n"
13"Language-Team: German <de@li.org>\n"
13"Language-Team: German <de@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -165,7 +165,7 @@ msgstr ""
165
165
166#: qml/Components/Lockscreen.qml:223
166#: qml/Components/Lockscreen.qml:223
167msgid "Return to Call"
167msgid "Return to Call"
168−msgstr ""
168+msgstr "Zu Anruf zurückkehren"
169
169
170#: qml/Components/Lockscreen.qml:223
170#: qml/Components/Lockscreen.qml:223
171msgid "Emergency Call"
171msgid "Emergency Call"
@@ -183,20 +183,24 @@ msgstr "Weniger ansehen"
183msgid "See all"
183msgid "See all"
184msgstr "Alle anzeigen"
184msgstr "Alle anzeigen"
185
185
186−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
186+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
187#: qml/Panel/SearchIndicator.qml:27
187#: qml/Panel/SearchIndicator.qml:27
188msgid "Search"
188msgid "Search"
189msgstr "Suchen"
189msgstr "Suchen"
190
190
191−#: qml/Dash/PageHeader.qml:268
191+#: qml/Dash/PageHeader.qml:260
192+msgid "Store"
193+msgstr "Store"
194+
195+#: qml/Dash/PageHeader.qml:277
192msgid "Settings"
196msgid "Settings"
193msgstr "Einstellungen"
197msgstr "Einstellungen"
194
198
195−#: qml/Dash/PageHeader.qml:275
199+#: qml/Dash/PageHeader.qml:284
196msgid "Remove from Favorites"
200msgid "Remove from Favorites"
197msgstr "Aus den Favoriten entfernen"
201msgstr "Aus den Favoriten entfernen"
198
202
199−#: qml/Dash/PageHeader.qml:275
203+#: qml/Dash/PageHeader.qml:284
200msgid "Add to Favorites"
204msgid "Add to Favorites"
201msgstr "Zu Favoriten hinzufügen"
205msgstr "Zu Favoriten hinzufügen"
202
206
@@ -228,31 +232,23 @@ msgstr "Zum Aktualisieren ziehen …"
228msgid "Release to refresh…"
232msgid "Release to refresh…"
229msgstr "Zum Aktualisieren loslassen …"
233msgstr "Zum Aktualisieren loslassen …"
230
234
231−#: qml/Dash/ScopesOverview.qml:215
235+#: qml/Dash/ScopesList.qml:63
232−msgid "Manage Scopes"
236+msgid "Manage"
233−msgstr "Filter verwalten"
237+msgstr ""
234−
235−#: qml/Dash/ScopesOverview.qml:437
236−msgid "Done"
237−msgstr "Erledigt"
238−
239−#: qml/Dash/ScopesOverview.qml:463
240−msgid "Store"
241−msgstr "Store"
242
238
243−#: qml/Dash/ScopesOverviewTab.qml:36
239+#: qml/Dash/ScopesList.qml:105
244−msgid "Favorites"
240+msgid "Home"
245−msgstr "Favoriten"
241+msgstr ""
246
242
247−#: qml/Dash/ScopesOverviewTab.qml:54
243+#: qml/Dash/ScopesList.qml:106
248−msgid "All"
244+msgid "Also installed"
249−msgstr "Alle"
245+msgstr ""
250
246
251#: qml/Greeter/Greeter.qml:174
247#: qml/Greeter/Greeter.qml:174
252msgid "Unlock"
248msgid "Unlock"
253msgstr "Entsperren"
249msgstr "Entsperren"
254
250
255−#: qml/Notifications/NotificationMenuItemFactory.qml:116
251+#: qml/Notifications/NotificationMenuItemFactory.qml:128
256msgid "Show password"
252msgid "Show password"
257msgstr "Passwort anzeigen"
253msgstr "Passwort anzeigen"
258
254
@@ -300,49 +296,49 @@ msgstr "SIM-Karte entsperren"
300msgid "Roaming"
296msgid "Roaming"
301msgstr "Roaming"
297msgstr "Roaming"
302
298
303−#: qml/Shell.qml:391
299+#: qml/Shell.qml:390
304msgid "Enter passphrase"
300msgid "Enter passphrase"
305msgstr "Passwort eingeben"
301msgstr "Passwort eingeben"
306
302
307−#: qml/Shell.qml:392
303+#: qml/Shell.qml:391
308msgid "Sorry, incorrect passphrase"
304msgid "Sorry, incorrect passphrase"
309msgstr "Das Passwort ist nicht korrekt"
305msgstr "Das Passwort ist nicht korrekt"
310
306
311−#: qml/Shell.qml:393
307+#: qml/Shell.qml:392
312msgid "Please re-enter"
308msgid "Please re-enter"
313msgstr "Bitte erneut eingeben"
309msgstr "Bitte erneut eingeben"
314
310
315−#: qml/Shell.qml:395
311+#: qml/Shell.qml:394
316msgid "Enter passcode"
312msgid "Enter passcode"
317msgstr "PIN eingeben"
313msgstr "PIN eingeben"
318
314
319−#: qml/Shell.qml:396
315+#: qml/Shell.qml:395
320msgid "Sorry, incorrect passcode"
316msgid "Sorry, incorrect passcode"
321msgstr "Falsches Passwort"
317msgstr "Falsches Passwort"
322
318
323−#: qml/Shell.qml:399
319+#: qml/Shell.qml:398
324#, qt-format
320#, qt-format
325msgid "Enter %1"
321msgid "Enter %1"
326msgstr "%1 eingeben"
322msgstr "%1 eingeben"
327
323
328−#: qml/Shell.qml:400
324+#: qml/Shell.qml:399
329#, qt-format
325#, qt-format
330msgid "Sorry, incorrect %1"
326msgid "Sorry, incorrect %1"
331msgstr "%1 falsch"
327msgstr "%1 falsch"
332
328
333−#: qml/Shell.qml:441
329+#: qml/Shell.qml:440
334msgid "Sorry, incorrect passphrase."
330msgid "Sorry, incorrect passphrase."
335msgstr "Entschuldigung, falsches Passwort."
331msgstr "Entschuldigung, falsches Passwort."
336
332
337−#: qml/Shell.qml:442
333+#: qml/Shell.qml:441
338msgid "Sorry, incorrect passcode."
334msgid "Sorry, incorrect passcode."
339msgstr "Falsche PIN"
335msgstr "Falsche PIN"
340
336
341−#: qml/Shell.qml:443
337+#: qml/Shell.qml:442
342msgid "This will be your last attempt."
338msgid "This will be your last attempt."
343msgstr "Dies ist Ihr letzter Versuch."
339msgstr "Dies ist Ihr letzter Versuch."
344
340
345−#: qml/Shell.qml:445
341+#: qml/Shell.qml:444
346msgid ""
342msgid ""
347"If passphrase is entered incorrectly, your phone will conduct a factory "
343"If passphrase is entered incorrectly, your phone will conduct a factory "
348"reset and all personal data will be deleted."
344"reset and all personal data will be deleted."
@@ -350,7 +346,7 @@ msgstr ""
350"Wird das Passwort falsch eingegeben, wird das Telefon auf den Werkszustand "
346"Wird das Passwort falsch eingegeben, wird das Telefon auf den Werkszustand "
351"zurückgesetzt und alle Daten werden gelöscht."
347"zurückgesetzt und alle Daten werden gelöscht."
352
348
353−#: qml/Shell.qml:446
349+#: qml/Shell.qml:445
354msgid ""
350msgid ""
355"If passcode is entered incorrectly, your phone will conduct a factory reset "
351"If passcode is entered incorrectly, your phone will conduct a factory reset "
356"and all personal data will be deleted."
352"and all personal data will be deleted."
@@ -372,3 +368,15 @@ msgstr ""
372
368
373#~ msgid "Speaking..."
369#~ msgid "Speaking..."
374#~ msgstr "Sprechen Sie …"
370#~ msgstr "Sprechen Sie …"
371+
372+#~ msgid "All"
373+#~ msgstr "Alle"
374+
375+#~ msgid "Done"
376+#~ msgstr "Erledigt"
377+
378+#~ msgid "Favorites"
379+#~ msgstr "Favoriten"
380+
381+#~ msgid "Manage Scopes"
382+#~ msgstr "Filter verwalten"
po/el.po+42−37
@@ -7,16 +7,16 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-08 18:38+0000\n"
11"PO-Revision-Date: 2014-11-08 18:38+0000\n"
12−"Last-Translator: Stathis Iosifidis <Unknown>\n"
12+"Last-Translator: Efstathios Iosifidis <Unknown>\n"
13"Language-Team: Greek <el@li.org>\n"
13"Language-Team: Greek <el@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -182,20 +182,24 @@ msgstr "Λιγότερα"
182msgid "See all"
182msgid "See all"
183msgstr "Εμφάνιση όλων"
183msgstr "Εμφάνιση όλων"
184
184
185−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
185+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
186#: qml/Panel/SearchIndicator.qml:27
186#: qml/Panel/SearchIndicator.qml:27
187msgid "Search"
187msgid "Search"
188msgstr "Αναζήτηση"
188msgstr "Αναζήτηση"
189
189
190−#: qml/Dash/PageHeader.qml:268
190+#: qml/Dash/PageHeader.qml:260
191+msgid "Store"
192+msgstr "Κατάστημα"
193+
194+#: qml/Dash/PageHeader.qml:277
191msgid "Settings"
195msgid "Settings"
192msgstr "Ρυθμίσεις"
196msgstr "Ρυθμίσεις"
193
197
194−#: qml/Dash/PageHeader.qml:275
198+#: qml/Dash/PageHeader.qml:284
195msgid "Remove from Favorites"
199msgid "Remove from Favorites"
196msgstr "Αφαίρεση από τα αγαπημένα"
200msgstr "Αφαίρεση από τα αγαπημένα"
197
201
198−#: qml/Dash/PageHeader.qml:275
202+#: qml/Dash/PageHeader.qml:284
199msgid "Add to Favorites"
203msgid "Add to Favorites"
200msgstr "Προσθήκη στα αγαπημένα"
204msgstr "Προσθήκη στα αγαπημένα"
201
205
@@ -227,31 +231,23 @@ msgstr ""
227msgid "Release to refresh…"
231msgid "Release to refresh…"
228msgstr ""
232msgstr ""
229
233
230−#: qml/Dash/ScopesOverview.qml:215
234+#: qml/Dash/ScopesList.qml:63
231−msgid "Manage Scopes"
235+msgid "Manage"
232msgstr ""
236msgstr ""
233
237
234−#: qml/Dash/ScopesOverview.qml:437
238+#: qml/Dash/ScopesList.qml:105
235−msgid "Done"
236−msgstr "Ολοκληρώθηκε"
237−
238−#: qml/Dash/ScopesOverview.qml:463
239−msgid "Store"
240−msgstr "Κατάστημα"
241−
242−#: qml/Dash/ScopesOverviewTab.qml:36
243−msgid "Favorites"
239+msgid "Home"
244−msgstr "Αγαπημένα"
240+msgstr ""
245
241
246−#: qml/Dash/ScopesOverviewTab.qml:54
242+#: qml/Dash/ScopesList.qml:106
247−msgid "All"
243+msgid "Also installed"
248−msgstr "Όλα"
244+msgstr ""
249
245
250#: qml/Greeter/Greeter.qml:174
246#: qml/Greeter/Greeter.qml:174
251msgid "Unlock"
247msgid "Unlock"
252msgstr "Ξεκλείδωμα"
248msgstr "Ξεκλείδωμα"
253
249
254−#: qml/Notifications/NotificationMenuItemFactory.qml:116
250+#: qml/Notifications/NotificationMenuItemFactory.qml:128
255msgid "Show password"
251msgid "Show password"
256msgstr "Εμφάνιση κωδικού"
252msgstr "Εμφάνιση κωδικού"
257
253
@@ -299,55 +295,55 @@ msgstr "Ξεκλείδωμα SIM"
299msgid "Roaming"
295msgid "Roaming"
300msgstr "Περιαγωγή"
296msgstr "Περιαγωγή"
301
297
302−#: qml/Shell.qml:391
298+#: qml/Shell.qml:390
303msgid "Enter passphrase"
299msgid "Enter passphrase"
304msgstr "Εισαγωγή συνθηματικού"
300msgstr "Εισαγωγή συνθηματικού"
305
301
306−#: qml/Shell.qml:392
302+#: qml/Shell.qml:391
307msgid "Sorry, incorrect passphrase"
303msgid "Sorry, incorrect passphrase"
308msgstr "Συγνώμη, μη έγκυρο συνθηματικό"
304msgstr "Συγνώμη, μη έγκυρο συνθηματικό"
309
305
310−#: qml/Shell.qml:393
306+#: qml/Shell.qml:392
311msgid "Please re-enter"
307msgid "Please re-enter"
312msgstr "Παρακαλώ πληκτρολογήστε ξανά"
308msgstr "Παρακαλώ πληκτρολογήστε ξανά"
313
309
314−#: qml/Shell.qml:395
310+#: qml/Shell.qml:394
315msgid "Enter passcode"
311msgid "Enter passcode"
316msgstr "Εισαγωγή κωδικού"
312msgstr "Εισαγωγή κωδικού"
317
313
318−#: qml/Shell.qml:396
314+#: qml/Shell.qml:395
319msgid "Sorry, incorrect passcode"
315msgid "Sorry, incorrect passcode"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:399
318+#: qml/Shell.qml:398
323#, qt-format
319#, qt-format
324msgid "Enter %1"
320msgid "Enter %1"
325msgstr "Εισάγετε %1"
321msgstr "Εισάγετε %1"
326
322
327−#: qml/Shell.qml:400
323+#: qml/Shell.qml:399
328#, qt-format
324#, qt-format
329msgid "Sorry, incorrect %1"
325msgid "Sorry, incorrect %1"
330msgstr "Συγνώμη, μη έγκυρο %1"
326msgstr "Συγνώμη, μη έγκυρο %1"
331
327
332−#: qml/Shell.qml:441
328+#: qml/Shell.qml:440
333msgid "Sorry, incorrect passphrase."
329msgid "Sorry, incorrect passphrase."
334msgstr ""
330msgstr ""
335
331
336−#: qml/Shell.qml:442
332+#: qml/Shell.qml:441
337msgid "Sorry, incorrect passcode."
333msgid "Sorry, incorrect passcode."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:443
336+#: qml/Shell.qml:442
341msgid "This will be your last attempt."
337msgid "This will be your last attempt."
342msgstr ""
338msgstr ""
343
339
344−#: qml/Shell.qml:445
340+#: qml/Shell.qml:444
345msgid ""
341msgid ""
346"If passphrase is entered incorrectly, your phone will conduct a factory "
342"If passphrase is entered incorrectly, your phone will conduct a factory "
347"reset and all personal data will be deleted."
343"reset and all personal data will be deleted."
348msgstr ""
344msgstr ""
349
345
350−#: qml/Shell.qml:446
346+#: qml/Shell.qml:445
351msgid ""
347msgid ""
352"If passcode is entered incorrectly, your phone will conduct a factory reset "
348"If passcode is entered incorrectly, your phone will conduct a factory reset "
353"and all personal data will be deleted."
349"and all personal data will be deleted."
@@ -367,3 +363,12 @@ msgstr ""
367
363
368#~ msgid "Loading. Please Wait..."
364#~ msgid "Loading. Please Wait..."
369#~ msgstr "Γίνεται φόρτωση. Παρακαλώ περιμένετε..."
365#~ msgstr "Γίνεται φόρτωση. Παρακαλώ περιμένετε..."
366+
367+#~ msgid "All"
368+#~ msgstr "Όλα"
369+
370+#~ msgid "Favorites"
371+#~ msgstr "Αγαπημένα"
372+
373+#~ msgid "Done"
374+#~ msgstr "Ολοκληρώθηκε"
po/en_AU.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-10-12 09:41+0000\n"
11"PO-Revision-Date: 2014-10-12 09:41+0000\n"
12"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
12"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -176,20 +176,24 @@ msgstr "See less"
176msgid "See all"
176msgid "See all"
177msgstr "See all"
177msgstr "See all"
178
178
179−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
179+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
180#: qml/Panel/SearchIndicator.qml:27
180#: qml/Panel/SearchIndicator.qml:27
181msgid "Search"
181msgid "Search"
182msgstr "Search"
182msgstr "Search"
183
183
184−#: qml/Dash/PageHeader.qml:268
184+#: qml/Dash/PageHeader.qml:260
185+msgid "Store"
186+msgstr "Store"
187+
188+#: qml/Dash/PageHeader.qml:277
185msgid "Settings"
189msgid "Settings"
186msgstr "Settings"
190msgstr "Settings"
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Remove from Favorites"
193msgid "Remove from Favorites"
190msgstr "Remove from Favourites"
194msgstr "Remove from Favourites"
191
195
192−#: qml/Dash/PageHeader.qml:275
196+#: qml/Dash/PageHeader.qml:284
193msgid "Add to Favorites"
197msgid "Add to Favorites"
194msgstr "Add to Favourites"
198msgstr "Add to Favourites"
195
199
@@ -221,31 +225,23 @@ msgstr "Pull to refresh…"
221msgid "Release to refresh…"
225msgid "Release to refresh…"
222msgstr "Release to refresh…"
226msgstr "Release to refresh…"
223
227
224−#: qml/Dash/ScopesOverview.qml:215
228+#: qml/Dash/ScopesList.qml:63
225−msgid "Manage Scopes"
229+msgid "Manage"
226−msgstr "Manage Scopes"
230+msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:437
229−msgid "Done"
230−msgstr "Done"
231−
232−#: qml/Dash/ScopesOverview.qml:463
233−msgid "Store"
234−msgstr "Store"
235
231
236−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:105
237−msgid "Favorites"
233+msgid "Home"
238−msgstr "Favourites"
234+msgstr ""
239
235
240−#: qml/Dash/ScopesOverviewTab.qml:54
236+#: qml/Dash/ScopesList.qml:106
241−msgid "All"
237+msgid "Also installed"
242−msgstr "All"
238+msgstr ""
243
239
244#: qml/Greeter/Greeter.qml:174
240#: qml/Greeter/Greeter.qml:174
245msgid "Unlock"
241msgid "Unlock"
246msgstr "Unlock"
242msgstr "Unlock"
247
243
248−#: qml/Notifications/NotificationMenuItemFactory.qml:116
244+#: qml/Notifications/NotificationMenuItemFactory.qml:128
249msgid "Show password"
245msgid "Show password"
250msgstr "Show password"
246msgstr "Show password"
251
247
@@ -293,49 +289,49 @@ msgstr "Unlock SIM"
293msgid "Roaming"
289msgid "Roaming"
294msgstr "Roaming"
290msgstr "Roaming"
295
291
296−#: qml/Shell.qml:391
292+#: qml/Shell.qml:390
297msgid "Enter passphrase"
293msgid "Enter passphrase"
298msgstr "Enter passphrase"
294msgstr "Enter passphrase"
299
295
300−#: qml/Shell.qml:392
296+#: qml/Shell.qml:391
301msgid "Sorry, incorrect passphrase"
297msgid "Sorry, incorrect passphrase"
302msgstr "Sorry, incorrect passphrase"
298msgstr "Sorry, incorrect passphrase"
303
299
304−#: qml/Shell.qml:393
300+#: qml/Shell.qml:392
305msgid "Please re-enter"
301msgid "Please re-enter"
306msgstr "Please re-enter"
302msgstr "Please re-enter"
307
303
308−#: qml/Shell.qml:395
304+#: qml/Shell.qml:394
309msgid "Enter passcode"
305msgid "Enter passcode"
310msgstr "Enter passcode"
306msgstr "Enter passcode"
311
307
312−#: qml/Shell.qml:396
308+#: qml/Shell.qml:395
313msgid "Sorry, incorrect passcode"
309msgid "Sorry, incorrect passcode"
314msgstr "Sorry, incorrect passcode"
310msgstr "Sorry, incorrect passcode"
315
311
316−#: qml/Shell.qml:399
312+#: qml/Shell.qml:398
317#, qt-format
313#, qt-format
318msgid "Enter %1"
314msgid "Enter %1"
319msgstr "Enter %1"
315msgstr "Enter %1"
320
316
321−#: qml/Shell.qml:400
317+#: qml/Shell.qml:399
322#, qt-format
318#, qt-format
323msgid "Sorry, incorrect %1"
319msgid "Sorry, incorrect %1"
324msgstr "Sorry, incorrect %1"
320msgstr "Sorry, incorrect %1"
325
321
326−#: qml/Shell.qml:441
322+#: qml/Shell.qml:440
327msgid "Sorry, incorrect passphrase."
323msgid "Sorry, incorrect passphrase."
328msgstr "Sorry, incorrect passphrase."
324msgstr "Sorry, incorrect passphrase."
329
325
330−#: qml/Shell.qml:442
326+#: qml/Shell.qml:441
331msgid "Sorry, incorrect passcode."
327msgid "Sorry, incorrect passcode."
332msgstr "Sorry, incorrect passcode."
328msgstr "Sorry, incorrect passcode."
333
329
334−#: qml/Shell.qml:443
330+#: qml/Shell.qml:442
335msgid "This will be your last attempt."
331msgid "This will be your last attempt."
336msgstr "This will be your last attempt."
332msgstr "This will be your last attempt."
337
333
338−#: qml/Shell.qml:445
334+#: qml/Shell.qml:444
339msgid ""
335msgid ""
340"If passphrase is entered incorrectly, your phone will conduct a factory "
336"If passphrase is entered incorrectly, your phone will conduct a factory "
341"reset and all personal data will be deleted."
337"reset and all personal data will be deleted."
@@ -343,7 +339,7 @@ msgstr ""
343"If passphrase is entered incorrectly, your phone will conduct a factory "
339"If passphrase is entered incorrectly, your phone will conduct a factory "
344"reset and all personal data will be deleted."
340"reset and all personal data will be deleted."
345
341
346−#: qml/Shell.qml:446
342+#: qml/Shell.qml:445
347msgid ""
343msgid ""
348"If passcode is entered incorrectly, your phone will conduct a factory reset "
344"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"and all personal data will be deleted."
345"and all personal data will be deleted."
@@ -365,3 +361,15 @@ msgstr ""
365
361
366#~ msgid "Speaking..."
362#~ msgid "Speaking..."
367#~ msgstr "Speaking..."
363#~ msgstr "Speaking..."
364+
365+#~ msgid "All"
366+#~ msgstr "All"
367+
368+#~ msgid "Favorites"
369+#~ msgstr "Favourites"
370+
371+#~ msgid "Done"
372+#~ msgstr "Done"
373+
374+#~ msgid "Manage Scopes"
375+#~ msgstr "Manage Scopes"
po/en_GB.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-05 18:59+0000\n"
11"PO-Revision-Date: 2014-11-05 18:59+0000\n"
12"Last-Translator: Andi Chandler <Unknown>\n"
12"Last-Translator: Andi Chandler <Unknown>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -176,20 +176,24 @@ msgstr "See less"
176msgid "See all"
176msgid "See all"
177msgstr "See all"
177msgstr "See all"
178
178
179−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
179+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
180#: qml/Panel/SearchIndicator.qml:27
180#: qml/Panel/SearchIndicator.qml:27
181msgid "Search"
181msgid "Search"
182msgstr "Search"
182msgstr "Search"
183
183
184−#: qml/Dash/PageHeader.qml:268
184+#: qml/Dash/PageHeader.qml:260
185+msgid "Store"
186+msgstr "Store"
187+
188+#: qml/Dash/PageHeader.qml:277
185msgid "Settings"
189msgid "Settings"
186msgstr "Settings"
190msgstr "Settings"
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Remove from Favorites"
193msgid "Remove from Favorites"
190msgstr "Remove from Favourites"
194msgstr "Remove from Favourites"
191
195
192−#: qml/Dash/PageHeader.qml:275
196+#: qml/Dash/PageHeader.qml:284
193msgid "Add to Favorites"
197msgid "Add to Favorites"
194msgstr "Add to Favourites"
198msgstr "Add to Favourites"
195
199
@@ -221,31 +225,23 @@ msgstr "Pull to refresh…"
221msgid "Release to refresh…"
225msgid "Release to refresh…"
222msgstr "Release to refresh…"
226msgstr "Release to refresh…"
223
227
224−#: qml/Dash/ScopesOverview.qml:215
228+#: qml/Dash/ScopesList.qml:63
225−msgid "Manage Scopes"
229+msgid "Manage"
226−msgstr "Manage Scopes"
230+msgstr "Manage"
227−
228−#: qml/Dash/ScopesOverview.qml:437
229−msgid "Done"
230−msgstr "Done"
231−
232−#: qml/Dash/ScopesOverview.qml:463
233−msgid "Store"
234−msgstr "Store"
235
231
236−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:105
237−msgid "Favorites"
233+msgid "Home"
238−msgstr "Favourites"
234+msgstr "Home"
239
235
240−#: qml/Dash/ScopesOverviewTab.qml:54
236+#: qml/Dash/ScopesList.qml:106
241−msgid "All"
237+msgid "Also installed"
242−msgstr "All"
238+msgstr "Also installed"
243
239
244#: qml/Greeter/Greeter.qml:174
240#: qml/Greeter/Greeter.qml:174
245msgid "Unlock"
241msgid "Unlock"
246msgstr "Unlock"
242msgstr "Unlock"
247
243
248−#: qml/Notifications/NotificationMenuItemFactory.qml:116
244+#: qml/Notifications/NotificationMenuItemFactory.qml:128
249msgid "Show password"
245msgid "Show password"
250msgstr "Show password"
246msgstr "Show password"
251
247
@@ -293,49 +289,49 @@ msgstr "Unlock SIM"
293msgid "Roaming"
289msgid "Roaming"
294msgstr "Roaming"
290msgstr "Roaming"
295
291
296−#: qml/Shell.qml:391
292+#: qml/Shell.qml:390
297msgid "Enter passphrase"
293msgid "Enter passphrase"
298msgstr "Enter passphrase"
294msgstr "Enter passphrase"
299
295
300−#: qml/Shell.qml:392
296+#: qml/Shell.qml:391
301msgid "Sorry, incorrect passphrase"
297msgid "Sorry, incorrect passphrase"
302msgstr "Sorry, incorrect passphrase"
298msgstr "Sorry, incorrect passphrase"
303
299
304−#: qml/Shell.qml:393
300+#: qml/Shell.qml:392
305msgid "Please re-enter"
301msgid "Please re-enter"
306msgstr "Please re-enter"
302msgstr "Please re-enter"
307
303
308−#: qml/Shell.qml:395
304+#: qml/Shell.qml:394
309msgid "Enter passcode"
305msgid "Enter passcode"
310msgstr "Enter passcode"
306msgstr "Enter passcode"
311
307
312−#: qml/Shell.qml:396
308+#: qml/Shell.qml:395
313msgid "Sorry, incorrect passcode"
309msgid "Sorry, incorrect passcode"
314msgstr "Sorry, incorrect passcode"
310msgstr "Sorry, incorrect passcode"
315
311
316−#: qml/Shell.qml:399
312+#: qml/Shell.qml:398
317#, qt-format
313#, qt-format
318msgid "Enter %1"
314msgid "Enter %1"
319msgstr "Enter %1"
315msgstr "Enter %1"
320
316
321−#: qml/Shell.qml:400
317+#: qml/Shell.qml:399
322#, qt-format
318#, qt-format
323msgid "Sorry, incorrect %1"
319msgid "Sorry, incorrect %1"
324msgstr "Sorry, incorrect %1"
320msgstr "Sorry, incorrect %1"
325
321
326−#: qml/Shell.qml:441
322+#: qml/Shell.qml:440
327msgid "Sorry, incorrect passphrase."
323msgid "Sorry, incorrect passphrase."
328msgstr "Sorry, incorrect passphrase."
324msgstr "Sorry, incorrect passphrase."
329
325
330−#: qml/Shell.qml:442
326+#: qml/Shell.qml:441
331msgid "Sorry, incorrect passcode."
327msgid "Sorry, incorrect passcode."
332msgstr "Sorry, incorrect passcode."
328msgstr "Sorry, incorrect passcode."
333
329
334−#: qml/Shell.qml:443
330+#: qml/Shell.qml:442
335msgid "This will be your last attempt."
331msgid "This will be your last attempt."
336msgstr "This will be your last attempt."
332msgstr "This will be your last attempt."
337
333
338−#: qml/Shell.qml:445
334+#: qml/Shell.qml:444
339msgid ""
335msgid ""
340"If passphrase is entered incorrectly, your phone will conduct a factory "
336"If passphrase is entered incorrectly, your phone will conduct a factory "
341"reset and all personal data will be deleted."
337"reset and all personal data will be deleted."
@@ -343,7 +339,7 @@ msgstr ""
343"If passphrase is entered incorrectly, your phone will conduct a factory "
339"If passphrase is entered incorrectly, your phone will conduct a factory "
344"reset and all personal data will be deleted."
340"reset and all personal data will be deleted."
345
341
346−#: qml/Shell.qml:446
342+#: qml/Shell.qml:445
347msgid ""
343msgid ""
348"If passcode is entered incorrectly, your phone will conduct a factory reset "
344"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"and all personal data will be deleted."
345"and all personal data will be deleted."
@@ -365,3 +361,15 @@ msgstr ""
365
361
366#~ msgid "Speaking..."
362#~ msgid "Speaking..."
367#~ msgstr "Speaking..."
363#~ msgstr "Speaking..."
364+
365+#~ msgid "All"
366+#~ msgstr "All"
367+
368+#~ msgid "Favorites"
369+#~ msgstr "Favourites"
370+
371+#~ msgid "Done"
372+#~ msgstr "Done"
373+
374+#~ msgid "Manage Scopes"
375+#~ msgstr "Manage Scopes"
po/eo.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr ""
178msgstr ""
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/es.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-08 08:01+0000\n"
11"PO-Revision-Date: 2014-11-08 08:01+0000\n"
12"Last-Translator: Paco Molinero <paco@byasl.com>\n"
12"Last-Translator: Paco Molinero <paco@byasl.com>\n"
13"Language-Team: Spanish <es@li.org>\n"
13"Language-Team: Spanish <es@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -183,20 +183,24 @@ msgstr "Ver menos"
183msgid "See all"
183msgid "See all"
184msgstr "Ver todo"
184msgstr "Ver todo"
185
185
186−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
186+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
187#: qml/Panel/SearchIndicator.qml:27
187#: qml/Panel/SearchIndicator.qml:27
188msgid "Search"
188msgid "Search"
189msgstr "Buscar"
189msgstr "Buscar"
190
190
191−#: qml/Dash/PageHeader.qml:268
191+#: qml/Dash/PageHeader.qml:260
192+msgid "Store"
193+msgstr "Tienda"
194+
195+#: qml/Dash/PageHeader.qml:277
192msgid "Settings"
196msgid "Settings"
193msgstr "Configuración"
197msgstr "Configuración"
194
198
195−#: qml/Dash/PageHeader.qml:275
199+#: qml/Dash/PageHeader.qml:284
196msgid "Remove from Favorites"
200msgid "Remove from Favorites"
197msgstr "Quitar de favoritos"
201msgstr "Quitar de favoritos"
198
202
199−#: qml/Dash/PageHeader.qml:275
203+#: qml/Dash/PageHeader.qml:284
200msgid "Add to Favorites"
204msgid "Add to Favorites"
201msgstr "Añadir a favoritos"
205msgstr "Añadir a favoritos"
202
206
@@ -228,31 +232,23 @@ msgstr "Deslice para actualizar…"
228msgid "Release to refresh…"
232msgid "Release to refresh…"
229msgstr "Suelte para actualizar…"
233msgstr "Suelte para actualizar…"
230
234
231−#: qml/Dash/ScopesOverview.qml:215
235+#: qml/Dash/ScopesList.qml:63
232−msgid "Manage Scopes"
236+msgid "Manage"
233−msgstr "Administrar Scopes"
237+msgstr ""
234−
235−#: qml/Dash/ScopesOverview.qml:437
236−msgid "Done"
237−msgstr "Hecho"
238−
239−#: qml/Dash/ScopesOverview.qml:463
240−msgid "Store"
241−msgstr "Tienda"
242
238
243−#: qml/Dash/ScopesOverviewTab.qml:36
239+#: qml/Dash/ScopesList.qml:105
244−msgid "Favorites"
240+msgid "Home"
245−msgstr "Favoritos"
241+msgstr ""
246
242
247−#: qml/Dash/ScopesOverviewTab.qml:54
243+#: qml/Dash/ScopesList.qml:106
248−msgid "All"
244+msgid "Also installed"
249−msgstr "Todo"
245+msgstr ""
250
246
251#: qml/Greeter/Greeter.qml:174
247#: qml/Greeter/Greeter.qml:174
252msgid "Unlock"
248msgid "Unlock"
253msgstr "Desbloquear"
249msgstr "Desbloquear"
254
250
255−#: qml/Notifications/NotificationMenuItemFactory.qml:116
251+#: qml/Notifications/NotificationMenuItemFactory.qml:128
256msgid "Show password"
252msgid "Show password"
257msgstr "Mostrar contraseña"
253msgstr "Mostrar contraseña"
258
254
@@ -300,49 +296,49 @@ msgstr "Desbloquear SIM"
300msgid "Roaming"
296msgid "Roaming"
301msgstr "Itinerancia"
297msgstr "Itinerancia"
302
298
303−#: qml/Shell.qml:391
299+#: qml/Shell.qml:390
304msgid "Enter passphrase"
300msgid "Enter passphrase"
305msgstr "Introduzca la contraseña"
301msgstr "Introduzca la contraseña"
306
302
307−#: qml/Shell.qml:392
303+#: qml/Shell.qml:391
308msgid "Sorry, incorrect passphrase"
304msgid "Sorry, incorrect passphrase"
309msgstr "La contraseña es incorrecta"
305msgstr "La contraseña es incorrecta"
310
306
311−#: qml/Shell.qml:393
307+#: qml/Shell.qml:392
312msgid "Please re-enter"
308msgid "Please re-enter"
313msgstr "Reintroduzca"
309msgstr "Reintroduzca"
314
310
315−#: qml/Shell.qml:395
311+#: qml/Shell.qml:394
316msgid "Enter passcode"
312msgid "Enter passcode"
317msgstr "Introduzca el código"
313msgstr "Introduzca el código"
318
314
319−#: qml/Shell.qml:396
315+#: qml/Shell.qml:395
320msgid "Sorry, incorrect passcode"
316msgid "Sorry, incorrect passcode"
321msgstr "El código es incorrecto"
317msgstr "El código es incorrecto"
322
318
323−#: qml/Shell.qml:399
319+#: qml/Shell.qml:398
324#, qt-format
320#, qt-format
325msgid "Enter %1"
321msgid "Enter %1"
326msgstr "Introduzca %1"
322msgstr "Introduzca %1"
327
323
328−#: qml/Shell.qml:400
324+#: qml/Shell.qml:399
329#, qt-format
325#, qt-format
330msgid "Sorry, incorrect %1"
326msgid "Sorry, incorrect %1"
331msgstr "Incorrecto (%1)"
327msgstr "Incorrecto (%1)"
332
328
333−#: qml/Shell.qml:441
329+#: qml/Shell.qml:440
334msgid "Sorry, incorrect passphrase."
330msgid "Sorry, incorrect passphrase."
335msgstr "La contraseña es incorrecta."
331msgstr "La contraseña es incorrecta."
336
332
337−#: qml/Shell.qml:442
333+#: qml/Shell.qml:441
338msgid "Sorry, incorrect passcode."
334msgid "Sorry, incorrect passcode."
339msgstr "Código de acceso incorrecto."
335msgstr "Código de acceso incorrecto."
340
336
341−#: qml/Shell.qml:443
337+#: qml/Shell.qml:442
342msgid "This will be your last attempt."
338msgid "This will be your last attempt."
343msgstr "Este será su último intento."
339msgstr "Este será su último intento."
344
340
345−#: qml/Shell.qml:445
341+#: qml/Shell.qml:444
346msgid ""
342msgid ""
347"If passphrase is entered incorrectly, your phone will conduct a factory "
343"If passphrase is entered incorrectly, your phone will conduct a factory "
348"reset and all personal data will be deleted."
344"reset and all personal data will be deleted."
@@ -350,7 +346,7 @@ msgstr ""
350"Si se introduce la frase incorrectamente, el teléfono volverá a la "
346"Si se introduce la frase incorrectamente, el teléfono volverá a la "
351"configuración de fábrica y se perderán todos los datos personales."
347"configuración de fábrica y se perderán todos los datos personales."
352
348
353−#: qml/Shell.qml:446
349+#: qml/Shell.qml:445
354msgid ""
350msgid ""
355"If passcode is entered incorrectly, your phone will conduct a factory reset "
351"If passcode is entered incorrectly, your phone will conduct a factory reset "
356"and all personal data will be deleted."
352"and all personal data will be deleted."
@@ -372,3 +368,15 @@ msgstr ""
372
368
373#~ msgid "Speaking..."
369#~ msgid "Speaking..."
374#~ msgstr "Hablando…"
370#~ msgstr "Hablando…"
371+
372+#~ msgid "All"
373+#~ msgstr "Todo"
374+
375+#~ msgid "Favorites"
376+#~ msgstr "Favoritos"
377+
378+#~ msgid "Done"
379+#~ msgstr "Hecho"
380+
381+#~ msgid "Manage Scopes"
382+#~ msgstr "Administrar Scopes"
po/eu.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-08 14:44+0000\n"
11"PO-Revision-Date: 2014-11-08 14:44+0000\n"
12"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
12"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
13"Language-Team: Basque <eu@li.org>\n"
13"Language-Team: Basque <eu@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -180,20 +180,24 @@ msgstr "Ikusi gutxiago"
180msgid "See all"
180msgid "See all"
181msgstr "Ikusi guztiak"
181msgstr "Ikusi guztiak"
182
182
183−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
183+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
184#: qml/Panel/SearchIndicator.qml:27
184#: qml/Panel/SearchIndicator.qml:27
185msgid "Search"
185msgid "Search"
186msgstr "Bilatu"
186msgstr "Bilatu"
187
187
188−#: qml/Dash/PageHeader.qml:268
188+#: qml/Dash/PageHeader.qml:260
189+msgid "Store"
190+msgstr "Denda"
191+
192+#: qml/Dash/PageHeader.qml:277
189msgid "Settings"
193msgid "Settings"
190msgstr "Ezarpenak"
194msgstr "Ezarpenak"
191
195
192−#: qml/Dash/PageHeader.qml:275
196+#: qml/Dash/PageHeader.qml:284
193msgid "Remove from Favorites"
197msgid "Remove from Favorites"
194msgstr "Kendu gogokoetatik"
198msgstr "Kendu gogokoetatik"
195
199
196−#: qml/Dash/PageHeader.qml:275
200+#: qml/Dash/PageHeader.qml:284
197msgid "Add to Favorites"
201msgid "Add to Favorites"
198msgstr "Gehitu gogokoetara"
202msgstr "Gehitu gogokoetara"
199
203
@@ -225,31 +229,23 @@ msgstr "Tiratu freskatzeko…"
225msgid "Release to refresh…"
229msgid "Release to refresh…"
226msgstr "Askatu freskatzeko…"
230msgstr "Askatu freskatzeko…"
227
231
228−#: qml/Dash/ScopesOverview.qml:215
232+#: qml/Dash/ScopesList.qml:63
229−msgid "Manage Scopes"
233+msgid "Manage"
230−msgstr "Kudeatu eremuak"
234+msgstr ""
231−
232−#: qml/Dash/ScopesOverview.qml:437
233−msgid "Done"
234−msgstr "Eginda"
235−
236−#: qml/Dash/ScopesOverview.qml:463
237−msgid "Store"
238−msgstr "Denda"
239
235
240−#: qml/Dash/ScopesOverviewTab.qml:36
236+#: qml/Dash/ScopesList.qml:105
241−msgid "Favorites"
237+msgid "Home"
242−msgstr "Gogokoak"
238+msgstr ""
243
239
244−#: qml/Dash/ScopesOverviewTab.qml:54
240+#: qml/Dash/ScopesList.qml:106
245−msgid "All"
241+msgid "Also installed"
246−msgstr "Guztiak"
242+msgstr ""
247
243
248#: qml/Greeter/Greeter.qml:174
244#: qml/Greeter/Greeter.qml:174
249msgid "Unlock"
245msgid "Unlock"
250msgstr "Desblokeatu"
246msgstr "Desblokeatu"
251
247
252−#: qml/Notifications/NotificationMenuItemFactory.qml:116
248+#: qml/Notifications/NotificationMenuItemFactory.qml:128
253msgid "Show password"
249msgid "Show password"
254msgstr "Erakutsi pasahitza"
250msgstr "Erakutsi pasahitza"
255
251
@@ -297,49 +293,49 @@ msgstr "Desblokeatu SIMa"
297msgid "Roaming"
293msgid "Roaming"
298msgstr "Ibiltaritza"
294msgstr "Ibiltaritza"
299
295
300−#: qml/Shell.qml:391
296+#: qml/Shell.qml:390
301msgid "Enter passphrase"
297msgid "Enter passphrase"
302msgstr "Sartu pasaesaldia"
298msgstr "Sartu pasaesaldia"
303
299
304−#: qml/Shell.qml:392
300+#: qml/Shell.qml:391
305msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
306msgstr "Sentitzen dugu, pasaesaldia okerrekoa da"
302msgstr "Sentitzen dugu, pasaesaldia okerrekoa da"
307
303
308−#: qml/Shell.qml:393
304+#: qml/Shell.qml:392
309msgid "Please re-enter"
305msgid "Please re-enter"
310msgstr "Errepikatu"
306msgstr "Errepikatu"
311
307
312−#: qml/Shell.qml:395
308+#: qml/Shell.qml:394
313msgid "Enter passcode"
309msgid "Enter passcode"
314msgstr "Sartu pasakodea"
310msgstr "Sartu pasakodea"
315
311
316−#: qml/Shell.qml:396
312+#: qml/Shell.qml:395
317msgid "Sorry, incorrect passcode"
313msgid "Sorry, incorrect passcode"
318msgstr "Sentitzen dugu, pasakodea okerra da"
314msgstr "Sentitzen dugu, pasakodea okerra da"
319
315
320−#: qml/Shell.qml:399
316+#: qml/Shell.qml:398
321#, qt-format
317#, qt-format
322msgid "Enter %1"
318msgid "Enter %1"
323msgstr "Sartu %1"
319msgstr "Sartu %1"
324
320
325−#: qml/Shell.qml:400
321+#: qml/Shell.qml:399
326#, qt-format
322#, qt-format
327msgid "Sorry, incorrect %1"
323msgid "Sorry, incorrect %1"
328msgstr "Sentitzen dugu, %1 okerra da"
324msgstr "Sentitzen dugu, %1 okerra da"
329
325
330−#: qml/Shell.qml:441
326+#: qml/Shell.qml:440
331msgid "Sorry, incorrect passphrase."
327msgid "Sorry, incorrect passphrase."
332msgstr "Sentitzen dugu, pasaesaldia okerra da."
328msgstr "Sentitzen dugu, pasaesaldia okerra da."
333
329
334−#: qml/Shell.qml:442
330+#: qml/Shell.qml:441
335msgid "Sorry, incorrect passcode."
331msgid "Sorry, incorrect passcode."
336msgstr "Sentitzen dugu, pasakodea okerra da."
332msgstr "Sentitzen dugu, pasakodea okerra da."
337
333
338−#: qml/Shell.qml:443
334+#: qml/Shell.qml:442
339msgid "This will be your last attempt."
335msgid "This will be your last attempt."
340msgstr "Hau duzu azken saiakera."
336msgstr "Hau duzu azken saiakera."
341
337
342−#: qml/Shell.qml:445
338+#: qml/Shell.qml:444
343msgid ""
339msgid ""
344"If passphrase is entered incorrectly, your phone will conduct a factory "
340"If passphrase is entered incorrectly, your phone will conduct a factory "
345"reset and all personal data will be deleted."
341"reset and all personal data will be deleted."
@@ -347,7 +343,7 @@ msgstr ""
347"Okerreko pasaesaldia sartzen baduzu, telefonoaren jatorrizko ezarpenak "
343"Okerreko pasaesaldia sartzen baduzu, telefonoaren jatorrizko ezarpenak "
348"berrezarri eta datu pertsonal guztiak ezabatuko dira."
344"berrezarri eta datu pertsonal guztiak ezabatuko dira."
349
345
350−#: qml/Shell.qml:446
346+#: qml/Shell.qml:445
351msgid ""
347msgid ""
352"If passcode is entered incorrectly, your phone will conduct a factory reset "
348"If passcode is entered incorrectly, your phone will conduct a factory reset "
353"and all personal data will be deleted."
349"and all personal data will be deleted."
@@ -367,5 +363,17 @@ msgstr ""
367#~ msgid "Speaking..."
363#~ msgid "Speaking..."
368#~ msgstr "Hitz egiten..."
364#~ msgstr "Hitz egiten..."
369
365
366+#~ msgid "Done"
367+#~ msgstr "Eginda"
368+
369+#~ msgid "All"
370+#~ msgstr "Guztiak"
371+
372+#~ msgid "Favorites"
373+#~ msgstr "Gogokoak"
374+
370#~ msgid "Confirm"
375#~ msgid "Confirm"
371#~ msgstr "Berretsi"
376#~ msgstr "Berretsi"
377+
378+#~ msgid "Manage Scopes"
379+#~ msgstr "Kudeatu eremuak"
po/fa.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-07 12:53+0000\n"
11"PO-Revision-Date: 2014-11-07 12:53+0000\n"
12"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
12"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
13"Language-Team: Persian <fa@li.org>\n"
13"Language-Team: Persian <fa@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -176,20 +176,24 @@ msgstr "کم‌تر ببینید"
176msgid "See all"
176msgid "See all"
177msgstr "دیدن همه"
177msgstr "دیدن همه"
178
178
179−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
179+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
180#: qml/Panel/SearchIndicator.qml:27
180#: qml/Panel/SearchIndicator.qml:27
181msgid "Search"
181msgid "Search"
182msgstr "جست‌وجو"
182msgstr "جست‌وجو"
183
183
184−#: qml/Dash/PageHeader.qml:268
184+#: qml/Dash/PageHeader.qml:260
185+msgid "Store"
186+msgstr "فروشگاه"
187+
188+#: qml/Dash/PageHeader.qml:277
185msgid "Settings"
189msgid "Settings"
186msgstr "تنظیمات"
190msgstr "تنظیمات"
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Remove from Favorites"
193msgid "Remove from Favorites"
190msgstr "برداشتن از برگزیده‌ها"
194msgstr "برداشتن از برگزیده‌ها"
191
195
192−#: qml/Dash/PageHeader.qml:275
196+#: qml/Dash/PageHeader.qml:284
193msgid "Add to Favorites"
197msgid "Add to Favorites"
194msgstr "افزودن به برگزیده‌ها"
198msgstr "افزودن به برگزیده‌ها"
195
199
@@ -221,31 +225,23 @@ msgstr "برای تازه‌سازی بکشید…"
221msgid "Release to refresh…"
225msgid "Release to refresh…"
222msgstr "برای تازه‌سازی رها کنید…"
226msgstr "برای تازه‌سازی رها کنید…"
223
227
224−#: qml/Dash/ScopesOverview.qml:215
228+#: qml/Dash/ScopesList.qml:63
225−msgid "Manage Scopes"
229+msgid "Manage"
226−msgstr "مدیریت حوزه‌ها"
230+msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:437
229−msgid "Done"
230−msgstr "انجام شد"
231−
232−#: qml/Dash/ScopesOverview.qml:463
233−msgid "Store"
234−msgstr "فروشگاه"
235
231
236−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:105
237−msgid "Favorites"
233+msgid "Home"
238−msgstr "برگزیده‌ها"
234+msgstr ""
239
235
240−#: qml/Dash/ScopesOverviewTab.qml:54
236+#: qml/Dash/ScopesList.qml:106
241−msgid "All"
237+msgid "Also installed"
242−msgstr "همه"
238+msgstr ""
243
239
244#: qml/Greeter/Greeter.qml:174
240#: qml/Greeter/Greeter.qml:174
245msgid "Unlock"
241msgid "Unlock"
246msgstr "بازکردن قفل"
242msgstr "بازکردن قفل"
247
243
248−#: qml/Notifications/NotificationMenuItemFactory.qml:116
244+#: qml/Notifications/NotificationMenuItemFactory.qml:128
249msgid "Show password"
245msgid "Show password"
250msgstr "نمایش گذرواژه"
246msgstr "نمایش گذرواژه"
251
247
@@ -293,49 +289,49 @@ msgstr "باز کردن قفل سیم‌کارت"
293msgid "Roaming"
289msgid "Roaming"
294msgstr "رومینگ"
290msgstr "رومینگ"
295
291
296−#: qml/Shell.qml:391
292+#: qml/Shell.qml:390
297msgid "Enter passphrase"
293msgid "Enter passphrase"
298msgstr "عبارت‌عبور را وارد کنید"
294msgstr "عبارت‌عبور را وارد کنید"
299
295
300−#: qml/Shell.qml:392
296+#: qml/Shell.qml:391
301msgid "Sorry, incorrect passphrase"
297msgid "Sorry, incorrect passphrase"
302msgstr "متأسّفیم، عبارت‌عبور نادرست بود"
298msgstr "متأسّفیم، عبارت‌عبور نادرست بود"
303
299
304−#: qml/Shell.qml:393
300+#: qml/Shell.qml:392
305msgid "Please re-enter"
301msgid "Please re-enter"
306msgstr "لطفاً دوباره وارد کنید"
302msgstr "لطفاً دوباره وارد کنید"
307
303
308−#: qml/Shell.qml:395
304+#: qml/Shell.qml:394
309msgid "Enter passcode"
305msgid "Enter passcode"
310msgstr "رمزعبور را وارد کنید"
306msgstr "رمزعبور را وارد کنید"
311
307
312−#: qml/Shell.qml:396
308+#: qml/Shell.qml:395
313msgid "Sorry, incorrect passcode"
309msgid "Sorry, incorrect passcode"
314msgstr "متأسّفیم، رمزعبور نادرست بود"
310msgstr "متأسّفیم، رمزعبور نادرست بود"
315
311
316−#: qml/Shell.qml:399
312+#: qml/Shell.qml:398
317#, qt-format
313#, qt-format
318msgid "Enter %1"
314msgid "Enter %1"
319msgstr "%1 را وارد کنید"
315msgstr "%1 را وارد کنید"
320
316
321−#: qml/Shell.qml:400
317+#: qml/Shell.qml:399
322#, qt-format
318#, qt-format
323msgid "Sorry, incorrect %1"
319msgid "Sorry, incorrect %1"
324msgstr "متأسّفیم، %1 نادرست بود"
320msgstr "متأسّفیم، %1 نادرست بود"
325
321
326−#: qml/Shell.qml:441
322+#: qml/Shell.qml:440
327msgid "Sorry, incorrect passphrase."
323msgid "Sorry, incorrect passphrase."
328msgstr "متأسّفیم، عبارت‌عبور نادرست است."
324msgstr "متأسّفیم، عبارت‌عبور نادرست است."
329
325
330−#: qml/Shell.qml:442
326+#: qml/Shell.qml:441
331msgid "Sorry, incorrect passcode."
327msgid "Sorry, incorrect passcode."
332msgstr "متأسّفیم، رمزعبور نادرست است."
328msgstr "متأسّفیم، رمزعبور نادرست است."
333
329
334−#: qml/Shell.qml:443
330+#: qml/Shell.qml:442
335msgid "This will be your last attempt."
331msgid "This will be your last attempt."
336msgstr "این آخرین تلاش شما خواهد بود."
332msgstr "این آخرین تلاش شما خواهد بود."
337
333
338−#: qml/Shell.qml:445
334+#: qml/Shell.qml:444
339msgid ""
335msgid ""
340"If passphrase is entered incorrectly, your phone will conduct a factory "
336"If passphrase is entered incorrectly, your phone will conduct a factory "
341"reset and all personal data will be deleted."
337"reset and all personal data will be deleted."
@@ -343,7 +339,7 @@ msgstr ""
343"اگر عبارت‌عبور نادرست وارد شود، تلفن شما بازنشانی کارخانه خواهد شد و تمامی "
339"اگر عبارت‌عبور نادرست وارد شود، تلفن شما بازنشانی کارخانه خواهد شد و تمامی "
344"اطّلاعات شخصی حذف خواهند شد."
340"اطّلاعات شخصی حذف خواهند شد."
345
341
346−#: qml/Shell.qml:446
342+#: qml/Shell.qml:445
347msgid ""
343msgid ""
348"If passcode is entered incorrectly, your phone will conduct a factory reset "
344"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"and all personal data will be deleted."
345"and all personal data will be deleted."
@@ -365,3 +361,15 @@ msgstr ""
365
361
366#~ msgid "Speak Now..."
362#~ msgid "Speak Now..."
367#~ msgstr "اکنون صحبت کنید…"
363#~ msgstr "اکنون صحبت کنید…"
364+
365+#~ msgid "All"
366+#~ msgstr "همه"
367+
368+#~ msgid "Favorites"
369+#~ msgstr "برگزیده‌ها"
370+
371+#~ msgid "Done"
372+#~ msgstr "انجام شد"
373+
374+#~ msgid "Manage Scopes"
375+#~ msgstr "مدیریت حوزه‌ها"
po/fi.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-05 11:49+0000\n"
11"PO-Revision-Date: 2014-11-05 11:49+0000\n"
12"Last-Translator: Jiri Grönroos <Unknown>\n"
12"Last-Translator: Jiri Grönroos <Unknown>\n"
13"Language-Team: Finnish <fi@li.org>\n"
13"Language-Team: Finnish <fi@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -178,20 +178,24 @@ msgstr "Näytä vähemmän"
178msgid "See all"
178msgid "See all"
179msgstr "Näytä kaikki"
179msgstr "Näytä kaikki"
180
180
181−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
181+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
182#: qml/Panel/SearchIndicator.qml:27
182#: qml/Panel/SearchIndicator.qml:27
183msgid "Search"
183msgid "Search"
184msgstr "Hae"
184msgstr "Hae"
185
185
186−#: qml/Dash/PageHeader.qml:268
186+#: qml/Dash/PageHeader.qml:260
187+msgid "Store"
188+msgstr "Kauppa"
189+
190+#: qml/Dash/PageHeader.qml:277
187msgid "Settings"
191msgid "Settings"
188msgstr "Asetukset"
192msgstr "Asetukset"
189
193
190−#: qml/Dash/PageHeader.qml:275
194+#: qml/Dash/PageHeader.qml:284
191msgid "Remove from Favorites"
195msgid "Remove from Favorites"
192msgstr "Poista suosikeista"
196msgstr "Poista suosikeista"
193
197
194−#: qml/Dash/PageHeader.qml:275
198+#: qml/Dash/PageHeader.qml:284
195msgid "Add to Favorites"
199msgid "Add to Favorites"
196msgstr "Lisää suosikkeihin"
200msgstr "Lisää suosikkeihin"
197
201
@@ -223,31 +227,23 @@ msgstr "Vedä päivittääksesi…"
223msgid "Release to refresh…"
227msgid "Release to refresh…"
224msgstr "Vapauta päivittääksesi…"
228msgstr "Vapauta päivittääksesi…"
225
229
226−#: qml/Dash/ScopesOverview.qml:215
230+#: qml/Dash/ScopesList.qml:63
227−msgid "Manage Scopes"
231+msgid "Manage"
228−msgstr "Näkymien hallinta"
232+msgstr ""
229−
230−#: qml/Dash/ScopesOverview.qml:437
231−msgid "Done"
232−msgstr "Valmis"
233−
234−#: qml/Dash/ScopesOverview.qml:463
235−msgid "Store"
236−msgstr "Kauppa"
237
233
238−#: qml/Dash/ScopesOverviewTab.qml:36
234+#: qml/Dash/ScopesList.qml:105
239−msgid "Favorites"
235+msgid "Home"
240−msgstr "Suosikit"
236+msgstr ""
241
237
242−#: qml/Dash/ScopesOverviewTab.qml:54
238+#: qml/Dash/ScopesList.qml:106
243−msgid "All"
239+msgid "Also installed"
244−msgstr "Kaikki"
240+msgstr ""
245
241
246#: qml/Greeter/Greeter.qml:174
242#: qml/Greeter/Greeter.qml:174
247msgid "Unlock"
243msgid "Unlock"
248msgstr "Avaa lukitus"
244msgstr "Avaa lukitus"
249
245
250−#: qml/Notifications/NotificationMenuItemFactory.qml:116
246+#: qml/Notifications/NotificationMenuItemFactory.qml:128
251msgid "Show password"
247msgid "Show password"
252msgstr "Näytä salasana"
248msgstr "Näytä salasana"
253
249
@@ -295,49 +291,49 @@ msgstr "Avaa SIM-kortin lukitus"
295msgid "Roaming"
291msgid "Roaming"
296msgstr "Verkkovierailu"
292msgstr "Verkkovierailu"
297
293
298−#: qml/Shell.qml:391
294+#: qml/Shell.qml:390
299msgid "Enter passphrase"
295msgid "Enter passphrase"
300msgstr "Anna tunnuslause"
296msgstr "Anna tunnuslause"
301
297
302−#: qml/Shell.qml:392
298+#: qml/Shell.qml:391
303msgid "Sorry, incorrect passphrase"
299msgid "Sorry, incorrect passphrase"
304msgstr "Virheellinen tunnuslause"
300msgstr "Virheellinen tunnuslause"
305
301
306−#: qml/Shell.qml:393
302+#: qml/Shell.qml:392
307msgid "Please re-enter"
303msgid "Please re-enter"
308msgstr "Anna uudelleen"
304msgstr "Anna uudelleen"
309
305
310−#: qml/Shell.qml:395
306+#: qml/Shell.qml:394
311msgid "Enter passcode"
307msgid "Enter passcode"
312msgstr "Anna suojakoodi"
308msgstr "Anna suojakoodi"
313
309
314−#: qml/Shell.qml:396
310+#: qml/Shell.qml:395
315msgid "Sorry, incorrect passcode"
311msgid "Sorry, incorrect passcode"
316msgstr "Väärä suojakoodi"
312msgstr "Väärä suojakoodi"
317
313
318−#: qml/Shell.qml:399
314+#: qml/Shell.qml:398
319#, qt-format
315#, qt-format
320msgid "Enter %1"
316msgid "Enter %1"
321msgstr "Anna %1"
317msgstr "Anna %1"
322
318
323−#: qml/Shell.qml:400
319+#: qml/Shell.qml:399
324#, qt-format
320#, qt-format
325msgid "Sorry, incorrect %1"
321msgid "Sorry, incorrect %1"
326msgstr "Väärä %1"
322msgstr "Väärä %1"
327
323
328−#: qml/Shell.qml:441
324+#: qml/Shell.qml:440
329msgid "Sorry, incorrect passphrase."
325msgid "Sorry, incorrect passphrase."
330msgstr "Virheellinen tunnuslause."
326msgstr "Virheellinen tunnuslause."
331
327
332−#: qml/Shell.qml:442
328+#: qml/Shell.qml:441
333msgid "Sorry, incorrect passcode."
329msgid "Sorry, incorrect passcode."
334msgstr "Virheellinen suojakoodi."
330msgstr "Virheellinen suojakoodi."
335
331
336−#: qml/Shell.qml:443
332+#: qml/Shell.qml:442
337msgid "This will be your last attempt."
333msgid "This will be your last attempt."
338msgstr "Tämä on viimeinen yritys."
334msgstr "Tämä on viimeinen yritys."
339
335
340−#: qml/Shell.qml:445
336+#: qml/Shell.qml:444
341msgid ""
337msgid ""
342"If passphrase is entered incorrectly, your phone will conduct a factory "
338"If passphrase is entered incorrectly, your phone will conduct a factory "
343"reset and all personal data will be deleted."
339"reset and all personal data will be deleted."
@@ -345,7 +341,7 @@ msgstr ""
345"Jos kirjoitat tunnuslauseen virheellisesti, puhelimesi palautetaan "
341"Jos kirjoitat tunnuslauseen virheellisesti, puhelimesi palautetaan "
346"tehdastilaan ja kaikki henkilökohtaiset tietosi poistetaan."
342"tehdastilaan ja kaikki henkilökohtaiset tietosi poistetaan."
347
343
348−#: qml/Shell.qml:446
344+#: qml/Shell.qml:445
349msgid ""
345msgid ""
350"If passcode is entered incorrectly, your phone will conduct a factory reset "
346"If passcode is entered incorrectly, your phone will conduct a factory reset "
351"and all personal data will be deleted."
347"and all personal data will be deleted."
@@ -367,3 +363,15 @@ msgstr ""
367
363
368#~ msgid "Loading. Please Wait..."
364#~ msgid "Loading. Please Wait..."
369#~ msgstr "Ladataan, pieni hetki..."
365#~ msgstr "Ladataan, pieni hetki..."
366+
367+#~ msgid "All"
368+#~ msgstr "Kaikki"
369+
370+#~ msgid "Favorites"
371+#~ msgstr "Suosikit"
372+
373+#~ msgid "Done"
374+#~ msgstr "Valmis"
375+
376+#~ msgid "Manage Scopes"
377+#~ msgstr "Näkymien hallinta"
po/fo.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-01-14 20:08+0000\n"
11"PO-Revision-Date: 2014-01-14 20:08+0000\n"
12"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
12"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
13"Language-Team: Faroese <fo@li.org>\n"
13"Language-Team: Faroese <fo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "Leita"
178msgstr "Leita"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/fr.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-05 17:30+0000\n"
11"PO-Revision-Date: 2014-11-05 17:30+0000\n"
12"Last-Translator: Sébastien Maes <nautilussebastien@gmail.com>\n"
12"Last-Translator: Sébastien Maes <nautilussebastien@gmail.com>\n"
13"Language-Team: French <fr@li.org>\n"
13"Language-Team: French <fr@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -187,20 +187,24 @@ msgstr "Voir moins"
187msgid "See all"
187msgid "See all"
188msgstr "Tout voir"
188msgstr "Tout voir"
189
189
190−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
190+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
191#: qml/Panel/SearchIndicator.qml:27
191#: qml/Panel/SearchIndicator.qml:27
192msgid "Search"
192msgid "Search"
193msgstr "Rechercher"
193msgstr "Rechercher"
194
194
195−#: qml/Dash/PageHeader.qml:268
195+#: qml/Dash/PageHeader.qml:260
196+msgid "Store"
197+msgstr "Logithèque"
198+
199+#: qml/Dash/PageHeader.qml:277
196msgid "Settings"
200msgid "Settings"
197msgstr "Paramètres"
201msgstr "Paramètres"
198
202
199−#: qml/Dash/PageHeader.qml:275
203+#: qml/Dash/PageHeader.qml:284
200msgid "Remove from Favorites"
204msgid "Remove from Favorites"
201msgstr "Retirer des favoris"
205msgstr "Retirer des favoris"
202
206
203−#: qml/Dash/PageHeader.qml:275
207+#: qml/Dash/PageHeader.qml:284
204msgid "Add to Favorites"
208msgid "Add to Favorites"
205msgstr "Ajouter aux favoris"
209msgstr "Ajouter aux favoris"
206
210
@@ -232,31 +236,23 @@ msgstr "Tirer pour actualiser..."
232msgid "Release to refresh…"
236msgid "Release to refresh…"
233msgstr "Relâcher pour actualiser..."
237msgstr "Relâcher pour actualiser..."
234
238
235−#: qml/Dash/ScopesOverview.qml:215
239+#: qml/Dash/ScopesList.qml:63
236−msgid "Manage Scopes"
240+msgid "Manage"
237−msgstr "Gérer les moteurs de recherche"
241+msgstr ""
238−
239−#: qml/Dash/ScopesOverview.qml:437
240−msgid "Done"
241−msgstr "Terminé"
242−
243−#: qml/Dash/ScopesOverview.qml:463
244−msgid "Store"
245−msgstr "Logithèque"
246
242
247−#: qml/Dash/ScopesOverviewTab.qml:36
243+#: qml/Dash/ScopesList.qml:105
248−msgid "Favorites"
244+msgid "Home"
249−msgstr "Favorites"
245+msgstr ""
250
246
251−#: qml/Dash/ScopesOverviewTab.qml:54
247+#: qml/Dash/ScopesList.qml:106
252−msgid "All"
248+msgid "Also installed"
253−msgstr "Toutes"
249+msgstr ""
254
250
255#: qml/Greeter/Greeter.qml:174
251#: qml/Greeter/Greeter.qml:174
256msgid "Unlock"
252msgid "Unlock"
257msgstr "Déverrouiller"
253msgstr "Déverrouiller"
258
254
259−#: qml/Notifications/NotificationMenuItemFactory.qml:116
255+#: qml/Notifications/NotificationMenuItemFactory.qml:128
260msgid "Show password"
256msgid "Show password"
261msgstr "Afficher le mot de passe"
257msgstr "Afficher le mot de passe"
262
258
@@ -304,49 +300,49 @@ msgstr "Déverrouiller la carte SIM"
304msgid "Roaming"
300msgid "Roaming"
305msgstr "Roaming"
301msgstr "Roaming"
306
302
307−#: qml/Shell.qml:391
303+#: qml/Shell.qml:390
308msgid "Enter passphrase"
304msgid "Enter passphrase"
309msgstr "Saisissez la phrase de passe"
305msgstr "Saisissez la phrase de passe"
310
306
311−#: qml/Shell.qml:392
307+#: qml/Shell.qml:391
312msgid "Sorry, incorrect passphrase"
308msgid "Sorry, incorrect passphrase"
313msgstr "Désolé, phrase secrète incorrecte"
309msgstr "Désolé, phrase secrète incorrecte"
314
310
315−#: qml/Shell.qml:393
311+#: qml/Shell.qml:392
316msgid "Please re-enter"
312msgid "Please re-enter"
317msgstr "Veuillez ressaisir"
313msgstr "Veuillez ressaisir"
318
314
319−#: qml/Shell.qml:395
315+#: qml/Shell.qml:394
320msgid "Enter passcode"
316msgid "Enter passcode"
321msgstr "Saisissez le mot de passe"
317msgstr "Saisissez le mot de passe"
322
318
323−#: qml/Shell.qml:396
319+#: qml/Shell.qml:395
324msgid "Sorry, incorrect passcode"
320msgid "Sorry, incorrect passcode"
325msgstr "Désolé, code incorrect"
321msgstr "Désolé, code incorrect"
326
322
327−#: qml/Shell.qml:399
323+#: qml/Shell.qml:398
328#, qt-format
324#, qt-format
329msgid "Enter %1"
325msgid "Enter %1"
330msgstr "Saisissez %1"
326msgstr "Saisissez %1"
331
327
332−#: qml/Shell.qml:400
328+#: qml/Shell.qml:399
333#, qt-format
329#, qt-format
334msgid "Sorry, incorrect %1"
330msgid "Sorry, incorrect %1"
335msgstr "Désolé, %1 incorrect"
331msgstr "Désolé, %1 incorrect"
336
332
337−#: qml/Shell.qml:441
333+#: qml/Shell.qml:440
338msgid "Sorry, incorrect passphrase."
334msgid "Sorry, incorrect passphrase."
339msgstr "Désolé, phrase secrète incorrecte."
335msgstr "Désolé, phrase secrète incorrecte."
340
336
341−#: qml/Shell.qml:442
337+#: qml/Shell.qml:441
342msgid "Sorry, incorrect passcode."
338msgid "Sorry, incorrect passcode."
343msgstr "Désolé, code incorrect."
339msgstr "Désolé, code incorrect."
344
340
345−#: qml/Shell.qml:443
341+#: qml/Shell.qml:442
346msgid "This will be your last attempt."
342msgid "This will be your last attempt."
347msgstr "Ceci sera votre dernière tentative."
343msgstr "Ceci sera votre dernière tentative."
348
344
349−#: qml/Shell.qml:445
345+#: qml/Shell.qml:444
350msgid ""
346msgid ""
351"If passphrase is entered incorrectly, your phone will conduct a factory "
347"If passphrase is entered incorrectly, your phone will conduct a factory "
352"reset and all personal data will be deleted."
348"reset and all personal data will be deleted."
@@ -355,7 +351,7 @@ msgstr ""
355"effectuera une réinitialisation aux paramètres d'usine et toutes les données "
351"effectuera une réinitialisation aux paramètres d'usine et toutes les données "
356"personnelles seront supprimées."
352"personnelles seront supprimées."
357
353
358−#: qml/Shell.qml:446
354+#: qml/Shell.qml:445
359msgid ""
355msgid ""
360"If passcode is entered incorrectly, your phone will conduct a factory reset "
356"If passcode is entered incorrectly, your phone will conduct a factory reset "
361"and all personal data will be deleted."
357"and all personal data will be deleted."
@@ -378,3 +374,15 @@ msgstr ""
378
374
379#~ msgid "Speak Now..."
375#~ msgid "Speak Now..."
380#~ msgstr "Parlez maintenant…"
376#~ msgstr "Parlez maintenant…"
377+
378+#~ msgid "All"
379+#~ msgstr "Toutes"
380+
381+#~ msgid "Done"
382+#~ msgstr "Terminé"
383+
384+#~ msgid "Favorites"
385+#~ msgstr "Favorites"
386+
387+#~ msgid "Manage Scopes"
388+#~ msgstr "Gérer les moteurs de recherche"
po/gd.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-09 08:18+0000\n"
11"PO-Revision-Date: 2014-11-09 08:18+0000\n"
12"Last-Translator: GunChleoc <Unknown>\n"
12"Last-Translator: GunChleoc <Unknown>\n"
13"Language-Team: Fòram na Gàidhlig\n"
13"Language-Team: Fòram na Gàidhlig\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
18"(n > 2 && n < 20) ? 2 : 3;\n"
18"(n > 2 && n < 20) ? 2 : 3;\n"
19−"X-Launchpad-Export-Date: 2014-11-10 06:09+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21"Language: gd\n"
21"Language: gd\n"
22
22
23#: plugins/LightDM/Greeter.cpp:130
23#: plugins/LightDM/Greeter.cpp:130
@@ -190,20 +190,24 @@ msgstr "Seall nas lugha"
190msgid "See all"
190msgid "See all"
191msgstr "Seall na h-uile"
191msgstr "Seall na h-uile"
192
192
193−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
193+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
194#: qml/Panel/SearchIndicator.qml:27
194#: qml/Panel/SearchIndicator.qml:27
195msgid "Search"
195msgid "Search"
196msgstr "Lorg"
196msgstr "Lorg"
197
197
198−#: qml/Dash/PageHeader.qml:268
198+#: qml/Dash/PageHeader.qml:260
199+msgid "Store"
200+msgstr "Am bùth"
201+
202+#: qml/Dash/PageHeader.qml:277
199msgid "Settings"
203msgid "Settings"
200msgstr "Roghainnean"
204msgstr "Roghainnean"
201
205
202−#: qml/Dash/PageHeader.qml:275
206+#: qml/Dash/PageHeader.qml:284
203msgid "Remove from Favorites"
207msgid "Remove from Favorites"
204msgstr "Thoir air falbh o na h-annsachdan"
208msgstr "Thoir air falbh o na h-annsachdan"
205
209
206−#: qml/Dash/PageHeader.qml:275
210+#: qml/Dash/PageHeader.qml:284
207msgid "Add to Favorites"
211msgid "Add to Favorites"
208msgstr "Cuir ris na h-annsachdan"
212msgstr "Cuir ris na h-annsachdan"
209
213
@@ -235,31 +239,23 @@ msgstr "Tarraing airson ath-nuadhachadh…"
235msgid "Release to refresh…"
239msgid "Release to refresh…"
236msgstr "Leig às airson ath-nuadhachadh…"
240msgstr "Leig às airson ath-nuadhachadh…"
237
241
238−#: qml/Dash/ScopesOverview.qml:215
242+#: qml/Dash/ScopesList.qml:63
239−msgid "Manage Scopes"
243+msgid "Manage"
240−msgstr "Stiùirich na sgòpaichean"
244+msgstr ""
241−
242−#: qml/Dash/ScopesOverview.qml:437
243−msgid "Done"
244−msgstr "Deiseil"
245−
246−#: qml/Dash/ScopesOverview.qml:463
247−msgid "Store"
248−msgstr "Am bùth"
249
245
250−#: qml/Dash/ScopesOverviewTab.qml:36
246+#: qml/Dash/ScopesList.qml:105
251−msgid "Favorites"
247+msgid "Home"
252−msgstr "Annsachdan"
248+msgstr ""
253
249
254−#: qml/Dash/ScopesOverviewTab.qml:54
250+#: qml/Dash/ScopesList.qml:106
255−msgid "All"
251+msgid "Also installed"
256−msgstr "Na h-uile"
252+msgstr ""
257
253
258#: qml/Greeter/Greeter.qml:174
254#: qml/Greeter/Greeter.qml:174
259msgid "Unlock"
255msgid "Unlock"
260msgstr "Thoir a' ghlas dheth"
256msgstr "Thoir a' ghlas dheth"
261
257
262−#: qml/Notifications/NotificationMenuItemFactory.qml:116
258+#: qml/Notifications/NotificationMenuItemFactory.qml:128
263msgid "Show password"
259msgid "Show password"
264msgstr "Seall am facal-faire"
260msgstr "Seall am facal-faire"
265
261
@@ -307,49 +303,49 @@ msgstr "Thoir a' ghlas far an SIM"
307msgid "Roaming"
303msgid "Roaming"
308msgstr "Air fàrsan"
304msgstr "Air fàrsan"
309
305
310−#: qml/Shell.qml:391
306+#: qml/Shell.qml:390
311msgid "Enter passphrase"
307msgid "Enter passphrase"
312msgstr "Cuir abairt-fhaire a-steach"
308msgstr "Cuir abairt-fhaire a-steach"
313
309
314−#: qml/Shell.qml:392
310+#: qml/Shell.qml:391
315msgid "Sorry, incorrect passphrase"
311msgid "Sorry, incorrect passphrase"
316msgstr "Duilich ach tha an abairt-fhaire cearr"
312msgstr "Duilich ach tha an abairt-fhaire cearr"
317
313
318−#: qml/Shell.qml:393
314+#: qml/Shell.qml:392
319msgid "Please re-enter"
315msgid "Please re-enter"
320msgstr "Cuir a-steach e a-rithist"
316msgstr "Cuir a-steach e a-rithist"
321
317
322−#: qml/Shell.qml:395
318+#: qml/Shell.qml:394
323msgid "Enter passcode"
319msgid "Enter passcode"
324msgstr "Cuir còd-faire a-steach"
320msgstr "Cuir còd-faire a-steach"
325
321
326−#: qml/Shell.qml:396
322+#: qml/Shell.qml:395
327msgid "Sorry, incorrect passcode"
323msgid "Sorry, incorrect passcode"
328msgstr "Duilich ach tha an còd-faire cearr"
324msgstr "Duilich ach tha an còd-faire cearr"
329
325
330−#: qml/Shell.qml:399
326+#: qml/Shell.qml:398
331#, qt-format
327#, qt-format
332msgid "Enter %1"
328msgid "Enter %1"
333msgstr "Cuir a-steach %1"
329msgstr "Cuir a-steach %1"
334
330
335−#: qml/Shell.qml:400
331+#: qml/Shell.qml:399
336#, qt-format
332#, qt-format
337msgid "Sorry, incorrect %1"
333msgid "Sorry, incorrect %1"
338msgstr "Duilich ach tha a' %1 cearr"
334msgstr "Duilich ach tha a' %1 cearr"
339
335
340−#: qml/Shell.qml:441
336+#: qml/Shell.qml:440
341msgid "Sorry, incorrect passphrase."
337msgid "Sorry, incorrect passphrase."
342msgstr "Duilich ach tha an abairt-fhaire cearr."
338msgstr "Duilich ach tha an abairt-fhaire cearr."
343
339
344−#: qml/Shell.qml:442
340+#: qml/Shell.qml:441
345msgid "Sorry, incorrect passcode."
341msgid "Sorry, incorrect passcode."
346msgstr "Duilich ach tha an còd-faire cearr."
342msgstr "Duilich ach tha an còd-faire cearr."
347
343
348−#: qml/Shell.qml:443
344+#: qml/Shell.qml:442
349msgid "This will be your last attempt."
345msgid "This will be your last attempt."
350msgstr "Seo an oidhirp mu dheireadh agad."
346msgstr "Seo an oidhirp mu dheireadh agad."
351
347
352−#: qml/Shell.qml:445
348+#: qml/Shell.qml:444
353msgid ""
349msgid ""
354"If passphrase is entered incorrectly, your phone will conduct a factory "
350"If passphrase is entered incorrectly, your phone will conduct a factory "
355"reset and all personal data will be deleted."
351"reset and all personal data will be deleted."
@@ -358,7 +354,7 @@ msgstr ""
358"ath-shuidheachadh air roghainnean an fhactaraidh agus thèid gach dàta "
354"ath-shuidheachadh air roghainnean an fhactaraidh agus thèid gach dàta "
359"pearsanta a sguabadh às."
355"pearsanta a sguabadh às."
360
356
361−#: qml/Shell.qml:446
357+#: qml/Shell.qml:445
362msgid ""
358msgid ""
363"If passcode is entered incorrectly, your phone will conduct a factory reset "
359"If passcode is entered incorrectly, your phone will conduct a factory reset "
364"and all personal data will be deleted."
360"and all personal data will be deleted."
@@ -381,3 +377,15 @@ msgstr ""
381
377
382#~ msgid "Speak Now..."
378#~ msgid "Speak Now..."
383#~ msgstr "Can rud a-nis..."
379#~ msgstr "Can rud a-nis..."
380+
381+#~ msgid "All"
382+#~ msgstr "Na h-uile"
383+
384+#~ msgid "Favorites"
385+#~ msgstr "Annsachdan"
386+
387+#~ msgid "Done"
388+#~ msgstr "Deiseil"
389+
390+#~ msgid "Manage Scopes"
391+#~ msgstr "Stiùirich na sgòpaichean"
po/gl.po+46−38
@@ -7,16 +7,16 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11−"PO-Revision-Date: 2014-11-06 13:30+0000\n"
11+"PO-Revision-Date: 2014-12-09 02:29+0000\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
13"Language-Team: Galician <gl@li.org>\n"
13"Language-Team: Galician <gl@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -176,20 +176,24 @@ msgstr "Ver menos"
176msgid "See all"
176msgid "See all"
177msgstr "Ver todo"
177msgstr "Ver todo"
178
178
179−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
179+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
180#: qml/Panel/SearchIndicator.qml:27
180#: qml/Panel/SearchIndicator.qml:27
181msgid "Search"
181msgid "Search"
182msgstr "Buscar"
182msgstr "Buscar"
183
183
184−#: qml/Dash/PageHeader.qml:268
184+#: qml/Dash/PageHeader.qml:260
185+msgid "Store"
186+msgstr "Tenda"
187+
188+#: qml/Dash/PageHeader.qml:277
185msgid "Settings"
189msgid "Settings"
186msgstr "Axustes"
190msgstr "Axustes"
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Remove from Favorites"
193msgid "Remove from Favorites"
190msgstr "Eliminar dos favoritos"
194msgstr "Eliminar dos favoritos"
191
195
192−#: qml/Dash/PageHeader.qml:275
196+#: qml/Dash/PageHeader.qml:284
193msgid "Add to Favorites"
197msgid "Add to Favorites"
194msgstr "Engadir aos favoritos"
198msgstr "Engadir aos favoritos"
195
199
@@ -221,31 +225,23 @@ msgstr "Tirar para actualizar..."
221msgid "Release to refresh…"
225msgid "Release to refresh…"
222msgstr "Soltar para actualizar"
226msgstr "Soltar para actualizar"
223
227
224−#: qml/Dash/ScopesOverview.qml:215
228+#: qml/Dash/ScopesList.qml:63
225−msgid "Manage Scopes"
229+msgid "Manage"
226−msgstr "Xestionar os Ámbitos"
230+msgstr "Xestionar"
227−
228−#: qml/Dash/ScopesOverview.qml:437
229−msgid "Done"
230−msgstr "Feito"
231−
232−#: qml/Dash/ScopesOverview.qml:463
233−msgid "Store"
234−msgstr "Tenda"
235
231
236−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:105
237−msgid "Favorites"
233+msgid "Home"
238−msgstr "Favoritos"
234+msgstr "Inicio"
239
235
240−#: qml/Dash/ScopesOverviewTab.qml:54
236+#: qml/Dash/ScopesList.qml:106
241−msgid "All"
237+msgid "Also installed"
242−msgstr "Todos"
238+msgstr "Tamén instalado"
243
239
244#: qml/Greeter/Greeter.qml:174
240#: qml/Greeter/Greeter.qml:174
245msgid "Unlock"
241msgid "Unlock"
246msgstr "Desbloquear"
242msgstr "Desbloquear"
247
243
248−#: qml/Notifications/NotificationMenuItemFactory.qml:116
244+#: qml/Notifications/NotificationMenuItemFactory.qml:128
249msgid "Show password"
245msgid "Show password"
250msgstr "Mostrar contrasinal"
246msgstr "Mostrar contrasinal"
251
247
@@ -293,49 +289,49 @@ msgstr "Desbloquear a SIM"
293msgid "Roaming"
289msgid "Roaming"
294msgstr "Itinerancia"
290msgstr "Itinerancia"
295
291
296−#: qml/Shell.qml:391
292+#: qml/Shell.qml:390
297msgid "Enter passphrase"
293msgid "Enter passphrase"
298msgstr "Introduza a frase secreta"
294msgstr "Introduza a frase secreta"
299
295
300−#: qml/Shell.qml:392
296+#: qml/Shell.qml:391
301msgid "Sorry, incorrect passphrase"
297msgid "Sorry, incorrect passphrase"
302msgstr "Sentímolo a frase é incorrecta"
298msgstr "Sentímolo a frase é incorrecta"
303
299
304−#: qml/Shell.qml:393
300+#: qml/Shell.qml:392
305msgid "Please re-enter"
301msgid "Please re-enter"
306msgstr "Introducir de novo"
302msgstr "Introducir de novo"
307
303
308−#: qml/Shell.qml:395
304+#: qml/Shell.qml:394
309msgid "Enter passcode"
305msgid "Enter passcode"
310msgstr "Introduza a clave"
306msgstr "Introduza a clave"
311
307
312−#: qml/Shell.qml:396
308+#: qml/Shell.qml:395
313msgid "Sorry, incorrect passcode"
309msgid "Sorry, incorrect passcode"
314msgstr "Sentímolo, a clave é incorrecta"
310msgstr "Sentímolo, a clave é incorrecta"
315
311
316−#: qml/Shell.qml:399
312+#: qml/Shell.qml:398
317#, qt-format
313#, qt-format
318msgid "Enter %1"
314msgid "Enter %1"
319msgstr "Introducir %1"
315msgstr "Introducir %1"
320
316
321−#: qml/Shell.qml:400
317+#: qml/Shell.qml:399
322#, qt-format
318#, qt-format
323msgid "Sorry, incorrect %1"
319msgid "Sorry, incorrect %1"
324msgstr "Sentímolo, %1 non coincide"
320msgstr "Sentímolo, %1 non coincide"
325
321
326−#: qml/Shell.qml:441
322+#: qml/Shell.qml:440
327msgid "Sorry, incorrect passphrase."
323msgid "Sorry, incorrect passphrase."
328msgstr "Sentímolo a frase é incorrecta."
324msgstr "Sentímolo a frase é incorrecta."
329
325
330−#: qml/Shell.qml:442
326+#: qml/Shell.qml:441
331msgid "Sorry, incorrect passcode."
327msgid "Sorry, incorrect passcode."
332msgstr "Sentímolo, a clave é incorrecta."
328msgstr "Sentímolo, a clave é incorrecta."
333
329
334−#: qml/Shell.qml:443
330+#: qml/Shell.qml:442
335msgid "This will be your last attempt."
331msgid "This will be your last attempt."
336msgstr "Este será o seu último intento."
332msgstr "Este será o seu último intento."
337
333
338−#: qml/Shell.qml:445
334+#: qml/Shell.qml:444
339msgid ""
335msgid ""
340"If passphrase is entered incorrectly, your phone will conduct a factory "
336"If passphrase is entered incorrectly, your phone will conduct a factory "
341"reset and all personal data will be deleted."
337"reset and all personal data will be deleted."
@@ -343,7 +339,7 @@ msgstr ""
343"Se a frase de paso introducida é incorrecta, o teléfono restabelecerá os "
339"Se a frase de paso introducida é incorrecta, o teléfono restabelecerá os "
344"valores de fábrica e perderá todos os datos persoais."
340"valores de fábrica e perderá todos os datos persoais."
345
341
346−#: qml/Shell.qml:446
342+#: qml/Shell.qml:445
347msgid ""
343msgid ""
348"If passcode is entered incorrectly, your phone will conduct a factory reset "
344"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"and all personal data will be deleted."
345"and all personal data will be deleted."
@@ -365,3 +361,15 @@ msgstr ""
365
361
366#~ msgid "Loading. Please Wait..."
362#~ msgid "Loading. Please Wait..."
367#~ msgstr "Cargando, agarde…"
363#~ msgstr "Cargando, agarde…"
364+
365+#~ msgid "All"
366+#~ msgstr "Todos"
367+
368+#~ msgid "Favorites"
369+#~ msgstr "Favoritos"
370+
371+#~ msgid "Done"
372+#~ msgstr "Feito"
373+
374+#~ msgid "Manage Scopes"
375+#~ msgstr "Xestionar os Ámbitos"
po/he.po+41−36
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-08-23 14:19+0000\n"
11"PO-Revision-Date: 2014-08-23 14:19+0000\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
13"Language-Team: Hebrew <he@li.org>\n"
13"Language-Team: Hebrew <he@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -174,20 +174,24 @@ msgstr "לראות פחות"
174msgid "See all"
174msgid "See all"
175msgstr "להציג הכול"
175msgstr "להציג הכול"
176
176
177−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
177+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
178#: qml/Panel/SearchIndicator.qml:27
178#: qml/Panel/SearchIndicator.qml:27
179msgid "Search"
179msgid "Search"
180msgstr "חיפוש"
180msgstr "חיפוש"
181
181
182−#: qml/Dash/PageHeader.qml:268
182+#: qml/Dash/PageHeader.qml:260
183+msgid "Store"
184+msgstr "אחסון"
185+
186+#: qml/Dash/PageHeader.qml:277
183msgid "Settings"
187msgid "Settings"
184msgstr ""
188msgstr ""
185
189
186−#: qml/Dash/PageHeader.qml:275
190+#: qml/Dash/PageHeader.qml:284
187msgid "Remove from Favorites"
191msgid "Remove from Favorites"
188msgstr ""
192msgstr ""
189
193
190−#: qml/Dash/PageHeader.qml:275
194+#: qml/Dash/PageHeader.qml:284
191msgid "Add to Favorites"
195msgid "Add to Favorites"
192msgstr ""
196msgstr ""
193
197
@@ -219,31 +223,23 @@ msgstr ""
219msgid "Release to refresh…"
223msgid "Release to refresh…"
220msgstr ""
224msgstr ""
221
225
222−#: qml/Dash/ScopesOverview.qml:215
226+#: qml/Dash/ScopesList.qml:63
223−msgid "Manage Scopes"
227+msgid "Manage"
224msgstr ""
228msgstr ""
225
229
226−#: qml/Dash/ScopesOverview.qml:437
230+#: qml/Dash/ScopesList.qml:105
227−msgid "Done"
228−msgstr "סיימתי"
229−
230−#: qml/Dash/ScopesOverview.qml:463
231−msgid "Store"
232−msgstr "אחסון"
233−
234−#: qml/Dash/ScopesOverviewTab.qml:36
235−msgid "Favorites"
231+msgid "Home"
236−msgstr "מועדפים"
232+msgstr ""
237
233
238−#: qml/Dash/ScopesOverviewTab.qml:54
234+#: qml/Dash/ScopesList.qml:106
239−msgid "All"
235+msgid "Also installed"
240−msgstr "הכול"
236+msgstr ""
241
237
242#: qml/Greeter/Greeter.qml:174
238#: qml/Greeter/Greeter.qml:174
243msgid "Unlock"
239msgid "Unlock"
244msgstr ""
240msgstr ""
245
241
246−#: qml/Notifications/NotificationMenuItemFactory.qml:116
242+#: qml/Notifications/NotificationMenuItemFactory.qml:128
247msgid "Show password"
243msgid "Show password"
248msgstr "הצגת הססמה"
244msgstr "הצגת הססמה"
249
245
@@ -291,55 +287,55 @@ msgstr ""
291msgid "Roaming"
287msgid "Roaming"
292msgstr "נדידה"
288msgstr "נדידה"
293
289
294−#: qml/Shell.qml:391
290+#: qml/Shell.qml:390
295msgid "Enter passphrase"
291msgid "Enter passphrase"
296msgstr ""
292msgstr ""
297
293
298−#: qml/Shell.qml:392
294+#: qml/Shell.qml:391
299msgid "Sorry, incorrect passphrase"
295msgid "Sorry, incorrect passphrase"
300msgstr "מילת הצופן שגויה, עמך הסליחה."
296msgstr "מילת הצופן שגויה, עמך הסליחה."
301
297
302−#: qml/Shell.qml:393
298+#: qml/Shell.qml:392
303msgid "Please re-enter"
299msgid "Please re-enter"
304msgstr ""
300msgstr ""
305
301
306−#: qml/Shell.qml:395
302+#: qml/Shell.qml:394
307msgid "Enter passcode"
303msgid "Enter passcode"
308msgstr ""
304msgstr ""
309
305
310−#: qml/Shell.qml:396
306+#: qml/Shell.qml:395
311msgid "Sorry, incorrect passcode"
307msgid "Sorry, incorrect passcode"
312msgstr ""
308msgstr ""
313
309
314−#: qml/Shell.qml:399
310+#: qml/Shell.qml:398
315#, qt-format
311#, qt-format
316msgid "Enter %1"
312msgid "Enter %1"
317msgstr ""
313msgstr ""
318
314
319−#: qml/Shell.qml:400
315+#: qml/Shell.qml:399
320#, qt-format
316#, qt-format
321msgid "Sorry, incorrect %1"
317msgid "Sorry, incorrect %1"
322msgstr ""
318msgstr ""
323
319
324−#: qml/Shell.qml:441
320+#: qml/Shell.qml:440
325msgid "Sorry, incorrect passphrase."
321msgid "Sorry, incorrect passphrase."
326msgstr "מילת הצופן שגויה, עמך הסליחה."
322msgstr "מילת הצופן שגויה, עמך הסליחה."
327
323
328−#: qml/Shell.qml:442
324+#: qml/Shell.qml:441
329msgid "Sorry, incorrect passcode."
325msgid "Sorry, incorrect passcode."
330msgstr "הצופן שגוי, עם הסליחה."
326msgstr "הצופן שגוי, עם הסליחה."
331
327
332−#: qml/Shell.qml:443
328+#: qml/Shell.qml:442
333msgid "This will be your last attempt."
329msgid "This will be your last attempt."
334msgstr "זה יהיה הניסיון האחרון שלך."
330msgstr "זה יהיה הניסיון האחרון שלך."
335
331
336−#: qml/Shell.qml:445
332+#: qml/Shell.qml:444
337msgid ""
333msgid ""
338"If passphrase is entered incorrectly, your phone will conduct a factory "
334"If passphrase is entered incorrectly, your phone will conduct a factory "
339"reset and all personal data will be deleted."
335"reset and all personal data will be deleted."
340msgstr ""
336msgstr ""
341
337
342−#: qml/Shell.qml:446
338+#: qml/Shell.qml:445
343msgid ""
339msgid ""
344"If passcode is entered incorrectly, your phone will conduct a factory reset "
340"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"and all personal data will be deleted."
341"and all personal data will be deleted."
@@ -359,3 +355,12 @@ msgstr ""
359
355
360#~ msgid "Speaking..."
356#~ msgid "Speaking..."
361#~ msgstr "הדיבור מושמע…"
357#~ msgstr "הדיבור מושמע…"
358+
359+#~ msgid "Done"
360+#~ msgstr "סיימתי"
361+
362+#~ msgid "All"
363+#~ msgstr "הכול"
364+
365+#~ msgid "Favorites"
366+#~ msgstr "מועדפים"
po/hi.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-01-15 01:49+0000\n"
11"PO-Revision-Date: 2014-01-15 01:49+0000\n"
12"Last-Translator: Siddhanathan S. <Unknown>\n"
12"Last-Translator: Siddhanathan S. <Unknown>\n"
13"Language-Team: Hindi <hi@li.org>\n"
13"Language-Team: Hindi <hi@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "खोजें"
178msgstr "खोजें"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/hr.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-06-27 04:14+0000\n"
11"PO-Revision-Date: 2013-06-27 04:14+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Croatian <hr@li.org>\n"
13"Language-Team: Croatian <hr@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -173,20 +173,24 @@ msgstr ""
173msgid "See all"
173msgid "See all"
174msgstr ""
174msgstr ""
175
175
176−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
176+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
177#: qml/Panel/SearchIndicator.qml:27
177#: qml/Panel/SearchIndicator.qml:27
178msgid "Search"
178msgid "Search"
179msgstr "Pretraživanje"
179msgstr "Pretraživanje"
180
180
181−#: qml/Dash/PageHeader.qml:268
181+#: qml/Dash/PageHeader.qml:260
182+msgid "Store"
183+msgstr ""
184+
185+#: qml/Dash/PageHeader.qml:277
182msgid "Settings"
186msgid "Settings"
183msgstr ""
187msgstr ""
184
188
185−#: qml/Dash/PageHeader.qml:275
189+#: qml/Dash/PageHeader.qml:284
186msgid "Remove from Favorites"
190msgid "Remove from Favorites"
187msgstr ""
191msgstr ""
188
192
189−#: qml/Dash/PageHeader.qml:275
193+#: qml/Dash/PageHeader.qml:284
190msgid "Add to Favorites"
194msgid "Add to Favorites"
191msgstr ""
195msgstr ""
192
196
@@ -218,31 +222,23 @@ msgstr ""
218msgid "Release to refresh…"
222msgid "Release to refresh…"
219msgstr ""
223msgstr ""
220
224
221−#: qml/Dash/ScopesOverview.qml:215
225+#: qml/Dash/ScopesList.qml:63
222−msgid "Manage Scopes"
226+msgid "Manage"
223msgstr ""
227msgstr ""
224
228
225−#: qml/Dash/ScopesOverview.qml:437
229+#: qml/Dash/ScopesList.qml:105
226−msgid "Done"
227−msgstr ""
228−
229−#: qml/Dash/ScopesOverview.qml:463
230−msgid "Store"
230+msgid "Home"
231msgstr ""
231msgstr ""
232
232
233−#: qml/Dash/ScopesOverviewTab.qml:36
233+#: qml/Dash/ScopesList.qml:106
234−msgid "Favorites"
234+msgid "Also installed"
235−msgstr ""
236−
237−#: qml/Dash/ScopesOverviewTab.qml:54
238−msgid "All"
239msgstr ""
235msgstr ""
240
236
241#: qml/Greeter/Greeter.qml:174
237#: qml/Greeter/Greeter.qml:174
242msgid "Unlock"
238msgid "Unlock"
243msgstr ""
239msgstr ""
244
240
245−#: qml/Notifications/NotificationMenuItemFactory.qml:116
241+#: qml/Notifications/NotificationMenuItemFactory.qml:128
246msgid "Show password"
242msgid "Show password"
247msgstr ""
243msgstr ""
248
244
@@ -290,55 +286,55 @@ msgstr ""
290msgid "Roaming"
286msgid "Roaming"
291msgstr ""
287msgstr ""
292
288
293−#: qml/Shell.qml:391
289+#: qml/Shell.qml:390
294msgid "Enter passphrase"
290msgid "Enter passphrase"
295msgstr ""
291msgstr ""
296
292
297−#: qml/Shell.qml:392
293+#: qml/Shell.qml:391
298msgid "Sorry, incorrect passphrase"
294msgid "Sorry, incorrect passphrase"
299msgstr ""
295msgstr ""
300
296
301−#: qml/Shell.qml:393
297+#: qml/Shell.qml:392
302msgid "Please re-enter"
298msgid "Please re-enter"
303msgstr ""
299msgstr ""
304
300
305−#: qml/Shell.qml:395
301+#: qml/Shell.qml:394
306msgid "Enter passcode"
302msgid "Enter passcode"
307msgstr ""
303msgstr ""
308
304
309−#: qml/Shell.qml:396
305+#: qml/Shell.qml:395
310msgid "Sorry, incorrect passcode"
306msgid "Sorry, incorrect passcode"
311msgstr ""
307msgstr ""
312
308
313−#: qml/Shell.qml:399
309+#: qml/Shell.qml:398
314#, qt-format
310#, qt-format
315msgid "Enter %1"
311msgid "Enter %1"
316msgstr ""
312msgstr ""
317
313
318−#: qml/Shell.qml:400
314+#: qml/Shell.qml:399
319#, qt-format
315#, qt-format
320msgid "Sorry, incorrect %1"
316msgid "Sorry, incorrect %1"
321msgstr ""
317msgstr ""
322
318
323−#: qml/Shell.qml:441
319+#: qml/Shell.qml:440
324msgid "Sorry, incorrect passphrase."
320msgid "Sorry, incorrect passphrase."
325msgstr ""
321msgstr ""
326
322
327−#: qml/Shell.qml:442
323+#: qml/Shell.qml:441
328msgid "Sorry, incorrect passcode."
324msgid "Sorry, incorrect passcode."
329msgstr ""
325msgstr ""
330
326
331−#: qml/Shell.qml:443
327+#: qml/Shell.qml:442
332msgid "This will be your last attempt."
328msgid "This will be your last attempt."
333msgstr ""
329msgstr ""
334
330
335−#: qml/Shell.qml:445
331+#: qml/Shell.qml:444
336msgid ""
332msgid ""
337"If passphrase is entered incorrectly, your phone will conduct a factory "
333"If passphrase is entered incorrectly, your phone will conduct a factory "
338"reset and all personal data will be deleted."
334"reset and all personal data will be deleted."
339msgstr ""
335msgstr ""
340
336
341−#: qml/Shell.qml:446
337+#: qml/Shell.qml:445
342msgid ""
338msgid ""
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
339"If passcode is entered incorrectly, your phone will conduct a factory reset "
344"and all personal data will be deleted."
340"and all personal data will be deleted."
po/hu.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-05 15:45+0000\n"
11"PO-Revision-Date: 2014-11-05 15:45+0000\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -178,20 +178,24 @@ msgstr "Kevesebb"
178msgid "See all"
178msgid "See all"
179msgstr "Összes megtekintése"
179msgstr "Összes megtekintése"
180
180
181−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
181+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
182#: qml/Panel/SearchIndicator.qml:27
182#: qml/Panel/SearchIndicator.qml:27
183msgid "Search"
183msgid "Search"
184msgstr "Keresés"
184msgstr "Keresés"
185
185
186−#: qml/Dash/PageHeader.qml:268
186+#: qml/Dash/PageHeader.qml:260
187+msgid "Store"
188+msgstr "Áruház"
189+
190+#: qml/Dash/PageHeader.qml:277
187msgid "Settings"
191msgid "Settings"
188msgstr "Beállítások"
192msgstr "Beállítások"
189
193
190−#: qml/Dash/PageHeader.qml:275
194+#: qml/Dash/PageHeader.qml:284
191msgid "Remove from Favorites"
195msgid "Remove from Favorites"
192msgstr "Eltávolítás a kedvencek közül"
196msgstr "Eltávolítás a kedvencek közül"
193
197
194−#: qml/Dash/PageHeader.qml:275
198+#: qml/Dash/PageHeader.qml:284
195msgid "Add to Favorites"
199msgid "Add to Favorites"
196msgstr "Hozzáadás a kedvencekhez"
200msgstr "Hozzáadás a kedvencekhez"
197
201
@@ -223,31 +227,23 @@ msgstr "Húzza a frissítéshez…"
223msgid "Release to refresh…"
227msgid "Release to refresh…"
224msgstr "Engedje el a frissítéshez…"
228msgstr "Engedje el a frissítéshez…"
225
229
226−#: qml/Dash/ScopesOverview.qml:215
230+#: qml/Dash/ScopesList.qml:63
227−msgid "Manage Scopes"
231+msgid "Manage"
228−msgstr "Lencsék kezelése"
232+msgstr ""
229−
230−#: qml/Dash/ScopesOverview.qml:437
231−msgid "Done"
232−msgstr "Kész"
233−
234−#: qml/Dash/ScopesOverview.qml:463
235−msgid "Store"
236−msgstr "Áruház"
237
233
238−#: qml/Dash/ScopesOverviewTab.qml:36
234+#: qml/Dash/ScopesList.qml:105
239−msgid "Favorites"
235+msgid "Home"
240−msgstr "Kedvencek"
236+msgstr ""
241
237
242−#: qml/Dash/ScopesOverviewTab.qml:54
238+#: qml/Dash/ScopesList.qml:106
243−msgid "All"
239+msgid "Also installed"
244−msgstr "Összes"
240+msgstr ""
245
241
246#: qml/Greeter/Greeter.qml:174
242#: qml/Greeter/Greeter.qml:174
247msgid "Unlock"
243msgid "Unlock"
248msgstr "Feloldás"
244msgstr "Feloldás"
249
245
250−#: qml/Notifications/NotificationMenuItemFactory.qml:116
246+#: qml/Notifications/NotificationMenuItemFactory.qml:128
251msgid "Show password"
247msgid "Show password"
252msgstr "Jelszó megjelenítése"
248msgstr "Jelszó megjelenítése"
253
249
@@ -295,49 +291,49 @@ msgstr "SIM feloldása"
295msgid "Roaming"
291msgid "Roaming"
296msgstr "Barangolás"
292msgstr "Barangolás"
297
293
298−#: qml/Shell.qml:391
294+#: qml/Shell.qml:390
299msgid "Enter passphrase"
295msgid "Enter passphrase"
300msgstr "Jelmondat megadása"
296msgstr "Jelmondat megadása"
301
297
302−#: qml/Shell.qml:392
298+#: qml/Shell.qml:391
303msgid "Sorry, incorrect passphrase"
299msgid "Sorry, incorrect passphrase"
304msgstr "Sajnáljuk, helytelen jelmondat"
300msgstr "Sajnáljuk, helytelen jelmondat"
305
301
306−#: qml/Shell.qml:393
302+#: qml/Shell.qml:392
307msgid "Please re-enter"
303msgid "Please re-enter"
308msgstr "Kérjük próbálja újra"
304msgstr "Kérjük próbálja újra"
309
305
310−#: qml/Shell.qml:395
306+#: qml/Shell.qml:394
311msgid "Enter passcode"
307msgid "Enter passcode"
312msgstr "Jelkód megadása"
308msgstr "Jelkód megadása"
313
309
314−#: qml/Shell.qml:396
310+#: qml/Shell.qml:395
315msgid "Sorry, incorrect passcode"
311msgid "Sorry, incorrect passcode"
316msgstr "Sajnáljuk, helytelen jelkód"
312msgstr "Sajnáljuk, helytelen jelkód"
317
313
318−#: qml/Shell.qml:399
314+#: qml/Shell.qml:398
319#, qt-format
315#, qt-format
320msgid "Enter %1"
316msgid "Enter %1"
321msgstr "Adja meg: %1"
317msgstr "Adja meg: %1"
322
318
323−#: qml/Shell.qml:400
319+#: qml/Shell.qml:399
324#, qt-format
320#, qt-format
325msgid "Sorry, incorrect %1"
321msgid "Sorry, incorrect %1"
326msgstr "Sajnáljuk, helytelen %1"
322msgstr "Sajnáljuk, helytelen %1"
327
323
328−#: qml/Shell.qml:441
324+#: qml/Shell.qml:440
329msgid "Sorry, incorrect passphrase."
325msgid "Sorry, incorrect passphrase."
330msgstr "Sajnáljuk, helytelen jelmondat."
326msgstr "Sajnáljuk, helytelen jelmondat."
331
327
332−#: qml/Shell.qml:442
328+#: qml/Shell.qml:441
333msgid "Sorry, incorrect passcode."
329msgid "Sorry, incorrect passcode."
334msgstr "Sajnáljuk, helytelen jelkód."
330msgstr "Sajnáljuk, helytelen jelkód."
335
331
336−#: qml/Shell.qml:443
332+#: qml/Shell.qml:442
337msgid "This will be your last attempt."
333msgid "This will be your last attempt."
338msgstr "Ez az utolsó próbálkozási lehetősége."
334msgstr "Ez az utolsó próbálkozási lehetősége."
339
335
340−#: qml/Shell.qml:445
336+#: qml/Shell.qml:444
341msgid ""
337msgid ""
342"If passphrase is entered incorrectly, your phone will conduct a factory "
338"If passphrase is entered incorrectly, your phone will conduct a factory "
343"reset and all personal data will be deleted."
339"reset and all personal data will be deleted."
@@ -345,7 +341,7 @@ msgstr ""
345"Ha helytelen jelmondatot ad meg, a telefonja visszaállítja a gyári "
341"Ha helytelen jelmondatot ad meg, a telefonja visszaállítja a gyári "
346"beállításokat és törli minden személyes adatát."
342"beállításokat és törli minden személyes adatát."
347
343
348−#: qml/Shell.qml:446
344+#: qml/Shell.qml:445
349msgid ""
345msgid ""
350"If passcode is entered incorrectly, your phone will conduct a factory reset "
346"If passcode is entered incorrectly, your phone will conduct a factory reset "
351"and all personal data will be deleted."
347"and all personal data will be deleted."
@@ -367,3 +363,15 @@ msgstr ""
367
363
368#~ msgid "Speak Now..."
364#~ msgid "Speak Now..."
369#~ msgstr "Most beszéljen…"
365#~ msgstr "Most beszéljen…"
366+
367+#~ msgid "All"
368+#~ msgstr "Összes"
369+
370+#~ msgid "Favorites"
371+#~ msgstr "Kedvencek"
372+
373+#~ msgid "Done"
374+#~ msgstr "Kész"
375+
376+#~ msgid "Manage Scopes"
377+#~ msgstr "Lencsék kezelése"
po/hy.po+41−36
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-10-28 06:34+0000\n"
11"PO-Revision-Date: 2014-10-28 06:34+0000\n"
12"Last-Translator: Vahan Harutyunyan <Unknown>\n"
12"Last-Translator: Vahan Harutyunyan <Unknown>\n"
13"Language-Team: Armenian <hy@li.org>\n"
13"Language-Team: Armenian <hy@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -176,20 +176,24 @@ msgstr ""
176msgid "See all"
176msgid "See all"
177msgstr "Տեսնել բոլորը"
177msgstr "Տեսնել բոլորը"
178
178
179−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
179+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
180#: qml/Panel/SearchIndicator.qml:27
180#: qml/Panel/SearchIndicator.qml:27
181msgid "Search"
181msgid "Search"
182msgstr "Որոնում"
182msgstr "Որոնում"
183
183
184−#: qml/Dash/PageHeader.qml:268
184+#: qml/Dash/PageHeader.qml:260
185+msgid "Store"
186+msgstr "Խանութ"
187+
188+#: qml/Dash/PageHeader.qml:277
185msgid "Settings"
189msgid "Settings"
186msgstr "Կարգավորումներ"
190msgstr "Կարգավորումներ"
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Remove from Favorites"
193msgid "Remove from Favorites"
190msgstr "Հեռացնել ընտրյալների ցուցակից"
194msgstr "Հեռացնել ընտրյալների ցուցակից"
191
195
192−#: qml/Dash/PageHeader.qml:275
196+#: qml/Dash/PageHeader.qml:284
193msgid "Add to Favorites"
197msgid "Add to Favorites"
194msgstr "Ավելացնել ընտրյալների ցուցակում"
198msgstr "Ավելացնել ընտրյալների ցուցակում"
195
199
@@ -221,31 +225,23 @@ msgstr ""
221msgid "Release to refresh…"
225msgid "Release to refresh…"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:215
228+#: qml/Dash/ScopesList.qml:63
225−msgid "Manage Scopes"
229+msgid "Manage"
226msgstr ""
230msgstr ""
227
231
228−#: qml/Dash/ScopesOverview.qml:437
232+#: qml/Dash/ScopesList.qml:105
229−msgid "Done"
230−msgstr "Կատարված է"
231−
232−#: qml/Dash/ScopesOverview.qml:463
233−msgid "Store"
234−msgstr "Խանութ"
235−
236−#: qml/Dash/ScopesOverviewTab.qml:36
237−msgid "Favorites"
233+msgid "Home"
238−msgstr "Նախընտրելի"
234+msgstr ""
239
235
240−#: qml/Dash/ScopesOverviewTab.qml:54
236+#: qml/Dash/ScopesList.qml:106
241−msgid "All"
237+msgid "Also installed"
242−msgstr "Բոլորը"
238+msgstr ""
243
239
244#: qml/Greeter/Greeter.qml:174
240#: qml/Greeter/Greeter.qml:174
245msgid "Unlock"
241msgid "Unlock"
246msgstr "Ապաբլոկավորել"
242msgstr "Ապաբլոկավորել"
247
243
248−#: qml/Notifications/NotificationMenuItemFactory.qml:116
244+#: qml/Notifications/NotificationMenuItemFactory.qml:128
249msgid "Show password"
245msgid "Show password"
250msgstr "Ցույց տալ գաղտնաբառը"
246msgstr "Ցույց տալ գաղտնաբառը"
251
247
@@ -293,55 +289,55 @@ msgstr "Ապաբլոկավորել SIM-ը"
293msgid "Roaming"
289msgid "Roaming"
294msgstr "Ռոումինգ"
290msgstr "Ռոումինգ"
295
291
296−#: qml/Shell.qml:391
292+#: qml/Shell.qml:390
297msgid "Enter passphrase"
293msgid "Enter passphrase"
298msgstr "Մուտքագրե՛ք անցաբառը"
294msgstr "Մուտքագրե՛ք անցաբառը"
299
295
300−#: qml/Shell.qml:392
296+#: qml/Shell.qml:391
301msgid "Sorry, incorrect passphrase"
297msgid "Sorry, incorrect passphrase"
302msgstr "Ներեցեք, սխալ անցաբառ է"
298msgstr "Ներեցեք, սխալ անցաբառ է"
303
299
304−#: qml/Shell.qml:393
300+#: qml/Shell.qml:392
305msgid "Please re-enter"
301msgid "Please re-enter"
306msgstr "Խնդրում ենք նորից մուտքագրել"
302msgstr "Խնդրում ենք նորից մուտքագրել"
307
303
308−#: qml/Shell.qml:395
304+#: qml/Shell.qml:394
309msgid "Enter passcode"
305msgid "Enter passcode"
310msgstr "Մոտքագրեք ծածկագիրը"
306msgstr "Մոտքագրեք ծածկագիրը"
311
307
312−#: qml/Shell.qml:396
308+#: qml/Shell.qml:395
313msgid "Sorry, incorrect passcode"
309msgid "Sorry, incorrect passcode"
314msgstr "Ներեցեք, սխալ ծածկագիր է"
310msgstr "Ներեցեք, սխալ ծածկագիր է"
315
311
316−#: qml/Shell.qml:399
312+#: qml/Shell.qml:398
317#, qt-format
313#, qt-format
318msgid "Enter %1"
314msgid "Enter %1"
319msgstr "Մուտքագրեք %1"
315msgstr "Մուտքագրեք %1"
320
316
321−#: qml/Shell.qml:400
317+#: qml/Shell.qml:399
322#, qt-format
318#, qt-format
323msgid "Sorry, incorrect %1"
319msgid "Sorry, incorrect %1"
324msgstr "Ներեցեք, սխալ %1"
320msgstr "Ներեցեք, սխալ %1"
325
321
326−#: qml/Shell.qml:441
322+#: qml/Shell.qml:440
327msgid "Sorry, incorrect passphrase."
323msgid "Sorry, incorrect passphrase."
328msgstr "Ներեցեք, սխալ անցաբառ է"
324msgstr "Ներեցեք, սխալ անցաբառ է"
329
325
330−#: qml/Shell.qml:442
326+#: qml/Shell.qml:441
331msgid "Sorry, incorrect passcode."
327msgid "Sorry, incorrect passcode."
332msgstr "Ներեցեք, սխալ ծածկագիր է:"
328msgstr "Ներեցեք, սխալ ծածկագիր է:"
333
329
334−#: qml/Shell.qml:443
330+#: qml/Shell.qml:442
335msgid "This will be your last attempt."
331msgid "This will be your last attempt."
336msgstr "Սա կլինի ձեր վերջին փորձը"
332msgstr "Սա կլինի ձեր վերջին փորձը"
337
333
338−#: qml/Shell.qml:445
334+#: qml/Shell.qml:444
339msgid ""
335msgid ""
340"If passphrase is entered incorrectly, your phone will conduct a factory "
336"If passphrase is entered incorrectly, your phone will conduct a factory "
341"reset and all personal data will be deleted."
337"reset and all personal data will be deleted."
342msgstr ""
338msgstr ""
343
339
344−#: qml/Shell.qml:446
340+#: qml/Shell.qml:445
345msgid ""
341msgid ""
346"If passcode is entered incorrectly, your phone will conduct a factory reset "
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
347"and all personal data will be deleted."
343"and all personal data will be deleted."
@@ -356,8 +352,17 @@ msgstr ""
356#~ msgid "Speaking..."
352#~ msgid "Speaking..."
357#~ msgstr "Խոսում եմ..."
353#~ msgstr "Խոսում եմ..."
358
354
355+#~ msgid "Favorites"
356+#~ msgstr "Նախընտրելի"
357+
358+#~ msgid "Done"
359+#~ msgstr "Կատարված է"
360+
359#~ msgid "Loading. Please Wait..."
361#~ msgid "Loading. Please Wait..."
360#~ msgstr "Բեռնվում է: Խնդրում ենք սպասել..."
362#~ msgstr "Բեռնվում է: Խնդրում ենք սպասել..."
361
363
362#~ msgid "Speak Now..."
364#~ msgid "Speak Now..."
363#~ msgstr "Հիմա խոսեք..."
365#~ msgstr "Հիմա խոսեք..."
366+
367+#~ msgid "All"
368+#~ msgstr "Բոլորը"
po/id.po+133−101
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Indonesian <id@li.org>\n"
13"Language-Team: Indonesian <id@li.org>\n"
@@ -15,330 +15,362 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
23−msgstr ""
23+msgstr "Sandi: "
24
24
25#: plugins/Unity/Launcher/launcheritem.cpp:45
25#: plugins/Unity/Launcher/launcheritem.cpp:45
26#: plugins/Unity/Launcher/launcheritem.cpp:91
26#: plugins/Unity/Launcher/launcheritem.cpp:91
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28−msgstr ""
28+msgstr "Paku pintasan"
29
29
30#: plugins/Unity/Launcher/launcheritem.cpp:91
30#: plugins/Unity/Launcher/launcheritem.cpp:91
31msgid "Unpin shortcut"
31msgid "Unpin shortcut"
32−msgstr ""
32+msgstr "Lepas pintasan"
33
33
34#: qml/Components/DelayedLockscreen.qml:47
34#: qml/Components/DelayedLockscreen.qml:47
35msgid "Device Locked"
35msgid "Device Locked"
36−msgstr ""
36+msgstr "Perangkat Terkunci"
37
37
38#: qml/Components/DelayedLockscreen.qml:62
38#: qml/Components/DelayedLockscreen.qml:62
39msgid "You have been locked out due to too many failed passphrase attempts."
39msgid "You have been locked out due to too many failed passphrase attempts."
40msgstr ""
40msgstr ""
41+"Anda telah terkunci karena terlalu banyak percobaan frasa sandi yang gagal."
41
42
42#: qml/Components/DelayedLockscreen.qml:63
43#: qml/Components/DelayedLockscreen.qml:63
43msgid "You have been locked out due to too many failed passcode attempts."
44msgid "You have been locked out due to too many failed passcode attempts."
44msgstr ""
45msgstr ""
46+"Anda telah terkunci karena terlalu banyak percobaan kode sandi yang gagal."
45
47
46#: qml/Components/DelayedLockscreen.qml:72
48#: qml/Components/DelayedLockscreen.qml:72
47#, qt-format
49#, qt-format
48msgid "Please wait %1 minute and then try again…"
50msgid "Please wait %1 minute and then try again…"
49msgid_plural "Please wait %1 minutes and then try again…"
51msgid_plural "Please wait %1 minutes and then try again…"
50−msgstr[0] ""
52+msgstr[0] "Harap tunggu %1 menit lalu coba lagi..."
51−msgstr[1] ""
52
53
53#: qml/Components/Dialogs.qml:74
54#: qml/Components/Dialogs.qml:74
54msgid "Log out"
55msgid "Log out"
55−msgstr ""
56+msgstr "Log keluar"
56
57
57#: qml/Components/Dialogs.qml:75
58#: qml/Components/Dialogs.qml:75
58msgid "Are you sure you want to log out?"
59msgid "Are you sure you want to log out?"
59−msgstr ""
60+msgstr "Anda yakin ingin log keluar?"
60
61
61#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
62#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
62#: qml/Components/Dialogs.qml:126
63#: qml/Components/Dialogs.qml:126
63msgid "No"
64msgid "No"
64−msgstr ""
65+msgstr "Tidak"
65
66
66#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
67#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
67#: qml/Components/Dialogs.qml:133
68#: qml/Components/Dialogs.qml:133
68msgid "Yes"
69msgid "Yes"
69−msgstr ""
70+msgstr "Ya"
70
71
71#: qml/Components/Dialogs.qml:98
72#: qml/Components/Dialogs.qml:98
72msgid "Shut down"
73msgid "Shut down"
73−msgstr ""
74+msgstr "Matikan"
74
75
75#: qml/Components/Dialogs.qml:99
76#: qml/Components/Dialogs.qml:99
76msgid "Are you sure you want to shut down?"
77msgid "Are you sure you want to shut down?"
77−msgstr ""
78+msgstr "Anda yakin ingin mematikan?"
78
79
79#: qml/Components/Dialogs.qml:123
80#: qml/Components/Dialogs.qml:123
80msgid "Reboot"
81msgid "Reboot"
81−msgstr ""
82+msgstr "Boot ulang"
82
83
83#: qml/Components/Dialogs.qml:124
84#: qml/Components/Dialogs.qml:124
84msgid "Are you sure you want to reboot?"
85msgid "Are you sure you want to reboot?"
85−msgstr ""
86+msgstr "Anda yakin ingin boot ulang?"
86
87
87#: qml/Components/Dialogs.qml:148
88#: qml/Components/Dialogs.qml:148
88msgid "Power"
89msgid "Power"
89−msgstr ""
90+msgstr "Daya"
90
91
91#: qml/Components/Dialogs.qml:149
92#: qml/Components/Dialogs.qml:149
92msgid ""
93msgid ""
93"Are you sure you would like\n"
94"Are you sure you would like\n"
94"to power off?"
95"to power off?"
95msgstr ""
96msgstr ""
97+"Anda yakin ingin\n"
98+"mematikan daya?"
96
99
97#: qml/Components/Dialogs.qml:151
100#: qml/Components/Dialogs.qml:151
98msgid "Power off"
101msgid "Power off"
99−msgstr ""
102+msgstr "Matikan"
100
103
101#: qml/Components/Dialogs.qml:161
104#: qml/Components/Dialogs.qml:161
102msgid "Restart"
105msgid "Restart"
103−msgstr ""
106+msgstr "Nyalakan ulang"
104
107
105#: qml/Components/Dialogs.qml:171
108#: qml/Components/Dialogs.qml:171
106msgid "Cancel"
109msgid "Cancel"
107−msgstr ""
110+msgstr "Batal"
108
111
109#: qml/Components/EdgeDemoOverlay.qml:151
112#: qml/Components/EdgeDemoOverlay.qml:151
110msgid "Skip intro"
113msgid "Skip intro"
111−msgstr ""
114+msgstr "Lewati pengenalan"
112
115
113#: qml/Components/EdgeDemo.qml:112
116#: qml/Components/EdgeDemo.qml:112
114msgid "Right edge"
117msgid "Right edge"
115−msgstr ""
118+msgstr "Tepi kanan"
116
119
117#: qml/Components/EdgeDemo.qml:113
120#: qml/Components/EdgeDemo.qml:113
118msgid "Try swiping from the right edge to unlock the phone"
121msgid "Try swiping from the right edge to unlock the phone"
119−msgstr ""
122+msgstr "Coba usap dari tepi kanan untuk membuka kunci telepon"
120
123
121#: qml/Components/EdgeDemo.qml:144
124#: qml/Components/EdgeDemo.qml:144
122msgid "Top edge"
125msgid "Top edge"
123−msgstr ""
126+msgstr "Tepi atas"
124
127
125#: qml/Components/EdgeDemo.qml:145
128#: qml/Components/EdgeDemo.qml:145
126msgid "Try swiping from the top edge to access the indicators"
129msgid "Try swiping from the top edge to access the indicators"
127−msgstr ""
130+msgstr "Coba usap dari tepi atas untuk mengakses indikator"
128
131
129#: qml/Components/EdgeDemo.qml:170
132#: qml/Components/EdgeDemo.qml:170
130msgid "Close"
133msgid "Close"
131−msgstr ""
134+msgstr "Tutup"
132
135
133#: qml/Components/EdgeDemo.qml:171
136#: qml/Components/EdgeDemo.qml:171
134msgid "Swipe up again to close the settings screen"
137msgid "Swipe up again to close the settings screen"
135−msgstr ""
138+msgstr "Usap ke atas lagi untuk menutup layar pengaturan"
136
139
137#: qml/Components/EdgeDemo.qml:201
140#: qml/Components/EdgeDemo.qml:201
138msgid "Left edge"
141msgid "Left edge"
139−msgstr ""
142+msgstr "Tepi kiri"
140
143
141#: qml/Components/EdgeDemo.qml:202
144#: qml/Components/EdgeDemo.qml:202
142msgid "Swipe from the left to reveal the launcher for quick access to apps"
145msgid "Swipe from the left to reveal the launcher for quick access to apps"
143−msgstr ""
146+msgstr "Usap dari tepi kiri menampilkan peluncur untuk akses cepat aplikasi"
144
147
145#: qml/Components/EdgeDemo.qml:229
148#: qml/Components/EdgeDemo.qml:229
146msgid "Well done"
149msgid "Well done"
147−msgstr ""
150+msgstr "Bagus sekali"
148
151
149#: qml/Components/EdgeDemo.qml:230
152#: qml/Components/EdgeDemo.qml:230
150msgid ""
153msgid ""
151"You have now mastered the edge gestures and can start using the "
154"You have now mastered the edge gestures and can start using the "
152"phone<br><br>Tap on the screen to start"
155"phone<br><br>Tap on the screen to start"
153msgstr ""
156msgstr ""
157+"Anda kini telah menguasai gestur tepi dan dapat mulai memakai "
158+"telepon<br><br>Ketuk pada layar untuk mulai"
154
159
155#: qml/Components/Lockscreen.qml:223
160#: qml/Components/Lockscreen.qml:223
156msgid "Return to Call"
161msgid "Return to Call"
157−msgstr ""
162+msgstr "Kembali ke Panggilan"
158
163
159#: qml/Components/Lockscreen.qml:223
164#: qml/Components/Lockscreen.qml:223
160msgid "Emergency Call"
165msgid "Emergency Call"
161−msgstr ""
166+msgstr "Panggilan Darurat"
162
167
163#: qml/Components/Lockscreen.qml:255
168#: qml/Components/Lockscreen.qml:255
164msgid "OK"
169msgid "OK"
165−msgstr ""
170+msgstr "OK"
166
171
167#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
172#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
168msgid "See less"
173msgid "See less"
169−msgstr ""
174+msgstr "Lihat lebih sedikit"
170
175
171#: qml/Dash/GenericScopeView.qml:434
176#: qml/Dash/GenericScopeView.qml:434
172msgid "See all"
177msgid "See all"
173−msgstr ""
178+msgstr "Lihat semua"
174
179
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
180+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
181#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
182msgid "Search"
178−msgstr ""
183+msgstr "Cari"
184+
185+#: qml/Dash/PageHeader.qml:260
186+msgid "Store"
187+msgstr "Simpan"
179
188
180−#: qml/Dash/PageHeader.qml:268
189+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
190msgid "Settings"
182−msgstr ""
191+msgstr "Pengaturan"
183
192
184−#: qml/Dash/PageHeader.qml:275
193+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
194msgid "Remove from Favorites"
186−msgstr ""
195+msgstr "Hapus dari Favorit"
187
196
188−#: qml/Dash/PageHeader.qml:275
197+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
198msgid "Add to Favorites"
190−msgstr ""
199+msgstr "Tambah ke Favorit"
191
200
192#: qml/Dash/Previews/PreviewActionCombo.qml:35
201#: qml/Dash/Previews/PreviewActionCombo.qml:35
193msgid "More..."
202msgid "More..."
194−msgstr ""
203+msgstr "Lebih..."
195
204
196#: qml/Dash/Previews/PreviewActionCombo.qml:35
205#: qml/Dash/Previews/PreviewActionCombo.qml:35
197msgid "Less..."
206msgid "Less..."
198−msgstr ""
207+msgstr "Kurang..."
199
208
200#: qml/Dash/Previews/PreviewRatingInput.qml:81
209#: qml/Dash/Previews/PreviewRatingInput.qml:81
201msgid "Rate this"
210msgid "Rate this"
202−msgstr ""
211+msgstr "Beri peringkat"
203
212
204#: qml/Dash/Previews/PreviewRatingInput.qml:126
213#: qml/Dash/Previews/PreviewRatingInput.qml:126
205msgid "Add a review"
214msgid "Add a review"
206−msgstr ""
215+msgstr "Berikan ulasan"
207
216
208#: qml/Dash/Previews/PreviewRatingInput.qml:166
217#: qml/Dash/Previews/PreviewRatingInput.qml:166
209msgid "Send"
218msgid "Send"
210−msgstr ""
219+msgstr "Kirim"
211
220
212#: qml/Dash/PullToRefreshScopeStyle.qml:55
221#: qml/Dash/PullToRefreshScopeStyle.qml:55
213msgid "Pull to refresh…"
222msgid "Pull to refresh…"
214−msgstr ""
223+msgstr "Tarik untuk menyegarkan..."
215
224
216#: qml/Dash/PullToRefreshScopeStyle.qml:60
225#: qml/Dash/PullToRefreshScopeStyle.qml:60
217msgid "Release to refresh…"
226msgid "Release to refresh…"
218−msgstr ""
227+msgstr "Lepas untuk menyegarkan..."
219−
220−#: qml/Dash/ScopesOverview.qml:215
221−msgid "Manage Scopes"
222−msgstr ""
223
228
224−#: qml/Dash/ScopesOverview.qml:437
229+#: qml/Dash/ScopesList.qml:63
225−msgid "Done"
230+msgid "Manage"
226msgstr ""
231msgstr ""
227
232
228−#: qml/Dash/ScopesOverview.qml:463
233+#: qml/Dash/ScopesList.qml:105
229−msgid "Store"
234+msgid "Home"
230msgstr ""
235msgstr ""
231
236
232−#: qml/Dash/ScopesOverviewTab.qml:36
237+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
238+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
239msgstr ""
239
240
240#: qml/Greeter/Greeter.qml:174
241#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
242msgid "Unlock"
242−msgstr ""
243+msgstr "Buka kunci"
243
244
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
245+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
246msgid "Show password"
246−msgstr ""
247+msgstr "Tampilkan sandi"
247
248
248#: qml/Panel/ActiveCallHint.qml:79
249#: qml/Panel/ActiveCallHint.qml:79
249msgid "Tap to return to call..."
250msgid "Tap to return to call..."
250−msgstr ""
251+msgstr "Ketuk untuk kembali ke panggilan..."
251
252
252#: qml/Panel/ActiveCallHint.qml:92
253#: qml/Panel/ActiveCallHint.qml:92
253msgid "Conference"
254msgid "Conference"
254−msgstr ""
255+msgstr "Konferensi"
255
256
256#: qml/Panel/Indicators/MenuItemFactory.qml:643
257#: qml/Panel/Indicators/MenuItemFactory.qml:643
257msgid "Nothing is playing"
258msgid "Nothing is playing"
258−msgstr ""
259+msgstr "Tak ada yang sedang diputar"
259
260
260#: qml/Panel/Indicators/MenuItemFactory.qml:791
261#: qml/Panel/Indicators/MenuItemFactory.qml:791
261msgid "In queue…"
262msgid "In queue…"
262−msgstr ""
263+msgstr "Dalam antrian..."
263
264
264#: qml/Panel/Indicators/MenuItemFactory.qml:795
265#: qml/Panel/Indicators/MenuItemFactory.qml:795
265msgid "Downloading"
266msgid "Downloading"
266−msgstr ""
267+msgstr "Sedang mengunduh"
267
268
268#: qml/Panel/Indicators/MenuItemFactory.qml:797
269#: qml/Panel/Indicators/MenuItemFactory.qml:797
269msgid "Paused, tap to resume"
270msgid "Paused, tap to resume"
270−msgstr ""
271+msgstr "Jeda, ketuk untuk melanjutkan"
271
272
272#: qml/Panel/Indicators/MenuItemFactory.qml:799
273#: qml/Panel/Indicators/MenuItemFactory.qml:799
273msgid "Canceled"
274msgid "Canceled"
274−msgstr ""
275+msgstr "Dibatalkan"
275
276
276#: qml/Panel/Indicators/MenuItemFactory.qml:801
277#: qml/Panel/Indicators/MenuItemFactory.qml:801
277msgid "Finished"
278msgid "Finished"
278−msgstr ""
279+msgstr "Selesai"
279
280
280#: qml/Panel/Indicators/MenuItemFactory.qml:803
281#: qml/Panel/Indicators/MenuItemFactory.qml:803
281msgid "Failed, tap to retry"
282msgid "Failed, tap to retry"
282−msgstr ""
283+msgstr "Gagal, ketuk untuk mencoba ulang"
283
284
284#: qml/Panel/Indicators/ModemInfoItem.qml:105
285#: qml/Panel/Indicators/ModemInfoItem.qml:105
285msgid "Unlock SIM"
286msgid "Unlock SIM"
286−msgstr ""
287+msgstr "Buka Kunci SIM"
287
288
288#: qml/Panel/Indicators/RoamingIndication.qml:27
289#: qml/Panel/Indicators/RoamingIndication.qml:27
289msgid "Roaming"
290msgid "Roaming"
290−msgstr ""
291+msgstr "Roaming"
291
292
292−#: qml/Shell.qml:391
293+#: qml/Shell.qml:390
293msgid "Enter passphrase"
294msgid "Enter passphrase"
294−msgstr ""
295+msgstr "Masukkan frasa sandi"
295
296
296−#: qml/Shell.qml:392
297+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
298msgid "Sorry, incorrect passphrase"
298−msgstr ""
299+msgstr "Maaf, frasa sandi salah"
299
300
300−#: qml/Shell.qml:393
301+#: qml/Shell.qml:392
301msgid "Please re-enter"
302msgid "Please re-enter"
302−msgstr ""
303+msgstr "Harap masukkan lagi"
303
304
304−#: qml/Shell.qml:395
305+#: qml/Shell.qml:394
305msgid "Enter passcode"
306msgid "Enter passcode"
306−msgstr ""
307+msgstr "Masukkan kode sandi"
307
308
308−#: qml/Shell.qml:396
309+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
310msgid "Sorry, incorrect passcode"
310−msgstr ""
311+msgstr "Maaf, kode sandi salah"
311
312
312−#: qml/Shell.qml:399
313+#: qml/Shell.qml:398
313#, qt-format
314#, qt-format
314msgid "Enter %1"
315msgid "Enter %1"
315−msgstr ""
316+msgstr "Masukkan %1"
316
317
317−#: qml/Shell.qml:400
318+#: qml/Shell.qml:399
318#, qt-format
319#, qt-format
319msgid "Sorry, incorrect %1"
320msgid "Sorry, incorrect %1"
320−msgstr ""
321+msgstr "Maaf, %1 salah"
321
322
322−#: qml/Shell.qml:441
323+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
324msgid "Sorry, incorrect passphrase."
324−msgstr ""
325+msgstr "Maaf, frasa sandi salah."
325
326
326−#: qml/Shell.qml:442
327+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
328msgid "Sorry, incorrect passcode."
328−msgstr ""
329+msgstr "Maaf, kode sandi salah."
329
330
330−#: qml/Shell.qml:443
331+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
332msgid "This will be your last attempt."
332−msgstr ""
333+msgstr "Ini akan menjadi upaya terakhir Anda."
333
334
334−#: qml/Shell.qml:445
335+#: qml/Shell.qml:444
335msgid ""
336msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
337"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
338"reset and all personal data will be deleted."
338msgstr ""
339msgstr ""
340+"Bila frasa sandi salah dimasukkan, telepon Anda akan melakukan reset pabrik "
341+"dan semua data pribadi akan dihapus."
339
342
340−#: qml/Shell.qml:446
343+#: qml/Shell.qml:445
341msgid ""
344msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
346"and all personal data will be deleted."
344msgstr ""
347msgstr ""
348+"Bila kode sandi salah dimasukkan, telepon Anda akan melakukan reset pabrik "
349+"dan semua data pribadi akan dihapus."
350+
351+#~ msgid "Loading. Please Wait..."
352+#~ msgstr "Memuat. Mohon Tunggu..."
353+
354+#~ msgid "Speaking..."
355+#~ msgstr "Berbicara..."
356+
357+#~ msgid "Confirm"
358+#~ msgstr "Konfirmasi"
359+
360+#~ msgid "Done"
361+#~ msgstr "Selesai"
362+
363+#~ msgid "Type or say a command"
364+#~ msgstr "Ketik atau ucapkan sebuah perintah"
365+
366+#~ msgid "Speak Now..."
367+#~ msgstr "Bicaralah Sekarang..."
368+
369+#~ msgid "All"
370+#~ msgstr "Semua"
371+
372+#~ msgid "Favorites"
373+#~ msgstr "Favorit"
374+
375+#~ msgid "Manage Scopes"
376+#~ msgstr "Kelola Skup"
po/is.po+52−44
@@ -9,7 +9,7 @@ msgid ""
9msgstr ""
9msgstr ""
10"Project-Id-Version: po_unity8-is\n"
10"Project-Id-Version: po_unity8-is\n"
11"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
12−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
12+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
13"PO-Revision-Date: 2014-11-13 09:32+0000\n"
13"PO-Revision-Date: 2014-11-13 09:32+0000\n"
14"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
14"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
15"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
15"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
@@ -17,8 +17,8 @@ msgstr ""
17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Type: text/plain; charset=UTF-8\n"
18"Content-Transfer-Encoding: 8bit\n"
18"Content-Transfer-Encoding: 8bit\n"
19"Plural-Forms: nplurals=2; plural=n != 1;\n"
19"Plural-Forms: nplurals=2; plural=n != 1;\n"
20−"X-Launchpad-Export-Date: 2014-11-14 06:34+0000\n"
20+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
21−"X-Generator: Launchpad (build 17241)\n"
21+"X-Generator: Launchpad (build 17283)\n"
22"Language: is\n"
22"Language: is\n"
23
23
24#: plugins/LightDM/Greeter.cpp:130
24#: plugins/LightDM/Greeter.cpp:130
@@ -184,20 +184,24 @@ msgstr "Sjá minna"
184msgid "See all"
184msgid "See all"
185msgstr "Sjá allt"
185msgstr "Sjá allt"
186
186
187−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
187+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
188#: qml/Panel/SearchIndicator.qml:27
188#: qml/Panel/SearchIndicator.qml:27
189msgid "Search"
189msgid "Search"
190msgstr "Leita"
190msgstr "Leita"
191
191
192−#: qml/Dash/PageHeader.qml:268
192+#: qml/Dash/PageHeader.qml:260
193+msgid "Store"
194+msgstr "Geyma"
195+
196+#: qml/Dash/PageHeader.qml:277
193msgid "Settings"
197msgid "Settings"
194msgstr "Stillingar"
198msgstr "Stillingar"
195
199
196−#: qml/Dash/PageHeader.qml:275
200+#: qml/Dash/PageHeader.qml:284
197msgid "Remove from Favorites"
201msgid "Remove from Favorites"
198msgstr "Fjarlægja úr Eftirlæti"
202msgstr "Fjarlægja úr Eftirlæti"
199
203
200−#: qml/Dash/PageHeader.qml:275
204+#: qml/Dash/PageHeader.qml:284
201msgid "Add to Favorites"
205msgid "Add to Favorites"
202msgstr "Bæta við Eftirlæti"
206msgstr "Bæta við Eftirlæti"
203
207
@@ -229,31 +233,23 @@ msgstr "Toga til að endurlesa..."
229msgid "Release to refresh…"
233msgid "Release to refresh…"
230msgstr "Slepptu til að endurlesa..."
234msgstr "Slepptu til að endurlesa..."
231
235
232−#: qml/Dash/ScopesOverview.qml:215
236+#: qml/Dash/ScopesList.qml:63
233−msgid "Manage Scopes"
237+msgid "Manage"
234−msgstr "Sýsla með leitarsvið"
238+msgstr ""
235−
236−#: qml/Dash/ScopesOverview.qml:437
237−msgid "Done"
238−msgstr "Lokið"
239−
240−#: qml/Dash/ScopesOverview.qml:463
241−msgid "Store"
242−msgstr "Geyma"
243
239
244−#: qml/Dash/ScopesOverviewTab.qml:36
240+#: qml/Dash/ScopesList.qml:105
245−msgid "Favorites"
241+msgid "Home"
246−msgstr "Eftirlæti"
242+msgstr ""
247
243
248−#: qml/Dash/ScopesOverviewTab.qml:54
244+#: qml/Dash/ScopesList.qml:106
249−msgid "All"
245+msgid "Also installed"
250−msgstr "Allt"
246+msgstr ""
251
247
252#: qml/Greeter/Greeter.qml:174
248#: qml/Greeter/Greeter.qml:174
253msgid "Unlock"
249msgid "Unlock"
254msgstr "Aflæsa"
250msgstr "Aflæsa"
255
251
256−#: qml/Notifications/NotificationMenuItemFactory.qml:116
252+#: qml/Notifications/NotificationMenuItemFactory.qml:128
257msgid "Show password"
253msgid "Show password"
258msgstr "Birta lykilorð"
254msgstr "Birta lykilorð"
259
255
@@ -265,31 +261,31 @@ msgstr "Slá til að svara símtali..."
265msgid "Conference"
261msgid "Conference"
266msgstr "Ráðstefna"
262msgstr "Ráðstefna"
267
263
268−#: qml/Panel/Indicators/MenuItemFactory.qml:615
264+#: qml/Panel/Indicators/MenuItemFactory.qml:643
269msgid "Nothing is playing"
265msgid "Nothing is playing"
270msgstr "Ekkert er í afspilun"
266msgstr "Ekkert er í afspilun"
271
267
272−#: qml/Panel/Indicators/MenuItemFactory.qml:763
268+#: qml/Panel/Indicators/MenuItemFactory.qml:791
273msgid "In queue…"
269msgid "In queue…"
274msgstr "Í biðröð..."
270msgstr "Í biðröð..."
275
271
276−#: qml/Panel/Indicators/MenuItemFactory.qml:767
272+#: qml/Panel/Indicators/MenuItemFactory.qml:795
277msgid "Downloading"
273msgid "Downloading"
278msgstr "Sæki"
274msgstr "Sæki"
279
275
280−#: qml/Panel/Indicators/MenuItemFactory.qml:769
276+#: qml/Panel/Indicators/MenuItemFactory.qml:797
281msgid "Paused, tap to resume"
277msgid "Paused, tap to resume"
282msgstr "Í bið, sláðu létt til að halda áfram"
278msgstr "Í bið, sláðu létt til að halda áfram"
283
279
284−#: qml/Panel/Indicators/MenuItemFactory.qml:771
280+#: qml/Panel/Indicators/MenuItemFactory.qml:799
285msgid "Canceled"
281msgid "Canceled"
286msgstr "Hætt við"
282msgstr "Hætt við"
287
283
288−#: qml/Panel/Indicators/MenuItemFactory.qml:773
284+#: qml/Panel/Indicators/MenuItemFactory.qml:801
289msgid "Finished"
285msgid "Finished"
290msgstr "Lokið"
286msgstr "Lokið"
291
287
292−#: qml/Panel/Indicators/MenuItemFactory.qml:775
288+#: qml/Panel/Indicators/MenuItemFactory.qml:803
293msgid "Failed, tap to retry"
289msgid "Failed, tap to retry"
294msgstr "Mistókst, sláðu létt til að reyna aftur"
290msgstr "Mistókst, sláðu létt til að reyna aftur"
295
291
@@ -301,49 +297,49 @@ msgstr "Aflæsa SIM-korti"
301msgid "Roaming"
297msgid "Roaming"
302msgstr "Ráphamur"
298msgstr "Ráphamur"
303
299
304−#: qml/Shell.qml:381
300+#: qml/Shell.qml:390
305msgid "Enter passphrase"
301msgid "Enter passphrase"
306msgstr "Settu inn lykilfrasa"
302msgstr "Settu inn lykilfrasa"
307
303
308−#: qml/Shell.qml:382
304+#: qml/Shell.qml:391
309msgid "Sorry, incorrect passphrase"
305msgid "Sorry, incorrect passphrase"
310msgstr "Því miður, rangt lykilorð"
306msgstr "Því miður, rangt lykilorð"
311
307
312−#: qml/Shell.qml:383
308+#: qml/Shell.qml:392
313msgid "Please re-enter"
309msgid "Please re-enter"
314msgstr "Settu aftur inn"
310msgstr "Settu aftur inn"
315
311
316−#: qml/Shell.qml:385
312+#: qml/Shell.qml:394
317msgid "Enter passcode"
313msgid "Enter passcode"
318msgstr "Settu inn aðgangskóða"
314msgstr "Settu inn aðgangskóða"
319
315
320−#: qml/Shell.qml:386
316+#: qml/Shell.qml:395
321msgid "Sorry, incorrect passcode"
317msgid "Sorry, incorrect passcode"
322msgstr "Því miður, rangur aðgangskóði"
318msgstr "Því miður, rangur aðgangskóði"
323
319
324−#: qml/Shell.qml:389
320+#: qml/Shell.qml:398
325#, qt-format
321#, qt-format
326msgid "Enter %1"
322msgid "Enter %1"
327msgstr "Settu inn %1"
323msgstr "Settu inn %1"
328
324
329−#: qml/Shell.qml:390
325+#: qml/Shell.qml:399
330#, qt-format
326#, qt-format
331msgid "Sorry, incorrect %1"
327msgid "Sorry, incorrect %1"
332msgstr "Því miður, rangt %1"
328msgstr "Því miður, rangt %1"
333
329
334−#: qml/Shell.qml:431
330+#: qml/Shell.qml:440
335msgid "Sorry, incorrect passphrase."
331msgid "Sorry, incorrect passphrase."
336msgstr "Því miður, rangt lykilorð."
332msgstr "Því miður, rangt lykilorð."
337
333
338−#: qml/Shell.qml:432
334+#: qml/Shell.qml:441
339msgid "Sorry, incorrect passcode."
335msgid "Sorry, incorrect passcode."
340msgstr "Því miður, rangur aðgangskóði."
336msgstr "Því miður, rangur aðgangskóði."
341
337
342−#: qml/Shell.qml:433
338+#: qml/Shell.qml:442
343msgid "This will be your last attempt."
339msgid "This will be your last attempt."
344msgstr "Þetta mun verða síðasta tilraunin þín."
340msgstr "Þetta mun verða síðasta tilraunin þín."
345
341
346−#: qml/Shell.qml:435
342+#: qml/Shell.qml:444
347msgid ""
343msgid ""
348"If passphrase is entered incorrectly, your phone will conduct a factory "
344"If passphrase is entered incorrectly, your phone will conduct a factory "
349"reset and all personal data will be deleted."
345"reset and all personal data will be deleted."
@@ -351,7 +347,7 @@ msgstr ""
351"Ef lykilorð er rangt, mun síminn frumstilla allt á verksmiðjustillingar og "
347"Ef lykilorð er rangt, mun síminn frumstilla allt á verksmiðjustillingar og "
352"öllum einkagögnum verður eytt."
348"öllum einkagögnum verður eytt."
353
349
354−#: qml/Shell.qml:436
350+#: qml/Shell.qml:445
355msgid ""
351msgid ""
356"If passcode is entered incorrectly, your phone will conduct a factory reset "
352"If passcode is entered incorrectly, your phone will conduct a factory reset "
357"and all personal data will be deleted."
353"and all personal data will be deleted."
@@ -373,3 +369,15 @@ msgstr ""
373
369
374#~ msgid "Speak Now..."
370#~ msgid "Speak Now..."
375#~ msgstr "Tala núna..."
371#~ msgstr "Tala núna..."
372+
373+#~ msgid "All"
374+#~ msgstr "Allt"
375+
376+#~ msgid "Favorites"
377+#~ msgstr "Eftirlæti"
378+
379+#~ msgid "Done"
380+#~ msgstr "Lokið"
381+
382+#~ msgid "Manage Scopes"
383+#~ msgstr "Sýsla með leitarsvið"
po/it.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-09-30 10:56+0000\n"
11"PO-Revision-Date: 2014-09-30 10:56+0000\n"
12"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
12"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
13"Language-Team: Italian <it@li.org>\n"
13"Language-Team: Italian <it@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -185,20 +185,24 @@ msgstr "Mostra meno"
185msgid "See all"
185msgid "See all"
186msgstr "Mostra tutto"
186msgstr "Mostra tutto"
187
187
188−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
188+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
189#: qml/Panel/SearchIndicator.qml:27
189#: qml/Panel/SearchIndicator.qml:27
190msgid "Search"
190msgid "Search"
191msgstr "Cerca"
191msgstr "Cerca"
192
192
193−#: qml/Dash/PageHeader.qml:268
193+#: qml/Dash/PageHeader.qml:260
194+msgid "Store"
195+msgstr "Store"
196+
197+#: qml/Dash/PageHeader.qml:277
194msgid "Settings"
198msgid "Settings"
195msgstr "Impostazioni"
199msgstr "Impostazioni"
196
200
197−#: qml/Dash/PageHeader.qml:275
201+#: qml/Dash/PageHeader.qml:284
198msgid "Remove from Favorites"
202msgid "Remove from Favorites"
199msgstr "Rimuovi dai preferiti"
203msgstr "Rimuovi dai preferiti"
200
204
201−#: qml/Dash/PageHeader.qml:275
205+#: qml/Dash/PageHeader.qml:284
202msgid "Add to Favorites"
206msgid "Add to Favorites"
203msgstr "Aggiungi ai preferiti"
207msgstr "Aggiungi ai preferiti"
204
208
@@ -230,31 +234,23 @@ msgstr "Scorrere per aggiornare…"
230msgid "Release to refresh…"
234msgid "Release to refresh…"
231msgstr "Rilasciare per aggiornare…"
235msgstr "Rilasciare per aggiornare…"
232
236
233−#: qml/Dash/ScopesOverview.qml:215
237+#: qml/Dash/ScopesList.qml:63
234−msgid "Manage Scopes"
238+msgid "Manage"
235−msgstr "Gestisci Scope"
239+msgstr ""
236−
237−#: qml/Dash/ScopesOverview.qml:437
238−msgid "Done"
239−msgstr "Fatto"
240−
241−#: qml/Dash/ScopesOverview.qml:463
242−msgid "Store"
243−msgstr "Store"
244
240
245−#: qml/Dash/ScopesOverviewTab.qml:36
241+#: qml/Dash/ScopesList.qml:105
246−msgid "Favorites"
242+msgid "Home"
247−msgstr "Preferiti"
243+msgstr ""
248
244
249−#: qml/Dash/ScopesOverviewTab.qml:54
245+#: qml/Dash/ScopesList.qml:106
250−msgid "All"
246+msgid "Also installed"
251−msgstr "Tutto"
247+msgstr ""
252
248
253#: qml/Greeter/Greeter.qml:174
249#: qml/Greeter/Greeter.qml:174
254msgid "Unlock"
250msgid "Unlock"
255msgstr "Sblocca"
251msgstr "Sblocca"
256
252
257−#: qml/Notifications/NotificationMenuItemFactory.qml:116
253+#: qml/Notifications/NotificationMenuItemFactory.qml:128
258msgid "Show password"
254msgid "Show password"
259msgstr "Mostra password"
255msgstr "Mostra password"
260
256
@@ -302,49 +298,49 @@ msgstr "Sblocca SIM"
302msgid "Roaming"
298msgid "Roaming"
303msgstr "Roaming"
299msgstr "Roaming"
304
300
305−#: qml/Shell.qml:391
301+#: qml/Shell.qml:390
306msgid "Enter passphrase"
302msgid "Enter passphrase"
307msgstr "Inserire passphrase"
303msgstr "Inserire passphrase"
308
304
309−#: qml/Shell.qml:392
305+#: qml/Shell.qml:391
310msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
311msgstr "Passphrase errata"
307msgstr "Passphrase errata"
312
308
313−#: qml/Shell.qml:393
309+#: qml/Shell.qml:392
314msgid "Please re-enter"
310msgid "Please re-enter"
315msgstr "Inserire nuovamente"
311msgstr "Inserire nuovamente"
316
312
317−#: qml/Shell.qml:395
313+#: qml/Shell.qml:394
318msgid "Enter passcode"
314msgid "Enter passcode"
319msgstr "Inserire codice"
315msgstr "Inserire codice"
320
316
321−#: qml/Shell.qml:396
317+#: qml/Shell.qml:395
322msgid "Sorry, incorrect passcode"
318msgid "Sorry, incorrect passcode"
323msgstr "Passcode non corretto"
319msgstr "Passcode non corretto"
324
320
325−#: qml/Shell.qml:399
321+#: qml/Shell.qml:398
326#, qt-format
322#, qt-format
327msgid "Enter %1"
323msgid "Enter %1"
328msgstr "Inserire %1"
324msgstr "Inserire %1"
329
325
330−#: qml/Shell.qml:400
326+#: qml/Shell.qml:399
331#, qt-format
327#, qt-format
332msgid "Sorry, incorrect %1"
328msgid "Sorry, incorrect %1"
333msgstr "%1 non corretto"
329msgstr "%1 non corretto"
334
330
335−#: qml/Shell.qml:441
331+#: qml/Shell.qml:440
336msgid "Sorry, incorrect passphrase."
332msgid "Sorry, incorrect passphrase."
337msgstr "Passphrase non corretta"
333msgstr "Passphrase non corretta"
338
334
339−#: qml/Shell.qml:442
335+#: qml/Shell.qml:441
340msgid "Sorry, incorrect passcode."
336msgid "Sorry, incorrect passcode."
341msgstr "Passcode non corretto"
337msgstr "Passcode non corretto"
342
338
343−#: qml/Shell.qml:443
339+#: qml/Shell.qml:442
344msgid "This will be your last attempt."
340msgid "This will be your last attempt."
345msgstr "Questo sarà l'ultimo tentativo."
341msgstr "Questo sarà l'ultimo tentativo."
346
342
347−#: qml/Shell.qml:445
343+#: qml/Shell.qml:444
348msgid ""
344msgid ""
349"If passphrase is entered incorrectly, your phone will conduct a factory "
345"If passphrase is entered incorrectly, your phone will conduct a factory "
350"reset and all personal data will be deleted."
346"reset and all personal data will be deleted."
@@ -352,7 +348,7 @@ msgstr ""
352"Se verrà inserita una passphrase errata, il telefono eseguirà un ripristino "
348"Se verrà inserita una passphrase errata, il telefono eseguirà un ripristino "
353"delle impostazioni di fabbrica e tutti i dati personali verranno eliminati."
349"delle impostazioni di fabbrica e tutti i dati personali verranno eliminati."
354
350
355−#: qml/Shell.qml:446
351+#: qml/Shell.qml:445
356msgid ""
352msgid ""
357"If passcode is entered incorrectly, your phone will conduct a factory reset "
353"If passcode is entered incorrectly, your phone will conduct a factory reset "
358"and all personal data will be deleted."
354"and all personal data will be deleted."
@@ -374,3 +370,15 @@ msgstr ""
374
370
375#~ msgid "Speaking..."
371#~ msgid "Speaking..."
376#~ msgstr "Sto parlando..."
372#~ msgstr "Sto parlando..."
373+
374+#~ msgid "All"
375+#~ msgstr "Tutto"
376+
377+#~ msgid "Favorites"
378+#~ msgstr "Preferiti"
379+
380+#~ msgid "Done"
381+#~ msgstr "Fatto"
382+
383+#~ msgid "Manage Scopes"
384+#~ msgstr "Gestisci Scope"
po/ja.po+52−44
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-20 05:08+0000\n"
11"PO-Revision-Date: 2014-11-20 05:08+0000\n"
12"Last-Translator: Kentaro Kazuhama <Unknown>\n"
12"Last-Translator: Kentaro Kazuhama <Unknown>\n"
13"Language-Team: Japanese <ja@li.org>\n"
13"Language-Team: Japanese <ja@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-21 06:49+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17252)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr "隠す"
172msgid "See all"
172msgid "See all"
173msgstr "すべて表示する"
173msgstr "すべて表示する"
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "検索"
178msgstr "検索"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr "保存"
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr "設定"
186msgstr "設定"
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr "お気に入りから削除する"
190msgstr "お気に入りから削除する"
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr "お気に入りに追加する"
194msgstr "お気に入りに追加する"
191
195
@@ -217,31 +221,23 @@ msgstr "引いて更新…"
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr "指を離して更新…"
222msgstr "指を離して更新…"
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222−msgstr "Scopeの管理"
223−
224−#: qml/Dash/ScopesOverview.qml:437
225−msgid "Done"
226−msgstr "完了"
226+msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
230−msgstr "保存"
231
227
232−#: qml/Dash/ScopesOverviewTab.qml:36
228+#: qml/Dash/ScopesList.qml:105
233−msgid "Favorites"
229+msgid "Home"
234−msgstr "お気に入り"
230+msgstr ""
235
231
236−#: qml/Dash/ScopesOverviewTab.qml:54
232+#: qml/Dash/ScopesList.qml:106
237−msgid "All"
233+msgid "Also installed"
238−msgstr "すべて"
234+msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr "ロックの解除"
238msgstr "ロックの解除"
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr "パスワードを表示"
242msgstr "パスワードを表示"
247
243
@@ -253,31 +249,31 @@ msgstr "タップすると通話に戻ります..."
253msgid "Conference"
249msgid "Conference"
254msgstr "グループ通話"
250msgstr "グループ通話"
255
251
256−#: qml/Panel/Indicators/MenuItemFactory.qml:615
252+#: qml/Panel/Indicators/MenuItemFactory.qml:643
257msgid "Nothing is playing"
253msgid "Nothing is playing"
258msgstr ""
254msgstr ""
259
255
260−#: qml/Panel/Indicators/MenuItemFactory.qml:763
256+#: qml/Panel/Indicators/MenuItemFactory.qml:791
261msgid "In queue…"
257msgid "In queue…"
262msgstr "開始待ち..."
258msgstr "開始待ち..."
263
259
264−#: qml/Panel/Indicators/MenuItemFactory.qml:767
260+#: qml/Panel/Indicators/MenuItemFactory.qml:795
265msgid "Downloading"
261msgid "Downloading"
266msgstr "ダウンロード中"
262msgstr "ダウンロード中"
267
263
268−#: qml/Panel/Indicators/MenuItemFactory.qml:769
264+#: qml/Panel/Indicators/MenuItemFactory.qml:797
269msgid "Paused, tap to resume"
265msgid "Paused, tap to resume"
270msgstr "停止中、再開するにはタップしてください"
266msgstr "停止中、再開するにはタップしてください"
271
267
272−#: qml/Panel/Indicators/MenuItemFactory.qml:771
268+#: qml/Panel/Indicators/MenuItemFactory.qml:799
273msgid "Canceled"
269msgid "Canceled"
274msgstr "中止しました"
270msgstr "中止しました"
275
271
276−#: qml/Panel/Indicators/MenuItemFactory.qml:773
272+#: qml/Panel/Indicators/MenuItemFactory.qml:801
277msgid "Finished"
273msgid "Finished"
278msgstr "完了しました"
274msgstr "完了しました"
279
275
280−#: qml/Panel/Indicators/MenuItemFactory.qml:775
276+#: qml/Panel/Indicators/MenuItemFactory.qml:803
281msgid "Failed, tap to retry"
277msgid "Failed, tap to retry"
282msgstr "失敗しました、再試行するにはタップしてください"
278msgstr "失敗しました、再試行するにはタップしてください"
283
279
@@ -289,55 +285,55 @@ msgstr "SIMのアンロック"
289msgid "Roaming"
285msgid "Roaming"
290msgstr "ローミング"
286msgstr "ローミング"
291
287
292−#: qml/Shell.qml:381
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr "パスフレーズを入力"
290msgstr "パスフレーズを入力"
295
291
296−#: qml/Shell.qml:382
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr "パスフレーズが違います"
294msgstr "パスフレーズが違います"
299
295
300−#: qml/Shell.qml:383
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr "再入力してください"
298msgstr "再入力してください"
303
299
304−#: qml/Shell.qml:385
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr "パスコードを入力"
302msgstr "パスコードを入力"
307
303
308−#: qml/Shell.qml:386
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr "パスコードが違います"
306msgstr "パスコードが違います"
311
307
312−#: qml/Shell.qml:389
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr "%1 を入力"
311msgstr "%1 を入力"
316
312
317−#: qml/Shell.qml:390
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr "%1が違います"
316msgstr "%1が違います"
321
317
322−#: qml/Shell.qml:431
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr "パスフレーズが間違っています。"
320msgstr "パスフレーズが間違っています。"
325
321
326−#: qml/Shell.qml:432
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr "パスコードが間違っています。"
324msgstr "パスコードが間違っています。"
329
325
330−#: qml/Shell.qml:433
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr "これが最後のチャンスです。"
328msgstr "これが最後のチャンスです。"
333
329
334−#: qml/Shell.qml:435
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr "パスフレーズが間違っている場合、ファクトリーリセットを実施し、すべての個人データは削除されます。"
334msgstr "パスフレーズが間違っている場合、ファクトリーリセットを実施し、すべての個人データは削除されます。"
339
335
340−#: qml/Shell.qml:436
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
@@ -355,5 +351,17 @@ msgstr "パスコードが間違っている場合、ファクトリーリセッ
355#~ msgid "Confirm"
351#~ msgid "Confirm"
356#~ msgstr "確認"
352#~ msgstr "確認"
357
353
354+#~ msgid "All"
355+#~ msgstr "すべて"
356+
357+#~ msgid "Favorites"
358+#~ msgstr "お気に入り"
359+
360+#~ msgid "Done"
361+#~ msgstr "完了"
362+
358#~ msgid "Type or say a command"
363#~ msgid "Type or say a command"
359#~ msgstr "コマンドを音声かキーボードから入力"
364#~ msgstr "コマンドを音声かキーボードから入力"
365+
366+#~ msgid "Manage Scopes"
367+#~ msgstr "Scopeの管理"
po/km.po+41−36
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-08-20 02:48+0000\n"
11"PO-Revision-Date: 2014-08-20 02:48+0000\n"
12"Last-Translator: Sophea Sok <sksophea@gmail.com>\n"
12"Last-Translator: Sophea Sok <sksophea@gmail.com>\n"
13"Language-Team: Khmer <km@li.org>\n"
13"Language-Team: Khmer <km@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -178,20 +178,24 @@ msgstr "មើល​តិច​ជាង"
178msgid "See all"
178msgid "See all"
179msgstr "មើល​ទាំងអស់"
179msgstr "មើល​ទាំងអស់"
180
180
181−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
181+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
182#: qml/Panel/SearchIndicator.qml:27
182#: qml/Panel/SearchIndicator.qml:27
183msgid "Search"
183msgid "Search"
184msgstr "ស្វែង​រក"
184msgstr "ស្វែង​រក"
185
185
186−#: qml/Dash/PageHeader.qml:268
186+#: qml/Dash/PageHeader.qml:260
187+msgid "Store"
188+msgstr "រក្សាទុក"
189+
190+#: qml/Dash/PageHeader.qml:277
187msgid "Settings"
191msgid "Settings"
188msgstr "ការកំណត់"
192msgstr "ការកំណត់"
189
193
190−#: qml/Dash/PageHeader.qml:275
194+#: qml/Dash/PageHeader.qml:284
191msgid "Remove from Favorites"
195msgid "Remove from Favorites"
192msgstr "យក​ចេញពី​សំណព្វ"
196msgstr "យក​ចេញពី​សំណព្វ"
193
197
194−#: qml/Dash/PageHeader.qml:275
198+#: qml/Dash/PageHeader.qml:284
195msgid "Add to Favorites"
199msgid "Add to Favorites"
196msgstr "បន្ថែម​ទៅ​សណព្វ"
200msgstr "បន្ថែម​ទៅ​សណព្វ"
197
201
@@ -223,31 +227,23 @@ msgstr ""
223msgid "Release to refresh…"
227msgid "Release to refresh…"
224msgstr ""
228msgstr ""
225
229
226−#: qml/Dash/ScopesOverview.qml:215
230+#: qml/Dash/ScopesList.qml:63
227−msgid "Manage Scopes"
231+msgid "Manage"
228msgstr ""
232msgstr ""
229
233
230−#: qml/Dash/ScopesOverview.qml:437
234+#: qml/Dash/ScopesList.qml:105
231−msgid "Done"
232−msgstr "ធ្វើរួច"
233−
234−#: qml/Dash/ScopesOverview.qml:463
235−msgid "Store"
236−msgstr "រក្សាទុក"
237−
238−#: qml/Dash/ScopesOverviewTab.qml:36
239−msgid "Favorites"
235+msgid "Home"
240−msgstr "និយម"
236+msgstr ""
241
237
242−#: qml/Dash/ScopesOverviewTab.qml:54
238+#: qml/Dash/ScopesList.qml:106
243−msgid "All"
239+msgid "Also installed"
244−msgstr "ទាំងអស់"
240+msgstr ""
245
241
246#: qml/Greeter/Greeter.qml:174
242#: qml/Greeter/Greeter.qml:174
247msgid "Unlock"
243msgid "Unlock"
248msgstr ""
244msgstr ""
249
245
250−#: qml/Notifications/NotificationMenuItemFactory.qml:116
246+#: qml/Notifications/NotificationMenuItemFactory.qml:128
251msgid "Show password"
247msgid "Show password"
252msgstr "បង្ហាញ​ពាក្យ​សម្ងាត់"
248msgstr "បង្ហាញ​ពាក្យ​សម្ងាត់"
253
249
@@ -295,49 +291,49 @@ msgstr "ដោះ​សោ​ស៊ីម"
295msgid "Roaming"
291msgid "Roaming"
296msgstr "រ៉ូមីង"
292msgstr "រ៉ូមីង"
297
293
298−#: qml/Shell.qml:391
294+#: qml/Shell.qml:390
299msgid "Enter passphrase"
295msgid "Enter passphrase"
300msgstr ""
296msgstr ""
301
297
302−#: qml/Shell.qml:392
298+#: qml/Shell.qml:391
303msgid "Sorry, incorrect passphrase"
299msgid "Sorry, incorrect passphrase"
304msgstr "សូមទោស! ឃ្លា​សម្ងាត់​មិន​ត្រឹមត្រូវ"
300msgstr "សូមទោស! ឃ្លា​សម្ងាត់​មិន​ត្រឹមត្រូវ"
305
301
306−#: qml/Shell.qml:393
302+#: qml/Shell.qml:392
307msgid "Please re-enter"
303msgid "Please re-enter"
308msgstr ""
304msgstr ""
309
305
310−#: qml/Shell.qml:395
306+#: qml/Shell.qml:394
311msgid "Enter passcode"
307msgid "Enter passcode"
312msgstr ""
308msgstr ""
313
309
314−#: qml/Shell.qml:396
310+#: qml/Shell.qml:395
315msgid "Sorry, incorrect passcode"
311msgid "Sorry, incorrect passcode"
316msgstr "សូមទោស! កូដ​សម្ងាត់​មិន​ត្រឹមត្រូវ"
312msgstr "សូមទោស! កូដ​សម្ងាត់​មិន​ត្រឹមត្រូវ"
317
313
318−#: qml/Shell.qml:399
314+#: qml/Shell.qml:398
319#, qt-format
315#, qt-format
320msgid "Enter %1"
316msgid "Enter %1"
321msgstr ""
317msgstr ""
322
318
323−#: qml/Shell.qml:400
319+#: qml/Shell.qml:399
324#, qt-format
320#, qt-format
325msgid "Sorry, incorrect %1"
321msgid "Sorry, incorrect %1"
326msgstr "សូមទោស! %1 មិន​ត្រឹមត្រូវ"
322msgstr "សូមទោស! %1 មិន​ត្រឹមត្រូវ"
327
323
328−#: qml/Shell.qml:441
324+#: qml/Shell.qml:440
329msgid "Sorry, incorrect passphrase."
325msgid "Sorry, incorrect passphrase."
330msgstr "សូមទោស! ឃ្លា​សម្ងាត់​មិន​ត្រឹមត្រូវ។"
326msgstr "សូមទោស! ឃ្លា​សម្ងាត់​មិន​ត្រឹមត្រូវ។"
331
327
332−#: qml/Shell.qml:442
328+#: qml/Shell.qml:441
333msgid "Sorry, incorrect passcode."
329msgid "Sorry, incorrect passcode."
334msgstr "សូមទោស! កូដ​សម្ងាត់​មិន​ត្រឹមត្រូវ។"
330msgstr "សូមទោស! កូដ​សម្ងាត់​មិន​ត្រឹមត្រូវ។"
335
331
336−#: qml/Shell.qml:443
332+#: qml/Shell.qml:442
337msgid "This will be your last attempt."
333msgid "This will be your last attempt."
338msgstr "នេះ​គឺ​ការ​ព្យាយាម​លើក​ចុងក្រោយ។"
334msgstr "នេះ​គឺ​ការ​ព្យាយាម​លើក​ចុងក្រោយ។"
339
335
340−#: qml/Shell.qml:445
336+#: qml/Shell.qml:444
341msgid ""
337msgid ""
342"If passphrase is entered incorrectly, your phone will conduct a factory "
338"If passphrase is entered incorrectly, your phone will conduct a factory "
343"reset and all personal data will be deleted."
339"reset and all personal data will be deleted."
@@ -346,7 +342,7 @@ msgstr ""
346"ទូរស័ព្ទ​របស់​អ្នក​នឹង​កំណត់​ទៅ​ទិន្នន័យ​ពី​រោងចក្រ​វិញ "
342"ទូរស័ព្ទ​របស់​អ្នក​នឹង​កំណត់​ទៅ​ទិន្នន័យ​ពី​រោងចក្រ​វិញ "
347"ហើយ​ទិន្នន័យ​ផ្ទាល់ខ្លួន​ទាំងអស់​របស់​អ្នក​នឹង​ត្រូវ​បាន​លុប។"
343"ហើយ​ទិន្នន័យ​ផ្ទាល់ខ្លួន​ទាំងអស់​របស់​អ្នក​នឹង​ត្រូវ​បាន​លុប។"
348
344
349−#: qml/Shell.qml:446
345+#: qml/Shell.qml:445
350msgid ""
346msgid ""
351"If passcode is entered incorrectly, your phone will conduct a factory reset "
347"If passcode is entered incorrectly, your phone will conduct a factory reset "
352"and all personal data will be deleted."
348"and all personal data will be deleted."
@@ -369,3 +365,12 @@ msgstr ""
369
365
370#~ msgid "Speaking..."
366#~ msgid "Speaking..."
371#~ msgstr "កំពុង​និយាយ..."
367#~ msgstr "កំពុង​និយាយ..."
368+
369+#~ msgid "All"
370+#~ msgstr "ទាំងអស់"
371+
372+#~ msgid "Favorites"
373+#~ msgstr "និយម"
374+
375+#~ msgid "Done"
376+#~ msgstr "ធ្វើរួច"
po/kn.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kannada <kn@li.org>\n"
13"Language-Team: Kannada <kn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "ಹುಡುಕು"
178msgstr "ಹುಡುಕು"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/ko.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-08-19 13:02+0000\n"
11"PO-Revision-Date: 2014-08-19 13:02+0000\n"
12"Last-Translator: MinSik CHO <Unknown>\n"
12"Last-Translator: MinSik CHO <Unknown>\n"
13"Language-Team: Korean <ko@li.org>\n"
13"Language-Team: Korean <ko@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr "간단히 표시"
172msgid "See all"
172msgid "See all"
173msgstr "모두 보기"
173msgstr "모두 보기"
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "검색"
178msgstr "검색"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr "장터"
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr "설정"
186msgstr "설정"
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr "즐겨찾기에서 제거"
190msgstr "즐겨찾기에서 제거"
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr "즐겨찾기에 추가"
194msgstr "즐겨찾기에 추가"
191
195
@@ -217,31 +221,23 @@ msgstr "당기면 새로 고침..."
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr "놓으면 새로 고침..."
222msgstr "놓으면 새로 고침..."
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222−msgstr "스코프 관리"
226+msgstr ""
223−
224−#: qml/Dash/ScopesOverview.qml:437
225−msgid "Done"
226−msgstr "완료"
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
230−msgstr "장터"
231
227
232−#: qml/Dash/ScopesOverviewTab.qml:36
228+#: qml/Dash/ScopesList.qml:105
233−msgid "Favorites"
229+msgid "Home"
234−msgstr "즐겨찾기"
230+msgstr ""
235
231
236−#: qml/Dash/ScopesOverviewTab.qml:54
232+#: qml/Dash/ScopesList.qml:106
237−msgid "All"
233+msgid "Also installed"
238−msgstr "모두"
234+msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr "잠금 해제"
238msgstr "잠금 해제"
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr "암호 표시"
242msgstr "암호 표시"
247
243
@@ -289,55 +285,55 @@ msgstr "심 카드 잠금 해제"
289msgid "Roaming"
285msgid "Roaming"
290msgstr "로밍"
286msgstr "로밍"
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr "패스프레이즈를 입력해주십시오."
290msgstr "패스프레이즈를 입력해주십시오."
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr "죄송합니다. 패스프레이즈가 올바르지 않습니다."
294msgstr "죄송합니다. 패스프레이즈가 올바르지 않습니다."
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr "다시 입력해주십시오."
298msgstr "다시 입력해주십시오."
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr "패스코드를 입력해주십시오."
302msgstr "패스코드를 입력해주십시오."
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr "죄송합니다. 패스코드가 올바르지 않습니다."
306msgstr "죄송합니다. 패스코드가 올바르지 않습니다."
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr "%1 입력"
311msgstr "%1 입력"
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr "죄송합니다. %1이(가) 올바르지 않습니다."
316msgstr "죄송합니다. %1이(가) 올바르지 않습니다."
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr "올바르지 않은 패스프레이즈입니다."
320msgstr "올바르지 않은 패스프레이즈입니다."
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr "최송합니다. 패스코드가 올바르지 않습니다."
324msgstr "최송합니다. 패스코드가 올바르지 않습니다."
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr "마지막 시도입니다."
328msgstr "마지막 시도입니다."
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr "이번에도 올바르지 않은 패스프레이즈를 입력하면 휴대 전화를 공장 초기화하여 모든 개인 정보를 삭제합니다."
334msgstr "이번에도 올바르지 않은 패스프레이즈를 입력하면 휴대 전화를 공장 초기화하여 모든 개인 정보를 삭제합니다."
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
@@ -355,5 +351,17 @@ msgstr "이번에도 올바르지 않은 패스코드를 입력하면 휴대 전
355#~ msgid "Speaking..."
351#~ msgid "Speaking..."
356#~ msgstr "말하는 중..."
352#~ msgstr "말하는 중..."
357
353
354+#~ msgid "Done"
355+#~ msgstr "완료"
356+
357+#~ msgid "All"
358+#~ msgstr "모두"
359+
360+#~ msgid "Favorites"
361+#~ msgstr "즐겨찾기"
362+
358#~ msgid "Loading. Please Wait..."
363#~ msgid "Loading. Please Wait..."
359#~ msgstr "불러오는 중 입니다. 짐시 기다려주십시오..."
364#~ msgstr "불러오는 중 입니다. 짐시 기다려주십시오..."
365+
366+#~ msgid "Manage Scopes"
367+#~ msgstr "스코프 관리"
po/ku.po+41−36
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-09-10 13:14+0000\n"
11"PO-Revision-Date: 2014-09-10 13:14+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Kurdish <ku@li.org>\n"
13"Language-Team: Kurdish <ku@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -175,20 +175,24 @@ msgstr "Hindiktir bibîne"
175msgid "See all"
175msgid "See all"
176msgstr "Tevî bibîne"
176msgstr "Tevî bibîne"
177
177
178−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
178+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
179#: qml/Panel/SearchIndicator.qml:27
179#: qml/Panel/SearchIndicator.qml:27
180msgid "Search"
180msgid "Search"
181msgstr "Lêgerîn"
181msgstr "Lêgerîn"
182
182
183−#: qml/Dash/PageHeader.qml:268
183+#: qml/Dash/PageHeader.qml:260
184+msgid "Store"
185+msgstr "Firoşgeh"
186+
187+#: qml/Dash/PageHeader.qml:277
184msgid "Settings"
188msgid "Settings"
185msgstr "Eyar"
189msgstr "Eyar"
186
190
187−#: qml/Dash/PageHeader.qml:275
191+#: qml/Dash/PageHeader.qml:284
188msgid "Remove from Favorites"
192msgid "Remove from Favorites"
189msgstr "Ji nav Bijareyan rake"
193msgstr "Ji nav Bijareyan rake"
190
194
191−#: qml/Dash/PageHeader.qml:275
195+#: qml/Dash/PageHeader.qml:284
192msgid "Add to Favorites"
196msgid "Add to Favorites"
193msgstr "Li Bijareyan zêde bike"
197msgstr "Li Bijareyan zêde bike"
194
198
@@ -220,31 +224,23 @@ msgstr ""
220msgid "Release to refresh…"
224msgid "Release to refresh…"
221msgstr ""
225msgstr ""
222
226
223−#: qml/Dash/ScopesOverview.qml:215
227+#: qml/Dash/ScopesList.qml:63
224−msgid "Manage Scopes"
228+msgid "Manage"
225msgstr ""
229msgstr ""
226
230
227−#: qml/Dash/ScopesOverview.qml:437
231+#: qml/Dash/ScopesList.qml:105
228−msgid "Done"
229−msgstr "Qediya"
230−
231−#: qml/Dash/ScopesOverview.qml:463
232−msgid "Store"
233−msgstr "Firoşgeh"
234−
235−#: qml/Dash/ScopesOverviewTab.qml:36
236−msgid "Favorites"
232+msgid "Home"
237−msgstr "Bijare"
233+msgstr ""
238
234
239−#: qml/Dash/ScopesOverviewTab.qml:54
235+#: qml/Dash/ScopesList.qml:106
240−msgid "All"
236+msgid "Also installed"
241−msgstr "Hemû"
237+msgstr ""
242
238
243#: qml/Greeter/Greeter.qml:174
239#: qml/Greeter/Greeter.qml:174
244msgid "Unlock"
240msgid "Unlock"
245msgstr ""
241msgstr ""
246
242
247−#: qml/Notifications/NotificationMenuItemFactory.qml:116
243+#: qml/Notifications/NotificationMenuItemFactory.qml:128
248msgid "Show password"
244msgid "Show password"
249msgstr "Şîfreyê nîşan bide"
245msgstr "Şîfreyê nîşan bide"
250
246
@@ -292,49 +288,49 @@ msgstr "Kilîda SIMê veke"
292msgid "Roaming"
288msgid "Roaming"
293msgstr "Geriyan"
289msgstr "Geriyan"
294
290
295−#: qml/Shell.qml:391
291+#: qml/Shell.qml:390
296msgid "Enter passphrase"
292msgid "Enter passphrase"
297msgstr ""
293msgstr ""
298
294
299−#: qml/Shell.qml:392
295+#: qml/Shell.qml:391
300msgid "Sorry, incorrect passphrase"
296msgid "Sorry, incorrect passphrase"
301msgstr "Bibore, parola çewt e"
297msgstr "Bibore, parola çewt e"
302
298
303−#: qml/Shell.qml:393
299+#: qml/Shell.qml:392
304msgid "Please re-enter"
300msgid "Please re-enter"
305msgstr ""
301msgstr ""
306
302
307−#: qml/Shell.qml:395
303+#: qml/Shell.qml:394
308msgid "Enter passcode"
304msgid "Enter passcode"
309msgstr ""
305msgstr ""
310
306
311−#: qml/Shell.qml:396
307+#: qml/Shell.qml:395
312msgid "Sorry, incorrect passcode"
308msgid "Sorry, incorrect passcode"
313msgstr "Bibore, parola çewrt e"
309msgstr "Bibore, parola çewrt e"
314
310
315−#: qml/Shell.qml:399
311+#: qml/Shell.qml:398
316#, qt-format
312#, qt-format
317msgid "Enter %1"
313msgid "Enter %1"
318msgstr ""
314msgstr ""
319
315
320−#: qml/Shell.qml:400
316+#: qml/Shell.qml:399
321#, qt-format
317#, qt-format
322msgid "Sorry, incorrect %1"
318msgid "Sorry, incorrect %1"
323msgstr "Bibore, %1 çewt e"
319msgstr "Bibore, %1 çewt e"
324
320
325−#: qml/Shell.qml:441
321+#: qml/Shell.qml:440
326msgid "Sorry, incorrect passphrase."
322msgid "Sorry, incorrect passphrase."
327msgstr "Bibore, parola çewt e."
323msgstr "Bibore, parola çewt e."
328
324
329−#: qml/Shell.qml:442
325+#: qml/Shell.qml:441
330msgid "Sorry, incorrect passcode."
326msgid "Sorry, incorrect passcode."
331msgstr "Bibore, parola çewt e."
327msgstr "Bibore, parola çewt e."
332
328
333−#: qml/Shell.qml:443
329+#: qml/Shell.qml:442
334msgid "This will be your last attempt."
330msgid "This will be your last attempt."
335msgstr "Ev ê ceribandina dawiyê be."
331msgstr "Ev ê ceribandina dawiyê be."
336
332
337−#: qml/Shell.qml:445
333+#: qml/Shell.qml:444
338msgid ""
334msgid ""
339"If passphrase is entered incorrectly, your phone will conduct a factory "
335"If passphrase is entered incorrectly, your phone will conduct a factory "
340"reset and all personal data will be deleted."
336"reset and all personal data will be deleted."
@@ -342,7 +338,7 @@ msgstr ""
342"Eger parola çewt bê nivîsandin, telefona te dê vegere eyarên fabrîkayê û "
338"Eger parola çewt bê nivîsandin, telefona te dê vegere eyarên fabrîkayê û "
343"hemû daneyên te yên taybet dê bên jêbirin."
339"hemû daneyên te yên taybet dê bên jêbirin."
344
340
345−#: qml/Shell.qml:446
341+#: qml/Shell.qml:445
346msgid ""
342msgid ""
347"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
348"and all personal data will be deleted."
344"and all personal data will be deleted."
@@ -359,8 +355,17 @@ msgstr ""
359#~ msgid "Speak Now..."
355#~ msgid "Speak Now..."
360#~ msgstr "Niha biaxive..."
356#~ msgstr "Niha biaxive..."
361
357
358+#~ msgid "All"
359+#~ msgstr "Hemû"
360+
362#~ msgid "Confirm"
361#~ msgid "Confirm"
363#~ msgstr "Erê bike"
362#~ msgstr "Erê bike"
364
363
364+#~ msgid "Favorites"
365+#~ msgstr "Bijare"
366+
367+#~ msgid "Done"
368+#~ msgstr "Qediya"
369+
365#~ msgid "Speaking..."
370#~ msgid "Speaking..."
366#~ msgstr "Diaxive..."
371#~ msgstr "Diaxive..."
po/ky.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "Издөө"
178msgstr "Издөө"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/lo.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
13"Language-Team: Lao <lo@li.org>\n"
13"Language-Team: Lao <lo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "ຊອກຫາ"
178msgstr "ຊອກຫາ"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/lt.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-05-19 17:15+0000\n"
11"PO-Revision-Date: 2014-05-19 17:15+0000\n"
12"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
12"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
13"Language-Team: Lithuanian <lt@li.org>\n"
13"Language-Team: Lithuanian <lt@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"(n%100<10 || n%100>=20) ? 1 : 2;\n"
18"(n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -176,20 +176,24 @@ msgstr ""
176msgid "See all"
176msgid "See all"
177msgstr ""
177msgstr ""
178
178
179−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
179+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
180#: qml/Panel/SearchIndicator.qml:27
180#: qml/Panel/SearchIndicator.qml:27
181msgid "Search"
181msgid "Search"
182msgstr "Paieška"
182msgstr "Paieška"
183
183
184−#: qml/Dash/PageHeader.qml:268
184+#: qml/Dash/PageHeader.qml:260
185+msgid "Store"
186+msgstr ""
187+
188+#: qml/Dash/PageHeader.qml:277
185msgid "Settings"
189msgid "Settings"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Remove from Favorites"
193msgid "Remove from Favorites"
190msgstr ""
194msgstr ""
191
195
192−#: qml/Dash/PageHeader.qml:275
196+#: qml/Dash/PageHeader.qml:284
193msgid "Add to Favorites"
197msgid "Add to Favorites"
194msgstr ""
198msgstr ""
195
199
@@ -221,31 +225,23 @@ msgstr ""
221msgid "Release to refresh…"
225msgid "Release to refresh…"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:215
228+#: qml/Dash/ScopesList.qml:63
225−msgid "Manage Scopes"
229+msgid "Manage"
226msgstr ""
230msgstr ""
227
231
228−#: qml/Dash/ScopesOverview.qml:437
232+#: qml/Dash/ScopesList.qml:105
229−msgid "Done"
230−msgstr ""
231−
232−#: qml/Dash/ScopesOverview.qml:463
233−msgid "Store"
233+msgid "Home"
234msgstr ""
234msgstr ""
235
235
236−#: qml/Dash/ScopesOverviewTab.qml:36
236+#: qml/Dash/ScopesList.qml:106
237−msgid "Favorites"
237+msgid "Also installed"
238−msgstr ""
239−
240−#: qml/Dash/ScopesOverviewTab.qml:54
241−msgid "All"
242msgstr ""
238msgstr ""
243
239
244#: qml/Greeter/Greeter.qml:174
240#: qml/Greeter/Greeter.qml:174
245msgid "Unlock"
241msgid "Unlock"
246msgstr ""
242msgstr ""
247
243
248−#: qml/Notifications/NotificationMenuItemFactory.qml:116
244+#: qml/Notifications/NotificationMenuItemFactory.qml:128
249msgid "Show password"
245msgid "Show password"
250msgstr "Rodyti slaptažodį"
246msgstr "Rodyti slaptažodį"
251
247
@@ -293,55 +289,55 @@ msgstr ""
293msgid "Roaming"
289msgid "Roaming"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:391
292+#: qml/Shell.qml:390
297msgid "Enter passphrase"
293msgid "Enter passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:392
296+#: qml/Shell.qml:391
301msgid "Sorry, incorrect passphrase"
297msgid "Sorry, incorrect passphrase"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:393
300+#: qml/Shell.qml:392
305msgid "Please re-enter"
301msgid "Please re-enter"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:395
304+#: qml/Shell.qml:394
309msgid "Enter passcode"
305msgid "Enter passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:396
308+#: qml/Shell.qml:395
313msgid "Sorry, incorrect passcode"
309msgid "Sorry, incorrect passcode"
314msgstr ""
310msgstr ""
315
311
316−#: qml/Shell.qml:399
312+#: qml/Shell.qml:398
317#, qt-format
313#, qt-format
318msgid "Enter %1"
314msgid "Enter %1"
319msgstr ""
315msgstr ""
320
316
321−#: qml/Shell.qml:400
317+#: qml/Shell.qml:399
322#, qt-format
318#, qt-format
323msgid "Sorry, incorrect %1"
319msgid "Sorry, incorrect %1"
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:441
322+#: qml/Shell.qml:440
327msgid "Sorry, incorrect passphrase."
323msgid "Sorry, incorrect passphrase."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:442
326+#: qml/Shell.qml:441
331msgid "Sorry, incorrect passcode."
327msgid "Sorry, incorrect passcode."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:443
330+#: qml/Shell.qml:442
335msgid "This will be your last attempt."
331msgid "This will be your last attempt."
336msgstr ""
332msgstr ""
337
333
338−#: qml/Shell.qml:445
334+#: qml/Shell.qml:444
339msgid ""
335msgid ""
340"If passphrase is entered incorrectly, your phone will conduct a factory "
336"If passphrase is entered incorrectly, your phone will conduct a factory "
341"reset and all personal data will be deleted."
337"reset and all personal data will be deleted."
342msgstr ""
338msgstr ""
343
339
344−#: qml/Shell.qml:446
340+#: qml/Shell.qml:445
345msgid ""
341msgid ""
346"If passcode is entered incorrectly, your phone will conduct a factory reset "
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
347"and all personal data will be deleted."
343"and all personal data will be deleted."
po/lv.po+41−36
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-08-21 09:46+0000\n"
11"PO-Revision-Date: 2014-08-21 09:46+0000\n"
12"Last-Translator: Jānis Marks Gailis <jm-gailis@fai-vianet.fr>\n"
12"Last-Translator: Jānis Marks Gailis <jm-gailis@fai-vianet.fr>\n"
13"Language-Team: Latvian <lv@li.org>\n"
13"Language-Team: Latvian <lv@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr "Redzēt mazāk"
172msgid "See all"
172msgid "See all"
173msgstr "Skatīt visus"
173msgstr "Skatīt visus"
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "Meklēt"
178msgstr "Meklēt"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr "Veikals"
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr "Iestatījumi"
186msgstr "Iestatījumi"
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr "Izņemt no izlases"
190msgstr "Izņemt no izlases"
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr "Pievienot izlasei"
194msgstr "Pievienot izlasei"
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr "Pabeigts"
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
230−msgstr "Veikals"
231−
232−#: qml/Dash/ScopesOverviewTab.qml:36
233−msgid "Favorites"
229+msgid "Home"
234−msgstr "Iecienītās"
230+msgstr ""
235
231
236−#: qml/Dash/ScopesOverviewTab.qml:54
232+#: qml/Dash/ScopesList.qml:106
237−msgid "All"
233+msgid "Also installed"
238−msgstr "Visi"
234+msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr "Rādīt paroli"
242msgstr "Rādīt paroli"
247
243
@@ -289,55 +285,55 @@ msgstr "Atbloķēt SIM"
289msgid "Roaming"
285msgid "Roaming"
290msgstr "Viesabonēšana"
286msgstr "Viesabonēšana"
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr "Šīs būs jūs pēdējais mēģinājums."
328msgstr "Šīs būs jūs pēdējais mēģinājums."
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
@@ -357,3 +353,12 @@ msgstr ""
357
353
358#~ msgid "Speaking..."
354#~ msgid "Speaking..."
359#~ msgstr "Runa..."
355#~ msgstr "Runa..."
356+
357+#~ msgid "All"
358+#~ msgstr "Visi"
359+
360+#~ msgid "Favorites"
361+#~ msgstr "Iecienītās"
362+
363+#~ msgid "Done"
364+#~ msgstr "Pabeigts"
po/ml.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-11-23 11:44+0000\n"
11"PO-Revision-Date: 2013-11-23 11:44+0000\n"
12"Last-Translator: ST Alfas <Unknown>\n"
12"Last-Translator: ST Alfas <Unknown>\n"
13"Language-Team: Malayalam <ml@li.org>\n"
13"Language-Team: Malayalam <ml@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -174,20 +174,24 @@ msgstr ""
174msgid "See all"
174msgid "See all"
175msgstr ""
175msgstr ""
176
176
177−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
177+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
178#: qml/Panel/SearchIndicator.qml:27
178#: qml/Panel/SearchIndicator.qml:27
179msgid "Search"
179msgid "Search"
180msgstr "തിരയുക"
180msgstr "തിരയുക"
181
181
182−#: qml/Dash/PageHeader.qml:268
182+#: qml/Dash/PageHeader.qml:260
183+msgid "Store"
184+msgstr ""
185+
186+#: qml/Dash/PageHeader.qml:277
183msgid "Settings"
187msgid "Settings"
184msgstr ""
188msgstr ""
185
189
186−#: qml/Dash/PageHeader.qml:275
190+#: qml/Dash/PageHeader.qml:284
187msgid "Remove from Favorites"
191msgid "Remove from Favorites"
188msgstr ""
192msgstr ""
189
193
190−#: qml/Dash/PageHeader.qml:275
194+#: qml/Dash/PageHeader.qml:284
191msgid "Add to Favorites"
195msgid "Add to Favorites"
192msgstr ""
196msgstr ""
193
197
@@ -219,31 +223,23 @@ msgstr ""
219msgid "Release to refresh…"
223msgid "Release to refresh…"
220msgstr ""
224msgstr ""
221
225
222−#: qml/Dash/ScopesOverview.qml:215
226+#: qml/Dash/ScopesList.qml:63
223−msgid "Manage Scopes"
227+msgid "Manage"
224msgstr ""
228msgstr ""
225
229
226−#: qml/Dash/ScopesOverview.qml:437
230+#: qml/Dash/ScopesList.qml:105
227−msgid "Done"
228−msgstr ""
229−
230−#: qml/Dash/ScopesOverview.qml:463
231−msgid "Store"
231+msgid "Home"
232msgstr ""
232msgstr ""
233
233
234−#: qml/Dash/ScopesOverviewTab.qml:36
234+#: qml/Dash/ScopesList.qml:106
235−msgid "Favorites"
235+msgid "Also installed"
236−msgstr ""
237−
238−#: qml/Dash/ScopesOverviewTab.qml:54
239−msgid "All"
240msgstr ""
236msgstr ""
241
237
242#: qml/Greeter/Greeter.qml:174
238#: qml/Greeter/Greeter.qml:174
243msgid "Unlock"
239msgid "Unlock"
244msgstr ""
240msgstr ""
245
241
246−#: qml/Notifications/NotificationMenuItemFactory.qml:116
242+#: qml/Notifications/NotificationMenuItemFactory.qml:128
247msgid "Show password"
243msgid "Show password"
248msgstr "രഹസ്യവാക്ക് കാണിക്കുക"
244msgstr "രഹസ്യവാക്ക് കാണിക്കുക"
249
245
@@ -291,55 +287,55 @@ msgstr ""
291msgid "Roaming"
287msgid "Roaming"
292msgstr ""
288msgstr ""
293
289
294−#: qml/Shell.qml:391
290+#: qml/Shell.qml:390
295msgid "Enter passphrase"
291msgid "Enter passphrase"
296msgstr ""
292msgstr ""
297
293
298−#: qml/Shell.qml:392
294+#: qml/Shell.qml:391
299msgid "Sorry, incorrect passphrase"
295msgid "Sorry, incorrect passphrase"
300msgstr ""
296msgstr ""
301
297
302−#: qml/Shell.qml:393
298+#: qml/Shell.qml:392
303msgid "Please re-enter"
299msgid "Please re-enter"
304msgstr ""
300msgstr ""
305
301
306−#: qml/Shell.qml:395
302+#: qml/Shell.qml:394
307msgid "Enter passcode"
303msgid "Enter passcode"
308msgstr ""
304msgstr ""
309
305
310−#: qml/Shell.qml:396
306+#: qml/Shell.qml:395
311msgid "Sorry, incorrect passcode"
307msgid "Sorry, incorrect passcode"
312msgstr ""
308msgstr ""
313
309
314−#: qml/Shell.qml:399
310+#: qml/Shell.qml:398
315#, qt-format
311#, qt-format
316msgid "Enter %1"
312msgid "Enter %1"
317msgstr ""
313msgstr ""
318
314
319−#: qml/Shell.qml:400
315+#: qml/Shell.qml:399
320#, qt-format
316#, qt-format
321msgid "Sorry, incorrect %1"
317msgid "Sorry, incorrect %1"
322msgstr ""
318msgstr ""
323
319
324−#: qml/Shell.qml:441
320+#: qml/Shell.qml:440
325msgid "Sorry, incorrect passphrase."
321msgid "Sorry, incorrect passphrase."
326msgstr ""
322msgstr ""
327
323
328−#: qml/Shell.qml:442
324+#: qml/Shell.qml:441
329msgid "Sorry, incorrect passcode."
325msgid "Sorry, incorrect passcode."
330msgstr ""
326msgstr ""
331
327
332−#: qml/Shell.qml:443
328+#: qml/Shell.qml:442
333msgid "This will be your last attempt."
329msgid "This will be your last attempt."
334msgstr ""
330msgstr ""
335
331
336−#: qml/Shell.qml:445
332+#: qml/Shell.qml:444
337msgid ""
333msgid ""
338"If passphrase is entered incorrectly, your phone will conduct a factory "
334"If passphrase is entered incorrectly, your phone will conduct a factory "
339"reset and all personal data will be deleted."
335"reset and all personal data will be deleted."
340msgstr ""
336msgstr ""
341
337
342−#: qml/Shell.qml:446
338+#: qml/Shell.qml:445
343msgid ""
339msgid ""
344"If passcode is entered incorrectly, your phone will conduct a factory reset "
340"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"and all personal data will be deleted."
341"and all personal data will be deleted."
po/mr.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-01-14 19:54+0000\n"
11"PO-Revision-Date: 2014-01-14 19:54+0000\n"
12"Last-Translator: Rohan Deshmukh <Unknown>\n"
12"Last-Translator: Rohan Deshmukh <Unknown>\n"
13"Language-Team: Marathi <mr@li.org>\n"
13"Language-Team: Marathi <mr@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr ""
178msgstr ""
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/ms.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-01-17 09:05+0000\n"
11"PO-Revision-Date: 2014-01-17 09:05+0000\n"
12"Last-Translator: abuyop <Unknown>\n"
12"Last-Translator: abuyop <Unknown>\n"
13"Language-Team: Malay <ms@li.org>\n"
13"Language-Team: Malay <ms@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -176,20 +176,24 @@ msgstr "Lihat kurang"
176msgid "See all"
176msgid "See all"
177msgstr "Lihat semua"
177msgstr "Lihat semua"
178
178
179−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
179+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
180#: qml/Panel/SearchIndicator.qml:27
180#: qml/Panel/SearchIndicator.qml:27
181msgid "Search"
181msgid "Search"
182msgstr "Gelintar"
182msgstr "Gelintar"
183
183
184−#: qml/Dash/PageHeader.qml:268
184+#: qml/Dash/PageHeader.qml:260
185+msgid "Store"
186+msgstr "Kedai"
187+
188+#: qml/Dash/PageHeader.qml:277
185msgid "Settings"
189msgid "Settings"
186msgstr "Tetapan"
190msgstr "Tetapan"
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Remove from Favorites"
193msgid "Remove from Favorites"
190msgstr "Buang dari Kegemaran"
194msgstr "Buang dari Kegemaran"
191
195
192−#: qml/Dash/PageHeader.qml:275
196+#: qml/Dash/PageHeader.qml:284
193msgid "Add to Favorites"
197msgid "Add to Favorites"
194msgstr "Tambah ke Kegemaran"
198msgstr "Tambah ke Kegemaran"
195
199
@@ -221,31 +225,23 @@ msgstr "Tarik untuk segar semula..."
221msgid "Release to refresh…"
225msgid "Release to refresh…"
222msgstr "Lepas untuk segar semula..."
226msgstr "Lepas untuk segar semula..."
223
227
224−#: qml/Dash/ScopesOverview.qml:215
228+#: qml/Dash/ScopesList.qml:63
225−msgid "Manage Scopes"
229+msgid "Manage"
226−msgstr "Urus Skop"
230+msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:437
229−msgid "Done"
230−msgstr "Selesai"
231−
232−#: qml/Dash/ScopesOverview.qml:463
233−msgid "Store"
234−msgstr "Kedai"
235
231
236−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:105
237−msgid "Favorites"
233+msgid "Home"
238−msgstr "Kegemaran"
234+msgstr ""
239
235
240−#: qml/Dash/ScopesOverviewTab.qml:54
236+#: qml/Dash/ScopesList.qml:106
241−msgid "All"
237+msgid "Also installed"
242−msgstr "Semua"
238+msgstr ""
243
239
244#: qml/Greeter/Greeter.qml:174
240#: qml/Greeter/Greeter.qml:174
245msgid "Unlock"
241msgid "Unlock"
246msgstr "Buka"
242msgstr "Buka"
247
243
248−#: qml/Notifications/NotificationMenuItemFactory.qml:116
244+#: qml/Notifications/NotificationMenuItemFactory.qml:128
249msgid "Show password"
245msgid "Show password"
250msgstr "Tunjuk kata laluan"
246msgstr "Tunjuk kata laluan"
251
247
@@ -293,49 +289,49 @@ msgstr "Buka SIM"
293msgid "Roaming"
289msgid "Roaming"
294msgstr "Perayauan"
290msgstr "Perayauan"
295
291
296−#: qml/Shell.qml:391
292+#: qml/Shell.qml:390
297msgid "Enter passphrase"
293msgid "Enter passphrase"
298msgstr "Masukkan frasa laluan"
294msgstr "Masukkan frasa laluan"
299
295
300−#: qml/Shell.qml:392
296+#: qml/Shell.qml:391
301msgid "Sorry, incorrect passphrase"
297msgid "Sorry, incorrect passphrase"
302msgstr "Maaf, frasa laluan salah"
298msgstr "Maaf, frasa laluan salah"
303
299
304−#: qml/Shell.qml:393
300+#: qml/Shell.qml:392
305msgid "Please re-enter"
301msgid "Please re-enter"
306msgstr "Sila masuk-semula"
302msgstr "Sila masuk-semula"
307
303
308−#: qml/Shell.qml:395
304+#: qml/Shell.qml:394
309msgid "Enter passcode"
305msgid "Enter passcode"
310msgstr "Masukkan kod laluan"
306msgstr "Masukkan kod laluan"
311
307
312−#: qml/Shell.qml:396
308+#: qml/Shell.qml:395
313msgid "Sorry, incorrect passcode"
309msgid "Sorry, incorrect passcode"
314msgstr "Maaf, kod laluan salah"
310msgstr "Maaf, kod laluan salah"
315
311
316−#: qml/Shell.qml:399
312+#: qml/Shell.qml:398
317#, qt-format
313#, qt-format
318msgid "Enter %1"
314msgid "Enter %1"
319msgstr "Masuk %1"
315msgstr "Masuk %1"
320
316
321−#: qml/Shell.qml:400
317+#: qml/Shell.qml:399
322#, qt-format
318#, qt-format
323msgid "Sorry, incorrect %1"
319msgid "Sorry, incorrect %1"
324msgstr "Maaf, %1 salah"
320msgstr "Maaf, %1 salah"
325
321
326−#: qml/Shell.qml:441
322+#: qml/Shell.qml:440
327msgid "Sorry, incorrect passphrase."
323msgid "Sorry, incorrect passphrase."
328msgstr "Maaf, frasa laluan salah."
324msgstr "Maaf, frasa laluan salah."
329
325
330−#: qml/Shell.qml:442
326+#: qml/Shell.qml:441
331msgid "Sorry, incorrect passcode."
327msgid "Sorry, incorrect passcode."
332msgstr "Maaf, kod laluan salah."
328msgstr "Maaf, kod laluan salah."
333
329
334−#: qml/Shell.qml:443
330+#: qml/Shell.qml:442
335msgid "This will be your last attempt."
331msgid "This will be your last attempt."
336msgstr "Ini merupakan percubaan terakhir anda."
332msgstr "Ini merupakan percubaan terakhir anda."
337
333
338−#: qml/Shell.qml:445
334+#: qml/Shell.qml:444
339msgid ""
335msgid ""
340"If passphrase is entered incorrectly, your phone will conduct a factory "
336"If passphrase is entered incorrectly, your phone will conduct a factory "
341"reset and all personal data will be deleted."
337"reset and all personal data will be deleted."
@@ -343,7 +339,7 @@ msgstr ""
343"Jika frasa laluan masih salah, telefon anda akan membuat tetapan semula "
339"Jika frasa laluan masih salah, telefon anda akan membuat tetapan semula "
344"kilang dan semua data peribadi anda akan dipadam."
340"kilang dan semua data peribadi anda akan dipadam."
345
341
346−#: qml/Shell.qml:446
342+#: qml/Shell.qml:445
347msgid ""
343msgid ""
348"If passcode is entered incorrectly, your phone will conduct a factory reset "
344"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"and all personal data will be deleted."
345"and all personal data will be deleted."
@@ -365,3 +361,15 @@ msgstr ""
365
361
366#~ msgid "Confirm"
362#~ msgid "Confirm"
367#~ msgstr "Sahkan"
363#~ msgstr "Sahkan"
364+
365+#~ msgid "All"
366+#~ msgstr "Semua"
367+
368+#~ msgid "Favorites"
369+#~ msgstr "Kegemaran"
370+
371+#~ msgid "Done"
372+#~ msgstr "Selesai"
373+
374+#~ msgid "Manage Scopes"
375+#~ msgstr "Urus Skop"
po/my.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-12-12 11:12+0000\n"
11"PO-Revision-Date: 2013-12-12 11:12+0000\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
13"Language-Team: Burmese <my@li.org>\n"
13"Language-Team: Burmese <my@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "ရှာဖွေ"
178msgstr "ရှာဖွေ"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr "စကားဝှက်ကိုပြ"
242msgstr "စကားဝှက်ကိုပြ"
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/nb.po+52−44
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-12 19:57+0000\n"
11"PO-Revision-Date: 2014-11-12 19:57+0000\n"
12"Last-Translator: Ari Börde Kröyer <Unknown>\n"
12"Last-Translator: Ari Börde Kröyer <Unknown>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-13 06:37+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17241)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -178,20 +178,24 @@ msgstr "Vis mindre"
178msgid "See all"
178msgid "See all"
179msgstr "Vis alt"
179msgstr "Vis alt"
180
180
181−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
181+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
182#: qml/Panel/SearchIndicator.qml:27
182#: qml/Panel/SearchIndicator.qml:27
183msgid "Search"
183msgid "Search"
184msgstr "Søk"
184msgstr "Søk"
185
185
186−#: qml/Dash/PageHeader.qml:268
186+#: qml/Dash/PageHeader.qml:260
187+msgid "Store"
188+msgstr "Butikk"
189+
190+#: qml/Dash/PageHeader.qml:277
187msgid "Settings"
191msgid "Settings"
188msgstr "Innstillinger"
192msgstr "Innstillinger"
189
193
190−#: qml/Dash/PageHeader.qml:275
194+#: qml/Dash/PageHeader.qml:284
191msgid "Remove from Favorites"
195msgid "Remove from Favorites"
192msgstr "Fjern fra favoritter"
196msgstr "Fjern fra favoritter"
193
197
194−#: qml/Dash/PageHeader.qml:275
198+#: qml/Dash/PageHeader.qml:284
195msgid "Add to Favorites"
199msgid "Add to Favorites"
196msgstr "Legg til i favoritter"
200msgstr "Legg til i favoritter"
197
201
@@ -223,31 +227,23 @@ msgstr "Dra for å oppdatere …"
223msgid "Release to refresh…"
227msgid "Release to refresh…"
224msgstr "Slipp for å oppdatere …"
228msgstr "Slipp for å oppdatere …"
225
229
226−#: qml/Dash/ScopesOverview.qml:215
230+#: qml/Dash/ScopesList.qml:63
227−msgid "Manage Scopes"
231+msgid "Manage"
228−msgstr "Håndter virkefelt"
232+msgstr ""
229−
230−#: qml/Dash/ScopesOverview.qml:437
231−msgid "Done"
232−msgstr "Ferdig"
233−
234−#: qml/Dash/ScopesOverview.qml:463
235−msgid "Store"
236−msgstr "Butikk"
237
233
238−#: qml/Dash/ScopesOverviewTab.qml:36
234+#: qml/Dash/ScopesList.qml:105
239−msgid "Favorites"
235+msgid "Home"
240−msgstr "Favoritter"
236+msgstr ""
241
237
242−#: qml/Dash/ScopesOverviewTab.qml:54
238+#: qml/Dash/ScopesList.qml:106
243−msgid "All"
239+msgid "Also installed"
244−msgstr "Alt"
240+msgstr ""
245
241
246#: qml/Greeter/Greeter.qml:174
242#: qml/Greeter/Greeter.qml:174
247msgid "Unlock"
243msgid "Unlock"
248msgstr "Lås opp"
244msgstr "Lås opp"
249
245
250−#: qml/Notifications/NotificationMenuItemFactory.qml:116
246+#: qml/Notifications/NotificationMenuItemFactory.qml:128
251msgid "Show password"
247msgid "Show password"
252msgstr "Vis passord"
248msgstr "Vis passord"
253
249
@@ -259,31 +255,31 @@ msgstr "Trykk for å gå tilbake til anrop …"
259msgid "Conference"
255msgid "Conference"
260msgstr "Konferanse"
256msgstr "Konferanse"
261
257
262−#: qml/Panel/Indicators/MenuItemFactory.qml:615
258+#: qml/Panel/Indicators/MenuItemFactory.qml:643
263msgid "Nothing is playing"
259msgid "Nothing is playing"
264msgstr "Ingenting spilles nå"
260msgstr "Ingenting spilles nå"
265
261
266−#: qml/Panel/Indicators/MenuItemFactory.qml:763
262+#: qml/Panel/Indicators/MenuItemFactory.qml:791
267msgid "In queue…"
263msgid "In queue…"
268msgstr "I kø …"
264msgstr "I kø …"
269
265
270−#: qml/Panel/Indicators/MenuItemFactory.qml:767
266+#: qml/Panel/Indicators/MenuItemFactory.qml:795
271msgid "Downloading"
267msgid "Downloading"
272msgstr "Laster ned"
268msgstr "Laster ned"
273
269
274−#: qml/Panel/Indicators/MenuItemFactory.qml:769
270+#: qml/Panel/Indicators/MenuItemFactory.qml:797
275msgid "Paused, tap to resume"
271msgid "Paused, tap to resume"
276msgstr "Satt på pause (trykk for å fortsette)"
272msgstr "Satt på pause (trykk for å fortsette)"
277
273
278−#: qml/Panel/Indicators/MenuItemFactory.qml:771
274+#: qml/Panel/Indicators/MenuItemFactory.qml:799
279msgid "Canceled"
275msgid "Canceled"
280msgstr "Avbrutt"
276msgstr "Avbrutt"
281
277
282−#: qml/Panel/Indicators/MenuItemFactory.qml:773
278+#: qml/Panel/Indicators/MenuItemFactory.qml:801
283msgid "Finished"
279msgid "Finished"
284msgstr "Ferdig"
280msgstr "Ferdig"
285
281
286−#: qml/Panel/Indicators/MenuItemFactory.qml:775
282+#: qml/Panel/Indicators/MenuItemFactory.qml:803
287msgid "Failed, tap to retry"
283msgid "Failed, tap to retry"
288msgstr "Feilet. Trykk for å prøve på nytt"
284msgstr "Feilet. Trykk for å prøve på nytt"
289
285
@@ -295,49 +291,49 @@ msgstr "Lås opp SIM"
295msgid "Roaming"
291msgid "Roaming"
296msgstr "Fremmednett"
292msgstr "Fremmednett"
297
293
298−#: qml/Shell.qml:381
294+#: qml/Shell.qml:390
299msgid "Enter passphrase"
295msgid "Enter passphrase"
300msgstr "Skriv inn passordfrase"
296msgstr "Skriv inn passordfrase"
301
297
302−#: qml/Shell.qml:382
298+#: qml/Shell.qml:391
303msgid "Sorry, incorrect passphrase"
299msgid "Sorry, incorrect passphrase"
304msgstr "Feil passordfrase"
300msgstr "Feil passordfrase"
305
301
306−#: qml/Shell.qml:383
302+#: qml/Shell.qml:392
307msgid "Please re-enter"
303msgid "Please re-enter"
308msgstr "Skriv inn på nytt"
304msgstr "Skriv inn på nytt"
309
305
310−#: qml/Shell.qml:385
306+#: qml/Shell.qml:394
311msgid "Enter passcode"
307msgid "Enter passcode"
312msgstr "Tast kode"
308msgstr "Tast kode"
313
309
314−#: qml/Shell.qml:386
310+#: qml/Shell.qml:395
315msgid "Sorry, incorrect passcode"
311msgid "Sorry, incorrect passcode"
316msgstr "Feil kode"
312msgstr "Feil kode"
317
313
318−#: qml/Shell.qml:389
314+#: qml/Shell.qml:398
319#, qt-format
315#, qt-format
320msgid "Enter %1"
316msgid "Enter %1"
321msgstr "Skriv inn %1"
317msgstr "Skriv inn %1"
322
318
323−#: qml/Shell.qml:390
319+#: qml/Shell.qml:399
324#, qt-format
320#, qt-format
325msgid "Sorry, incorrect %1"
321msgid "Sorry, incorrect %1"
326msgstr "Feil %1"
322msgstr "Feil %1"
327
323
328−#: qml/Shell.qml:431
324+#: qml/Shell.qml:440
329msgid "Sorry, incorrect passphrase."
325msgid "Sorry, incorrect passphrase."
330msgstr "Feil passordfrase."
326msgstr "Feil passordfrase."
331
327
332−#: qml/Shell.qml:432
328+#: qml/Shell.qml:441
333msgid "Sorry, incorrect passcode."
329msgid "Sorry, incorrect passcode."
334msgstr "Feil kode."
330msgstr "Feil kode."
335
331
336−#: qml/Shell.qml:433
332+#: qml/Shell.qml:442
337msgid "This will be your last attempt."
333msgid "This will be your last attempt."
338msgstr "Dette er ditt siste forsøk."
334msgstr "Dette er ditt siste forsøk."
339
335
340−#: qml/Shell.qml:435
336+#: qml/Shell.qml:444
341msgid ""
337msgid ""
342"If passphrase is entered incorrectly, your phone will conduct a factory "
338"If passphrase is entered incorrectly, your phone will conduct a factory "
343"reset and all personal data will be deleted."
339"reset and all personal data will be deleted."
@@ -345,7 +341,7 @@ msgstr ""
345"Hvis du skriver feil passordfrase en gang til, tilbakestilles telefonen til "
341"Hvis du skriver feil passordfrase en gang til, tilbakestilles telefonen til "
346"fabrikkinnstillinger, og alle personlige data slettes."
342"fabrikkinnstillinger, og alle personlige data slettes."
347
343
348−#: qml/Shell.qml:436
344+#: qml/Shell.qml:445
349msgid ""
345msgid ""
350"If passcode is entered incorrectly, your phone will conduct a factory reset "
346"If passcode is entered incorrectly, your phone will conduct a factory reset "
351"and all personal data will be deleted."
347"and all personal data will be deleted."
@@ -367,3 +363,15 @@ msgstr ""
367
363
368#~ msgid "Speaking..."
364#~ msgid "Speaking..."
369#~ msgstr "Snakker …"
365#~ msgstr "Snakker …"
366+
367+#~ msgid "All"
368+#~ msgstr "Alt"
369+
370+#~ msgid "Favorites"
371+#~ msgstr "Favoritter"
372+
373+#~ msgid "Done"
374+#~ msgstr "Ferdig"
375+
376+#~ msgid "Manage Scopes"
377+#~ msgstr "Håndter virkefelt"
po/nl.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-05 08:19+0000\n"
11"PO-Revision-Date: 2014-11-05 08:19+0000\n"
12"Last-Translator: rob <linuxned@gmail.com>\n"
12"Last-Translator: rob <linuxned@gmail.com>\n"
13"Language-Team: Dutch <nl@li.org>\n"
13"Language-Team: Dutch <nl@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -180,20 +180,24 @@ msgstr "Minder zien"
180msgid "See all"
180msgid "See all"
181msgstr "Alles zien"
181msgstr "Alles zien"
182
182
183−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
183+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
184#: qml/Panel/SearchIndicator.qml:27
184#: qml/Panel/SearchIndicator.qml:27
185msgid "Search"
185msgid "Search"
186msgstr "Zoeken"
186msgstr "Zoeken"
187
187
188−#: qml/Dash/PageHeader.qml:268
188+#: qml/Dash/PageHeader.qml:260
189+msgid "Store"
190+msgstr "Winkel"
191+
192+#: qml/Dash/PageHeader.qml:277
189msgid "Settings"
193msgid "Settings"
190msgstr "Instellingen"
194msgstr "Instellingen"
191
195
192−#: qml/Dash/PageHeader.qml:275
196+#: qml/Dash/PageHeader.qml:284
193msgid "Remove from Favorites"
197msgid "Remove from Favorites"
194msgstr "Verwijderen uit favorieten"
198msgstr "Verwijderen uit favorieten"
195
199
196−#: qml/Dash/PageHeader.qml:275
200+#: qml/Dash/PageHeader.qml:284
197msgid "Add to Favorites"
201msgid "Add to Favorites"
198msgstr "Toevoegen aan favorieten"
202msgstr "Toevoegen aan favorieten"
199
203
@@ -225,31 +229,23 @@ msgstr "Trekken om te verversen…"
225msgid "Release to refresh…"
229msgid "Release to refresh…"
226msgstr "Loslaten om te verversen…"
230msgstr "Loslaten om te verversen…"
227
231
228−#: qml/Dash/ScopesOverview.qml:215
232+#: qml/Dash/ScopesList.qml:63
229−msgid "Manage Scopes"
233+msgid "Manage"
230−msgstr "Scopes-beheer"
234+msgstr ""
231−
232−#: qml/Dash/ScopesOverview.qml:437
233−msgid "Done"
234−msgstr "Klaar"
235−
236−#: qml/Dash/ScopesOverview.qml:463
237−msgid "Store"
238−msgstr "Winkel"
239
235
240−#: qml/Dash/ScopesOverviewTab.qml:36
236+#: qml/Dash/ScopesList.qml:105
241−msgid "Favorites"
237+msgid "Home"
242−msgstr "Favorieten"
238+msgstr ""
243
239
244−#: qml/Dash/ScopesOverviewTab.qml:54
240+#: qml/Dash/ScopesList.qml:106
245−msgid "All"
241+msgid "Also installed"
246−msgstr "Alles"
242+msgstr ""
247
243
248#: qml/Greeter/Greeter.qml:174
244#: qml/Greeter/Greeter.qml:174
249msgid "Unlock"
245msgid "Unlock"
250msgstr "Ontgrendelen"
246msgstr "Ontgrendelen"
251
247
252−#: qml/Notifications/NotificationMenuItemFactory.qml:116
248+#: qml/Notifications/NotificationMenuItemFactory.qml:128
253msgid "Show password"
249msgid "Show password"
254msgstr "Wachtwoord tonen"
250msgstr "Wachtwoord tonen"
255
251
@@ -297,49 +293,49 @@ msgstr "Simkaart deblokkeren"
297msgid "Roaming"
293msgid "Roaming"
298msgstr "Roaming"
294msgstr "Roaming"
299
295
300−#: qml/Shell.qml:391
296+#: qml/Shell.qml:390
301msgid "Enter passphrase"
297msgid "Enter passphrase"
302msgstr "Voer wachtwoordzin in"
298msgstr "Voer wachtwoordzin in"
303
299
304−#: qml/Shell.qml:392
300+#: qml/Shell.qml:391
305msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
306msgstr "Sorry, onjuiste wachtwoordzin"
302msgstr "Sorry, onjuiste wachtwoordzin"
307
303
308−#: qml/Shell.qml:393
304+#: qml/Shell.qml:392
309msgid "Please re-enter"
305msgid "Please re-enter"
310msgstr "Herhaal deze a.u.b."
306msgstr "Herhaal deze a.u.b."
311
307
312−#: qml/Shell.qml:395
308+#: qml/Shell.qml:394
313msgid "Enter passcode"
309msgid "Enter passcode"
314msgstr "Voer toegangscode in"
310msgstr "Voer toegangscode in"
315
311
316−#: qml/Shell.qml:396
312+#: qml/Shell.qml:395
317msgid "Sorry, incorrect passcode"
313msgid "Sorry, incorrect passcode"
318msgstr "Sorry, onjuiste toegangscode"
314msgstr "Sorry, onjuiste toegangscode"
319
315
320−#: qml/Shell.qml:399
316+#: qml/Shell.qml:398
321#, qt-format
317#, qt-format
322msgid "Enter %1"
318msgid "Enter %1"
323msgstr "Voer %1 in"
319msgstr "Voer %1 in"
324
320
325−#: qml/Shell.qml:400
321+#: qml/Shell.qml:399
326#, qt-format
322#, qt-format
327msgid "Sorry, incorrect %1"
323msgid "Sorry, incorrect %1"
328msgstr "Sorry, onjuiste %1"
324msgstr "Sorry, onjuiste %1"
329
325
330−#: qml/Shell.qml:441
326+#: qml/Shell.qml:440
331msgid "Sorry, incorrect passphrase."
327msgid "Sorry, incorrect passphrase."
332msgstr "Sorry, onjuiste wachtwoordzin."
328msgstr "Sorry, onjuiste wachtwoordzin."
333
329
334−#: qml/Shell.qml:442
330+#: qml/Shell.qml:441
335msgid "Sorry, incorrect passcode."
331msgid "Sorry, incorrect passcode."
336msgstr "Sorry, onjuiste toegangscode."
332msgstr "Sorry, onjuiste toegangscode."
337
333
338−#: qml/Shell.qml:443
334+#: qml/Shell.qml:442
339msgid "This will be your last attempt."
335msgid "This will be your last attempt."
340msgstr "Dit zal uw laatste poging worden."
336msgstr "Dit zal uw laatste poging worden."
341
337
342−#: qml/Shell.qml:445
338+#: qml/Shell.qml:444
343msgid ""
339msgid ""
344"If passphrase is entered incorrectly, your phone will conduct a factory "
340"If passphrase is entered incorrectly, your phone will conduct a factory "
345"reset and all personal data will be deleted."
341"reset and all personal data will be deleted."
@@ -347,7 +343,7 @@ msgstr ""
347"Wanneer de wachtwoordzin nu opnieuw onjuist wordt ingevoerd, zal uw telefoon "
343"Wanneer de wachtwoordzin nu opnieuw onjuist wordt ingevoerd, zal uw telefoon "
348"teruggaan naar de fabrieksinstellingen en zal al uw eigen data verloren gaan."
344"teruggaan naar de fabrieksinstellingen en zal al uw eigen data verloren gaan."
349
345
350−#: qml/Shell.qml:446
346+#: qml/Shell.qml:445
351msgid ""
347msgid ""
352"If passcode is entered incorrectly, your phone will conduct a factory reset "
348"If passcode is entered incorrectly, your phone will conduct a factory reset "
353"and all personal data will be deleted."
349"and all personal data will be deleted."
@@ -369,3 +365,15 @@ msgstr ""
369
365
370#~ msgid "Speaking..."
366#~ msgid "Speaking..."
371#~ msgstr "Inspreken…"
367#~ msgstr "Inspreken…"
368+
369+#~ msgid "All"
370+#~ msgstr "Alles"
371+
372+#~ msgid "Favorites"
373+#~ msgstr "Favorieten"
374+
375+#~ msgid "Done"
376+#~ msgstr "Klaar"
377+
378+#~ msgid "Manage Scopes"
379+#~ msgstr "Scopes-beheer"
po/pa.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-10-16 03:04+0000\n"
11"PO-Revision-Date: 2014-10-16 03:04+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Punjabi <pa@li.org>\n"
13"Language-Team: Punjabi <pa@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -174,20 +174,24 @@ msgstr ""
174msgid "See all"
174msgid "See all"
175msgstr ""
175msgstr ""
176
176
177−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
177+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
178#: qml/Panel/SearchIndicator.qml:27
178#: qml/Panel/SearchIndicator.qml:27
179msgid "Search"
179msgid "Search"
180msgstr ""
180msgstr ""
181
181
182−#: qml/Dash/PageHeader.qml:268
182+#: qml/Dash/PageHeader.qml:260
183+msgid "Store"
184+msgstr ""
185+
186+#: qml/Dash/PageHeader.qml:277
183msgid "Settings"
187msgid "Settings"
184msgstr ""
188msgstr ""
185
189
186−#: qml/Dash/PageHeader.qml:275
190+#: qml/Dash/PageHeader.qml:284
187msgid "Remove from Favorites"
191msgid "Remove from Favorites"
188msgstr ""
192msgstr ""
189
193
190−#: qml/Dash/PageHeader.qml:275
194+#: qml/Dash/PageHeader.qml:284
191msgid "Add to Favorites"
195msgid "Add to Favorites"
192msgstr ""
196msgstr ""
193
197
@@ -219,31 +223,23 @@ msgstr ""
219msgid "Release to refresh…"
223msgid "Release to refresh…"
220msgstr ""
224msgstr ""
221
225
222−#: qml/Dash/ScopesOverview.qml:215
226+#: qml/Dash/ScopesList.qml:63
223−msgid "Manage Scopes"
227+msgid "Manage"
224msgstr ""
228msgstr ""
225
229
226−#: qml/Dash/ScopesOverview.qml:437
230+#: qml/Dash/ScopesList.qml:105
227−msgid "Done"
228−msgstr ""
229−
230−#: qml/Dash/ScopesOverview.qml:463
231−msgid "Store"
231+msgid "Home"
232msgstr ""
232msgstr ""
233
233
234−#: qml/Dash/ScopesOverviewTab.qml:36
234+#: qml/Dash/ScopesList.qml:106
235−msgid "Favorites"
235+msgid "Also installed"
236−msgstr ""
237−
238−#: qml/Dash/ScopesOverviewTab.qml:54
239−msgid "All"
240msgstr ""
236msgstr ""
241
237
242#: qml/Greeter/Greeter.qml:174
238#: qml/Greeter/Greeter.qml:174
243msgid "Unlock"
239msgid "Unlock"
244msgstr ""
240msgstr ""
245
241
246−#: qml/Notifications/NotificationMenuItemFactory.qml:116
242+#: qml/Notifications/NotificationMenuItemFactory.qml:128
247msgid "Show password"
243msgid "Show password"
248msgstr ""
244msgstr ""
249
245
@@ -291,55 +287,55 @@ msgstr ""
291msgid "Roaming"
287msgid "Roaming"
292msgstr ""
288msgstr ""
293
289
294−#: qml/Shell.qml:391
290+#: qml/Shell.qml:390
295msgid "Enter passphrase"
291msgid "Enter passphrase"
296msgstr ""
292msgstr ""
297
293
298−#: qml/Shell.qml:392
294+#: qml/Shell.qml:391
299msgid "Sorry, incorrect passphrase"
295msgid "Sorry, incorrect passphrase"
300msgstr ""
296msgstr ""
301
297
302−#: qml/Shell.qml:393
298+#: qml/Shell.qml:392
303msgid "Please re-enter"
299msgid "Please re-enter"
304msgstr ""
300msgstr ""
305
301
306−#: qml/Shell.qml:395
302+#: qml/Shell.qml:394
307msgid "Enter passcode"
303msgid "Enter passcode"
308msgstr ""
304msgstr ""
309
305
310−#: qml/Shell.qml:396
306+#: qml/Shell.qml:395
311msgid "Sorry, incorrect passcode"
307msgid "Sorry, incorrect passcode"
312msgstr ""
308msgstr ""
313
309
314−#: qml/Shell.qml:399
310+#: qml/Shell.qml:398
315#, qt-format
311#, qt-format
316msgid "Enter %1"
312msgid "Enter %1"
317msgstr ""
313msgstr ""
318
314
319−#: qml/Shell.qml:400
315+#: qml/Shell.qml:399
320#, qt-format
316#, qt-format
321msgid "Sorry, incorrect %1"
317msgid "Sorry, incorrect %1"
322msgstr ""
318msgstr ""
323
319
324−#: qml/Shell.qml:441
320+#: qml/Shell.qml:440
325msgid "Sorry, incorrect passphrase."
321msgid "Sorry, incorrect passphrase."
326msgstr ""
322msgstr ""
327
323
328−#: qml/Shell.qml:442
324+#: qml/Shell.qml:441
329msgid "Sorry, incorrect passcode."
325msgid "Sorry, incorrect passcode."
330msgstr ""
326msgstr ""
331
327
332−#: qml/Shell.qml:443
328+#: qml/Shell.qml:442
333msgid "This will be your last attempt."
329msgid "This will be your last attempt."
334msgstr ""
330msgstr ""
335
331
336−#: qml/Shell.qml:445
332+#: qml/Shell.qml:444
337msgid ""
333msgid ""
338"If passphrase is entered incorrectly, your phone will conduct a factory "
334"If passphrase is entered incorrectly, your phone will conduct a factory "
339"reset and all personal data will be deleted."
335"reset and all personal data will be deleted."
340msgstr ""
336msgstr ""
341
337
342−#: qml/Shell.qml:446
338+#: qml/Shell.qml:445
343msgid ""
339msgid ""
344"If passcode is entered incorrectly, your phone will conduct a factory reset "
340"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"and all personal data will be deleted."
341"and all personal data will be deleted."
po/pl.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-08-18 20:25+0000\n"
11"PO-Revision-Date: 2014-08-18 20:25+0000\n"
12"Last-Translator: Paweł Stroka <pawstr@gmail.com>\n"
12"Last-Translator: Paweł Stroka <pawstr@gmail.com>\n"
13"Language-Team: Polish <pl@li.org>\n"
13"Language-Team: Polish <pl@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
18"|| n%100>=20) ? 1 : 2;\n"
18"|| n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -177,20 +177,24 @@ msgstr "Zobacz mniej"
177msgid "See all"
177msgid "See all"
178msgstr "Zobacz wszystko"
178msgstr "Zobacz wszystko"
179
179
180−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
180+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
181#: qml/Panel/SearchIndicator.qml:27
181#: qml/Panel/SearchIndicator.qml:27
182msgid "Search"
182msgid "Search"
183msgstr "Szukaj"
183msgstr "Szukaj"
184
184
185−#: qml/Dash/PageHeader.qml:268
185+#: qml/Dash/PageHeader.qml:260
186+msgid "Store"
187+msgstr ""
188+
189+#: qml/Dash/PageHeader.qml:277
186msgid "Settings"
190msgid "Settings"
187msgstr ""
191msgstr ""
188
192
189−#: qml/Dash/PageHeader.qml:275
193+#: qml/Dash/PageHeader.qml:284
190msgid "Remove from Favorites"
194msgid "Remove from Favorites"
191msgstr ""
195msgstr ""
192
196
193−#: qml/Dash/PageHeader.qml:275
197+#: qml/Dash/PageHeader.qml:284
194msgid "Add to Favorites"
198msgid "Add to Favorites"
195msgstr ""
199msgstr ""
196
200
@@ -222,31 +226,23 @@ msgstr ""
222msgid "Release to refresh…"
226msgid "Release to refresh…"
223msgstr ""
227msgstr ""
224
228
225−#: qml/Dash/ScopesOverview.qml:215
229+#: qml/Dash/ScopesList.qml:63
226−msgid "Manage Scopes"
230+msgid "Manage"
227msgstr ""
231msgstr ""
228
232
229−#: qml/Dash/ScopesOverview.qml:437
233+#: qml/Dash/ScopesList.qml:105
230−msgid "Done"
231−msgstr ""
232−
233−#: qml/Dash/ScopesOverview.qml:463
234−msgid "Store"
234+msgid "Home"
235msgstr ""
235msgstr ""
236
236
237−#: qml/Dash/ScopesOverviewTab.qml:36
237+#: qml/Dash/ScopesList.qml:106
238−msgid "Favorites"
238+msgid "Also installed"
239−msgstr ""
240−
241−#: qml/Dash/ScopesOverviewTab.qml:54
242−msgid "All"
243msgstr ""
239msgstr ""
244
240
245#: qml/Greeter/Greeter.qml:174
241#: qml/Greeter/Greeter.qml:174
246msgid "Unlock"
242msgid "Unlock"
247msgstr ""
243msgstr ""
248
244
249−#: qml/Notifications/NotificationMenuItemFactory.qml:116
245+#: qml/Notifications/NotificationMenuItemFactory.qml:128
250msgid "Show password"
246msgid "Show password"
251msgstr "Wyświetl hasło"
247msgstr "Wyświetl hasło"
252
248
@@ -294,55 +290,55 @@ msgstr ""
294msgid "Roaming"
290msgid "Roaming"
295msgstr ""
291msgstr ""
296
292
297−#: qml/Shell.qml:391
293+#: qml/Shell.qml:390
298msgid "Enter passphrase"
294msgid "Enter passphrase"
299msgstr ""
295msgstr ""
300
296
301−#: qml/Shell.qml:392
297+#: qml/Shell.qml:391
302msgid "Sorry, incorrect passphrase"
298msgid "Sorry, incorrect passphrase"
303msgstr ""
299msgstr ""
304
300
305−#: qml/Shell.qml:393
301+#: qml/Shell.qml:392
306msgid "Please re-enter"
302msgid "Please re-enter"
307msgstr ""
303msgstr ""
308
304
309−#: qml/Shell.qml:395
305+#: qml/Shell.qml:394
310msgid "Enter passcode"
306msgid "Enter passcode"
311msgstr ""
307msgstr ""
312
308
313−#: qml/Shell.qml:396
309+#: qml/Shell.qml:395
314msgid "Sorry, incorrect passcode"
310msgid "Sorry, incorrect passcode"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:399
313+#: qml/Shell.qml:398
318#, qt-format
314#, qt-format
319msgid "Enter %1"
315msgid "Enter %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:400
318+#: qml/Shell.qml:399
323#, qt-format
319#, qt-format
324msgid "Sorry, incorrect %1"
320msgid "Sorry, incorrect %1"
325msgstr ""
321msgstr ""
326
322
327−#: qml/Shell.qml:441
323+#: qml/Shell.qml:440
328msgid "Sorry, incorrect passphrase."
324msgid "Sorry, incorrect passphrase."
329msgstr "Niestety, błędne hasło"
325msgstr "Niestety, błędne hasło"
330
326
331−#: qml/Shell.qml:442
327+#: qml/Shell.qml:441
332msgid "Sorry, incorrect passcode."
328msgid "Sorry, incorrect passcode."
333msgstr "Niestety, błędny kod"
329msgstr "Niestety, błędny kod"
334
330
335−#: qml/Shell.qml:443
331+#: qml/Shell.qml:442
336msgid "This will be your last attempt."
332msgid "This will be your last attempt."
337msgstr ""
333msgstr ""
338
334
339−#: qml/Shell.qml:445
335+#: qml/Shell.qml:444
340msgid ""
336msgid ""
341"If passphrase is entered incorrectly, your phone will conduct a factory "
337"If passphrase is entered incorrectly, your phone will conduct a factory "
342"reset and all personal data will be deleted."
338"reset and all personal data will be deleted."
343msgstr ""
339msgstr ""
344
340
345−#: qml/Shell.qml:446
341+#: qml/Shell.qml:445
346msgid ""
342msgid ""
347"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
348"and all personal data will be deleted."
344"and all personal data will be deleted."
po/pt.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-06 10:25+0000\n"
11"PO-Revision-Date: 2014-11-06 10:25+0000\n"
12"Last-Translator: Ivo Xavier <ivofernandes12@gmail.com>\n"
12"Last-Translator: Ivo Xavier <ivofernandes12@gmail.com>\n"
13"Language-Team: Portuguese <pt@li.org>\n"
13"Language-Team: Portuguese <pt@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -178,20 +178,24 @@ msgstr "Ver menos"
178msgid "See all"
178msgid "See all"
179msgstr "Ver todos"
179msgstr "Ver todos"
180
180
181−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
181+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
182#: qml/Panel/SearchIndicator.qml:27
182#: qml/Panel/SearchIndicator.qml:27
183msgid "Search"
183msgid "Search"
184msgstr "Procurar"
184msgstr "Procurar"
185
185
186−#: qml/Dash/PageHeader.qml:268
186+#: qml/Dash/PageHeader.qml:260
187+msgid "Store"
188+msgstr "Loja"
189+
190+#: qml/Dash/PageHeader.qml:277
187msgid "Settings"
191msgid "Settings"
188msgstr "Definições"
192msgstr "Definições"
189
193
190−#: qml/Dash/PageHeader.qml:275
194+#: qml/Dash/PageHeader.qml:284
191msgid "Remove from Favorites"
195msgid "Remove from Favorites"
192msgstr "Remover dos favoritos"
196msgstr "Remover dos favoritos"
193
197
194−#: qml/Dash/PageHeader.qml:275
198+#: qml/Dash/PageHeader.qml:284
195msgid "Add to Favorites"
199msgid "Add to Favorites"
196msgstr "Adicionar aos favoritos"
200msgstr "Adicionar aos favoritos"
197
201
@@ -223,31 +227,23 @@ msgstr "Puxe para atualizar..."
223msgid "Release to refresh…"
227msgid "Release to refresh…"
224msgstr "Solte para atualizar..."
228msgstr "Solte para atualizar..."
225
229
226−#: qml/Dash/ScopesOverview.qml:215
230+#: qml/Dash/ScopesList.qml:63
227−msgid "Manage Scopes"
231+msgid "Manage"
228−msgstr "Gerir Scopes"
232+msgstr ""
229−
230−#: qml/Dash/ScopesOverview.qml:437
231−msgid "Done"
232−msgstr "Concluído"
233−
234−#: qml/Dash/ScopesOverview.qml:463
235−msgid "Store"
236−msgstr "Loja"
237
233
238−#: qml/Dash/ScopesOverviewTab.qml:36
234+#: qml/Dash/ScopesList.qml:105
239−msgid "Favorites"
235+msgid "Home"
240−msgstr "Favoritos"
236+msgstr ""
241
237
242−#: qml/Dash/ScopesOverviewTab.qml:54
238+#: qml/Dash/ScopesList.qml:106
243−msgid "All"
239+msgid "Also installed"
244−msgstr "Todos"
240+msgstr ""
245
241
246#: qml/Greeter/Greeter.qml:174
242#: qml/Greeter/Greeter.qml:174
247msgid "Unlock"
243msgid "Unlock"
248msgstr "Desbloquear"
244msgstr "Desbloquear"
249
245
250−#: qml/Notifications/NotificationMenuItemFactory.qml:116
246+#: qml/Notifications/NotificationMenuItemFactory.qml:128
251msgid "Show password"
247msgid "Show password"
252msgstr "Mostrar senha"
248msgstr "Mostrar senha"
253
249
@@ -295,49 +291,49 @@ msgstr "Desbloquear SIM"
295msgid "Roaming"
291msgid "Roaming"
296msgstr "Roaming"
292msgstr "Roaming"
297
293
298−#: qml/Shell.qml:391
294+#: qml/Shell.qml:390
299msgid "Enter passphrase"
295msgid "Enter passphrase"
300msgstr "Indique a frase-senha"
296msgstr "Indique a frase-senha"
301
297
302−#: qml/Shell.qml:392
298+#: qml/Shell.qml:391
303msgid "Sorry, incorrect passphrase"
299msgid "Sorry, incorrect passphrase"
304msgstr "Desculpe, frase-senha incorreta"
300msgstr "Desculpe, frase-senha incorreta"
305
301
306−#: qml/Shell.qml:393
302+#: qml/Shell.qml:392
307msgid "Please re-enter"
303msgid "Please re-enter"
308msgstr "Por favor, volte a introduzir"
304msgstr "Por favor, volte a introduzir"
309
305
310−#: qml/Shell.qml:395
306+#: qml/Shell.qml:394
311msgid "Enter passcode"
307msgid "Enter passcode"
312msgstr "Introduza senha"
308msgstr "Introduza senha"
313
309
314−#: qml/Shell.qml:396
310+#: qml/Shell.qml:395
315msgid "Sorry, incorrect passcode"
311msgid "Sorry, incorrect passcode"
316msgstr "Desculpe, senha incorreta"
312msgstr "Desculpe, senha incorreta"
317
313
318−#: qml/Shell.qml:399
314+#: qml/Shell.qml:398
319#, qt-format
315#, qt-format
320msgid "Enter %1"
316msgid "Enter %1"
321msgstr "Introduziu %1"
317msgstr "Introduziu %1"
322
318
323−#: qml/Shell.qml:400
319+#: qml/Shell.qml:399
324#, qt-format
320#, qt-format
325msgid "Sorry, incorrect %1"
321msgid "Sorry, incorrect %1"
326msgstr "Desculpe, incorreto %1"
322msgstr "Desculpe, incorreto %1"
327
323
328−#: qml/Shell.qml:441
324+#: qml/Shell.qml:440
329msgid "Sorry, incorrect passphrase."
325msgid "Sorry, incorrect passphrase."
330msgstr "Desculpe, frase de acesso incorreta."
326msgstr "Desculpe, frase de acesso incorreta."
331
327
332−#: qml/Shell.qml:442
328+#: qml/Shell.qml:441
333msgid "Sorry, incorrect passcode."
329msgid "Sorry, incorrect passcode."
334msgstr "Desculpe, senha incorreta."
330msgstr "Desculpe, senha incorreta."
335
331
336−#: qml/Shell.qml:443
332+#: qml/Shell.qml:442
337msgid "This will be your last attempt."
333msgid "This will be your last attempt."
338msgstr "Esta será a sua última tentativa."
334msgstr "Esta será a sua última tentativa."
339
335
340−#: qml/Shell.qml:445
336+#: qml/Shell.qml:444
341msgid ""
337msgid ""
342"If passphrase is entered incorrectly, your phone will conduct a factory "
338"If passphrase is entered incorrectly, your phone will conduct a factory "
343"reset and all personal data will be deleted."
339"reset and all personal data will be deleted."
@@ -345,7 +341,7 @@ msgstr ""
345"Se a frase de acesso for introduzida incorretamente, o seu telemóvel vai "
341"Se a frase de acesso for introduzida incorretamente, o seu telemóvel vai "
346"proceder ao restauro de fábrica e apagará toda a sua informação pessoal."
342"proceder ao restauro de fábrica e apagará toda a sua informação pessoal."
347
343
348−#: qml/Shell.qml:446
344+#: qml/Shell.qml:445
349msgid ""
345msgid ""
350"If passcode is entered incorrectly, your phone will conduct a factory reset "
346"If passcode is entered incorrectly, your phone will conduct a factory reset "
351"and all personal data will be deleted."
347"and all personal data will be deleted."
@@ -367,3 +363,15 @@ msgstr ""
367
363
368#~ msgid "Speak Now..."
364#~ msgid "Speak Now..."
369#~ msgstr "Fale agora..."
365#~ msgstr "Fale agora..."
366+
367+#~ msgid "All"
368+#~ msgstr "Todos"
369+
370+#~ msgid "Favorites"
371+#~ msgstr "Favoritos"
372+
373+#~ msgid "Done"
374+#~ msgstr "Concluído"
375+
376+#~ msgid "Manage Scopes"
377+#~ msgstr "Gerir Scopes"
po/pt_BR.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-09-30 17:37+0000\n"
11"PO-Revision-Date: 2014-09-30 17:37+0000\n"
12"Last-Translator: Rafael Neri <Unknown>\n"
12"Last-Translator: Rafael Neri <Unknown>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -178,20 +178,24 @@ msgstr "Ver menos"
178msgid "See all"
178msgid "See all"
179msgstr "Ver todos"
179msgstr "Ver todos"
180
180
181−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
181+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
182#: qml/Panel/SearchIndicator.qml:27
182#: qml/Panel/SearchIndicator.qml:27
183msgid "Search"
183msgid "Search"
184msgstr "Pesquisar"
184msgstr "Pesquisar"
185
185
186−#: qml/Dash/PageHeader.qml:268
186+#: qml/Dash/PageHeader.qml:260
187+msgid "Store"
188+msgstr "Loja"
189+
190+#: qml/Dash/PageHeader.qml:277
187msgid "Settings"
191msgid "Settings"
188msgstr "Configurações"
192msgstr "Configurações"
189
193
190−#: qml/Dash/PageHeader.qml:275
194+#: qml/Dash/PageHeader.qml:284
191msgid "Remove from Favorites"
195msgid "Remove from Favorites"
192msgstr "Remover dos favoritos"
196msgstr "Remover dos favoritos"
193
197
194−#: qml/Dash/PageHeader.qml:275
198+#: qml/Dash/PageHeader.qml:284
195msgid "Add to Favorites"
199msgid "Add to Favorites"
196msgstr "Adicionar aos favoritos"
200msgstr "Adicionar aos favoritos"
197
201
@@ -223,31 +227,23 @@ msgstr ""
223msgid "Release to refresh…"
227msgid "Release to refresh…"
224msgstr ""
228msgstr ""
225
229
226−#: qml/Dash/ScopesOverview.qml:215
230+#: qml/Dash/ScopesList.qml:63
227−msgid "Manage Scopes"
231+msgid "Manage"
228−msgstr "Gerenciar Plugins"
232+msgstr ""
229−
230−#: qml/Dash/ScopesOverview.qml:437
231−msgid "Done"
232−msgstr "Concluído"
233−
234−#: qml/Dash/ScopesOverview.qml:463
235−msgid "Store"
236−msgstr "Loja"
237
233
238−#: qml/Dash/ScopesOverviewTab.qml:36
234+#: qml/Dash/ScopesList.qml:105
239−msgid "Favorites"
235+msgid "Home"
240−msgstr "Favoritos"
236+msgstr ""
241
237
242−#: qml/Dash/ScopesOverviewTab.qml:54
238+#: qml/Dash/ScopesList.qml:106
243−msgid "All"
239+msgid "Also installed"
244−msgstr "Tudo"
240+msgstr ""
245
241
246#: qml/Greeter/Greeter.qml:174
242#: qml/Greeter/Greeter.qml:174
247msgid "Unlock"
243msgid "Unlock"
248msgstr ""
244msgstr ""
249
245
250−#: qml/Notifications/NotificationMenuItemFactory.qml:116
246+#: qml/Notifications/NotificationMenuItemFactory.qml:128
251msgid "Show password"
247msgid "Show password"
252msgstr "Exibir senha"
248msgstr "Exibir senha"
253
249
@@ -295,49 +291,49 @@ msgstr "Desbloquear SIM"
295msgid "Roaming"
291msgid "Roaming"
296msgstr "Roaming"
292msgstr "Roaming"
297
293
298−#: qml/Shell.qml:391
294+#: qml/Shell.qml:390
299msgid "Enter passphrase"
295msgid "Enter passphrase"
300msgstr ""
296msgstr ""
301
297
302−#: qml/Shell.qml:392
298+#: qml/Shell.qml:391
303msgid "Sorry, incorrect passphrase"
299msgid "Sorry, incorrect passphrase"
304msgstr "Desculpe, senha incorreta"
300msgstr "Desculpe, senha incorreta"
305
301
306−#: qml/Shell.qml:393
302+#: qml/Shell.qml:392
307msgid "Please re-enter"
303msgid "Please re-enter"
308msgstr ""
304msgstr ""
309
305
310−#: qml/Shell.qml:395
306+#: qml/Shell.qml:394
311msgid "Enter passcode"
307msgid "Enter passcode"
312msgstr ""
308msgstr ""
313
309
314−#: qml/Shell.qml:396
310+#: qml/Shell.qml:395
315msgid "Sorry, incorrect passcode"
311msgid "Sorry, incorrect passcode"
316msgstr "Desculpe, senha incorreta"
312msgstr "Desculpe, senha incorreta"
317
313
318−#: qml/Shell.qml:399
314+#: qml/Shell.qml:398
319#, qt-format
315#, qt-format
320msgid "Enter %1"
316msgid "Enter %1"
321msgstr ""
317msgstr ""
322
318
323−#: qml/Shell.qml:400
319+#: qml/Shell.qml:399
324#, qt-format
320#, qt-format
325msgid "Sorry, incorrect %1"
321msgid "Sorry, incorrect %1"
326msgstr "Desculpe, %1 incorreto"
322msgstr "Desculpe, %1 incorreto"
327
323
328−#: qml/Shell.qml:441
324+#: qml/Shell.qml:440
329msgid "Sorry, incorrect passphrase."
325msgid "Sorry, incorrect passphrase."
330msgstr "Desculpe, senha incorreta."
326msgstr "Desculpe, senha incorreta."
331
327
332−#: qml/Shell.qml:442
328+#: qml/Shell.qml:441
333msgid "Sorry, incorrect passcode."
329msgid "Sorry, incorrect passcode."
334msgstr "Desculpe, código de acesso incorreto."
330msgstr "Desculpe, código de acesso incorreto."
335
331
336−#: qml/Shell.qml:443
332+#: qml/Shell.qml:442
337msgid "This will be your last attempt."
333msgid "This will be your last attempt."
338msgstr "Esta será a sua última tentativa."
334msgstr "Esta será a sua última tentativa."
339
335
340−#: qml/Shell.qml:445
336+#: qml/Shell.qml:444
341msgid ""
337msgid ""
342"If passphrase is entered incorrectly, your phone will conduct a factory "
338"If passphrase is entered incorrectly, your phone will conduct a factory "
343"reset and all personal data will be deleted."
339"reset and all personal data will be deleted."
@@ -345,7 +341,7 @@ msgstr ""
345"Se a senha for digitada incorretamente, o telefone será restaurado aos "
341"Se a senha for digitada incorretamente, o telefone será restaurado aos "
346"padrões de fábrica e todos os dados pessoais serão apagados."
342"padrões de fábrica e todos os dados pessoais serão apagados."
347
343
348−#: qml/Shell.qml:446
344+#: qml/Shell.qml:445
349msgid ""
345msgid ""
350"If passcode is entered incorrectly, your phone will conduct a factory reset "
346"If passcode is entered incorrectly, your phone will conduct a factory reset "
351"and all personal data will be deleted."
347"and all personal data will be deleted."
@@ -367,3 +363,15 @@ msgstr ""
367
363
368#~ msgid "Speaking..."
364#~ msgid "Speaking..."
369#~ msgstr "Falando..."
365#~ msgstr "Falando..."
366+
367+#~ msgid "Done"
368+#~ msgstr "Concluído"
369+
370+#~ msgid "Favorites"
371+#~ msgstr "Favoritos"
372+
373+#~ msgid "All"
374+#~ msgstr "Tudo"
375+
376+#~ msgid "Manage Scopes"
377+#~ msgstr "Gerenciar Plugins"
po/ro.po+52−44
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-18 12:09+0000\n"
11"PO-Revision-Date: 2014-11-18 12:09+0000\n"
12"Last-Translator: Marian Vasile <marianvasile1972@gmail.com>\n"
12"Last-Translator: Marian Vasile <marianvasile1972@gmail.com>\n"
13"Language-Team: Romanian <ro@li.org>\n"
13"Language-Team: Romanian <ro@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
18"== 0) && (n != 0))) ? 2: 1));\n"
18"== 0) && (n != 0))) ? 2: 1));\n"
19−"X-Launchpad-Export-Date: 2014-11-19 06:24+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17252)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -184,20 +184,24 @@ msgstr "Afișează mai puține"
184msgid "See all"
184msgid "See all"
185msgstr "Afișează tot"
185msgstr "Afișează tot"
186
186
187−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
187+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
188#: qml/Panel/SearchIndicator.qml:27
188#: qml/Panel/SearchIndicator.qml:27
189msgid "Search"
189msgid "Search"
190msgstr "Căutare"
190msgstr "Căutare"
191
191
192−#: qml/Dash/PageHeader.qml:268
192+#: qml/Dash/PageHeader.qml:260
193+msgid "Store"
194+msgstr "Magazin"
195+
196+#: qml/Dash/PageHeader.qml:277
193msgid "Settings"
197msgid "Settings"
194msgstr "Configurări"
198msgstr "Configurări"
195
199
196−#: qml/Dash/PageHeader.qml:275
200+#: qml/Dash/PageHeader.qml:284
197msgid "Remove from Favorites"
201msgid "Remove from Favorites"
198msgstr "Șterge din favorite"
202msgstr "Șterge din favorite"
199
203
200−#: qml/Dash/PageHeader.qml:275
204+#: qml/Dash/PageHeader.qml:284
201msgid "Add to Favorites"
205msgid "Add to Favorites"
202msgstr "Adaugă la favorite"
206msgstr "Adaugă la favorite"
203
207
@@ -229,31 +233,23 @@ msgstr "Trageți pentru a actualiza..."
229msgid "Release to refresh…"
233msgid "Release to refresh…"
230msgstr "Eliberați pentru a actualiza..."
234msgstr "Eliberați pentru a actualiza..."
231
235
232−#: qml/Dash/ScopesOverview.qml:215
236+#: qml/Dash/ScopesList.qml:63
233−msgid "Manage Scopes"
237+msgid "Manage"
234−msgstr "Administrare domenii"
238+msgstr ""
235−
236−#: qml/Dash/ScopesOverview.qml:437
237−msgid "Done"
238−msgstr "Finalizat"
239−
240−#: qml/Dash/ScopesOverview.qml:463
241−msgid "Store"
242−msgstr "Magazin"
243
239
244−#: qml/Dash/ScopesOverviewTab.qml:36
240+#: qml/Dash/ScopesList.qml:105
245−msgid "Favorites"
241+msgid "Home"
246−msgstr "Favorite"
242+msgstr ""
247
243
248−#: qml/Dash/ScopesOverviewTab.qml:54
244+#: qml/Dash/ScopesList.qml:106
249−msgid "All"
245+msgid "Also installed"
250−msgstr "Tot"
246+msgstr ""
251
247
252#: qml/Greeter/Greeter.qml:174
248#: qml/Greeter/Greeter.qml:174
253msgid "Unlock"
249msgid "Unlock"
254msgstr "Deblocare"
250msgstr "Deblocare"
255
251
256−#: qml/Notifications/NotificationMenuItemFactory.qml:116
252+#: qml/Notifications/NotificationMenuItemFactory.qml:128
257msgid "Show password"
253msgid "Show password"
258msgstr "Arată parola"
254msgstr "Arată parola"
259
255
@@ -265,31 +261,31 @@ msgstr "Atingeți pentru a vă întoarce la convorbire..."
265msgid "Conference"
261msgid "Conference"
266msgstr "Conferință"
262msgstr "Conferință"
267
263
268−#: qml/Panel/Indicators/MenuItemFactory.qml:615
264+#: qml/Panel/Indicators/MenuItemFactory.qml:643
269msgid "Nothing is playing"
265msgid "Nothing is playing"
270msgstr "Nu se redă nimic"
266msgstr "Nu se redă nimic"
271
267
272−#: qml/Panel/Indicators/MenuItemFactory.qml:763
268+#: qml/Panel/Indicators/MenuItemFactory.qml:791
273msgid "In queue…"
269msgid "In queue…"
274msgstr "În așteptare..."
270msgstr "În așteptare..."
275
271
276−#: qml/Panel/Indicators/MenuItemFactory.qml:767
272+#: qml/Panel/Indicators/MenuItemFactory.qml:795
277msgid "Downloading"
273msgid "Downloading"
278msgstr "Se descarcă"
274msgstr "Se descarcă"
279
275
280−#: qml/Panel/Indicators/MenuItemFactory.qml:769
276+#: qml/Panel/Indicators/MenuItemFactory.qml:797
281msgid "Paused, tap to resume"
277msgid "Paused, tap to resume"
282msgstr "În pauză, atingeți pentru a relua"
278msgstr "În pauză, atingeți pentru a relua"
283
279
284−#: qml/Panel/Indicators/MenuItemFactory.qml:771
280+#: qml/Panel/Indicators/MenuItemFactory.qml:799
285msgid "Canceled"
281msgid "Canceled"
286msgstr "Anulată"
282msgstr "Anulată"
287
283
288−#: qml/Panel/Indicators/MenuItemFactory.qml:773
284+#: qml/Panel/Indicators/MenuItemFactory.qml:801
289msgid "Finished"
285msgid "Finished"
290msgstr "Finalizată"
286msgstr "Finalizată"
291
287
292−#: qml/Panel/Indicators/MenuItemFactory.qml:775
288+#: qml/Panel/Indicators/MenuItemFactory.qml:803
293msgid "Failed, tap to retry"
289msgid "Failed, tap to retry"
294msgstr "Eșec, atingeți pentru a încerca din nou"
290msgstr "Eșec, atingeți pentru a încerca din nou"
295
291
@@ -301,49 +297,49 @@ msgstr "Deblocare SIM"
301msgid "Roaming"
297msgid "Roaming"
302msgstr "Roaming"
298msgstr "Roaming"
303
299
304−#: qml/Shell.qml:381
300+#: qml/Shell.qml:390
305msgid "Enter passphrase"
301msgid "Enter passphrase"
306msgstr "Introduceți fraza parolă"
302msgstr "Introduceți fraza parolă"
307
303
308−#: qml/Shell.qml:382
304+#: qml/Shell.qml:391
309msgid "Sorry, incorrect passphrase"
305msgid "Sorry, incorrect passphrase"
310msgstr "Frază secretă incorectă"
306msgstr "Frază secretă incorectă"
311
307
312−#: qml/Shell.qml:383
308+#: qml/Shell.qml:392
313msgid "Please re-enter"
309msgid "Please re-enter"
314msgstr "Introduceți din nou"
310msgstr "Introduceți din nou"
315
311
316−#: qml/Shell.qml:385
312+#: qml/Shell.qml:394
317msgid "Enter passcode"
313msgid "Enter passcode"
318msgstr "Introduceți parola"
314msgstr "Introduceți parola"
319
315
320−#: qml/Shell.qml:386
316+#: qml/Shell.qml:395
321msgid "Sorry, incorrect passcode"
317msgid "Sorry, incorrect passcode"
322msgstr "Parolă incorectă"
318msgstr "Parolă incorectă"
323
319
324−#: qml/Shell.qml:389
320+#: qml/Shell.qml:398
325#, qt-format
321#, qt-format
326msgid "Enter %1"
322msgid "Enter %1"
327msgstr "Introducere %1"
323msgstr "Introducere %1"
328
324
329−#: qml/Shell.qml:390
325+#: qml/Shell.qml:399
330#, qt-format
326#, qt-format
331msgid "Sorry, incorrect %1"
327msgid "Sorry, incorrect %1"
332msgstr "%1 incorectă"
328msgstr "%1 incorectă"
333
329
334−#: qml/Shell.qml:431
330+#: qml/Shell.qml:440
335msgid "Sorry, incorrect passphrase."
331msgid "Sorry, incorrect passphrase."
336msgstr "Frază parolă greșită"
332msgstr "Frază parolă greșită"
337
333
338−#: qml/Shell.qml:432
334+#: qml/Shell.qml:441
339msgid "Sorry, incorrect passcode."
335msgid "Sorry, incorrect passcode."
340msgstr "Parolă greșită"
336msgstr "Parolă greșită"
341
337
342−#: qml/Shell.qml:433
338+#: qml/Shell.qml:442
343msgid "This will be your last attempt."
339msgid "This will be your last attempt."
344msgstr "Aceasta va fi ultima încercare"
340msgstr "Aceasta va fi ultima încercare"
345
341
346−#: qml/Shell.qml:435
342+#: qml/Shell.qml:444
347msgid ""
343msgid ""
348"If passphrase is entered incorrectly, your phone will conduct a factory "
344"If passphrase is entered incorrectly, your phone will conduct a factory "
349"reset and all personal data will be deleted."
345"reset and all personal data will be deleted."
@@ -352,7 +348,7 @@ msgstr ""
352"configurările inițiale, ale fabricantului, iar toate datele personale vor fi "
348"configurările inițiale, ale fabricantului, iar toate datele personale vor fi "
353"șterse."
349"șterse."
354
350
355−#: qml/Shell.qml:436
351+#: qml/Shell.qml:445
356msgid ""
352msgid ""
357"If passcode is entered incorrectly, your phone will conduct a factory reset "
353"If passcode is entered incorrectly, your phone will conduct a factory reset "
358"and all personal data will be deleted."
354"and all personal data will be deleted."
@@ -375,3 +371,15 @@ msgstr ""
375
371
376#~ msgid "Speaking..."
372#~ msgid "Speaking..."
377#~ msgstr "Vorbire..."
373#~ msgstr "Vorbire..."
374+
375+#~ msgid "All"
376+#~ msgstr "Tot"
377+
378+#~ msgid "Favorites"
379+#~ msgstr "Favorite"
380+
381+#~ msgid "Done"
382+#~ msgstr "Finalizat"
383+
384+#~ msgid "Manage Scopes"
385+#~ msgstr "Administrare domenii"
po/ru.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-08-29 08:06+0000\n"
11"PO-Revision-Date: 2014-08-29 08:06+0000\n"
12"Last-Translator: ☠Jay ZDLin☠ <Unknown>\n"
12"Last-Translator: ☠Jay ZDLin☠ <Unknown>\n"
13"Language-Team: Russian <ru@li.org>\n"
13"Language-Team: Russian <ru@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -30,7 +30,7 @@ msgstr "Закрепить ярлык"
30
30
31#: plugins/Unity/Launcher/launcheritem.cpp:91
31#: plugins/Unity/Launcher/launcheritem.cpp:91
32msgid "Unpin shortcut"
32msgid "Unpin shortcut"
33−msgstr "Изъять ярлык"
33+msgstr "Открепить ярлык"
34
34
35#: qml/Components/DelayedLockscreen.qml:47
35#: qml/Components/DelayedLockscreen.qml:47
36msgid "Device Locked"
36msgid "Device Locked"
@@ -167,7 +167,7 @@ msgstr ""
167
167
168#: qml/Components/Lockscreen.qml:223
168#: qml/Components/Lockscreen.qml:223
169msgid "Return to Call"
169msgid "Return to Call"
170−msgstr ""
170+msgstr "Вернуться к вызову"
171
171
172#: qml/Components/Lockscreen.qml:223
172#: qml/Components/Lockscreen.qml:223
173msgid "Emergency Call"
173msgid "Emergency Call"
@@ -185,20 +185,24 @@ msgstr "Вкратце"
185msgid "See all"
185msgid "See all"
186msgstr "Показать всё"
186msgstr "Показать всё"
187
187
188−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
188+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
189#: qml/Panel/SearchIndicator.qml:27
189#: qml/Panel/SearchIndicator.qml:27
190msgid "Search"
190msgid "Search"
191msgstr "Поиск"
191msgstr "Поиск"
192
192
193−#: qml/Dash/PageHeader.qml:268
193+#: qml/Dash/PageHeader.qml:260
194+msgid "Store"
195+msgstr "Магазин"
196+
197+#: qml/Dash/PageHeader.qml:277
194msgid "Settings"
198msgid "Settings"
195msgstr "Настройки"
199msgstr "Настройки"
196
200
197−#: qml/Dash/PageHeader.qml:275
201+#: qml/Dash/PageHeader.qml:284
198msgid "Remove from Favorites"
202msgid "Remove from Favorites"
199msgstr "Удалить из избранного"
203msgstr "Удалить из избранного"
200
204
201−#: qml/Dash/PageHeader.qml:275
205+#: qml/Dash/PageHeader.qml:284
202msgid "Add to Favorites"
206msgid "Add to Favorites"
203msgstr "Добавить в избранное"
207msgstr "Добавить в избранное"
204
208
@@ -230,31 +234,23 @@ msgstr "Потяните для обновления…"
230msgid "Release to refresh…"
234msgid "Release to refresh…"
231msgstr "Отпустите для обновления…"
235msgstr "Отпустите для обновления…"
232
236
233−#: qml/Dash/ScopesOverview.qml:215
237+#: qml/Dash/ScopesList.qml:63
234−msgid "Manage Scopes"
238+msgid "Manage"
235msgstr ""
239msgstr ""
236
240
237−#: qml/Dash/ScopesOverview.qml:437
241+#: qml/Dash/ScopesList.qml:105
238−msgid "Done"
242+msgid "Home"
239−msgstr "Готово"
240−
241−#: qml/Dash/ScopesOverview.qml:463
242−msgid "Store"
243msgstr ""
243msgstr ""
244
244
245−#: qml/Dash/ScopesOverviewTab.qml:36
245+#: qml/Dash/ScopesList.qml:106
246−msgid "Favorites"
246+msgid "Also installed"
247−msgstr "Избранное"
248−
249−#: qml/Dash/ScopesOverviewTab.qml:54
250−msgid "All"
251−msgstr "Все"
247+msgstr ""
252
248
253#: qml/Greeter/Greeter.qml:174
249#: qml/Greeter/Greeter.qml:174
254msgid "Unlock"
250msgid "Unlock"
255msgstr "Разблокировать"
251msgstr "Разблокировать"
256
252
257−#: qml/Notifications/NotificationMenuItemFactory.qml:116
253+#: qml/Notifications/NotificationMenuItemFactory.qml:128
258msgid "Show password"
254msgid "Show password"
259msgstr "Показать пароль"
255msgstr "Показать пароль"
260
256
@@ -302,49 +298,49 @@ msgstr "Разблокировать SIM-карту"
302msgid "Roaming"
298msgid "Roaming"
303msgstr "Роуминг"
299msgstr "Роуминг"
304
300
305−#: qml/Shell.qml:391
301+#: qml/Shell.qml:390
306msgid "Enter passphrase"
302msgid "Enter passphrase"
307msgstr "Введите кодовую фразу"
303msgstr "Введите кодовую фразу"
308
304
309−#: qml/Shell.qml:392
305+#: qml/Shell.qml:391
310msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
311msgstr "Введена неверная кодовая фраза"
307msgstr "Введена неверная кодовая фраза"
312
308
313−#: qml/Shell.qml:393
309+#: qml/Shell.qml:392
314msgid "Please re-enter"
310msgid "Please re-enter"
315msgstr "Повторите ввод"
311msgstr "Повторите ввод"
316
312
317−#: qml/Shell.qml:395
313+#: qml/Shell.qml:394
318msgid "Enter passcode"
314msgid "Enter passcode"
319msgstr "Введите секретный код"
315msgstr "Введите секретный код"
320
316
321−#: qml/Shell.qml:396
317+#: qml/Shell.qml:395
322msgid "Sorry, incorrect passcode"
318msgid "Sorry, incorrect passcode"
323msgstr "Секретный код введён неверно"
319msgstr "Секретный код введён неверно"
324
320
325−#: qml/Shell.qml:399
321+#: qml/Shell.qml:398
326#, qt-format
322#, qt-format
327msgid "Enter %1"
323msgid "Enter %1"
328msgstr "Введите %1"
324msgstr "Введите %1"
329
325
330−#: qml/Shell.qml:400
326+#: qml/Shell.qml:399
331#, qt-format
327#, qt-format
332msgid "Sorry, incorrect %1"
328msgid "Sorry, incorrect %1"
333msgstr "Некорректный ввод %1"
329msgstr "Некорректный ввод %1"
334
330
335−#: qml/Shell.qml:441
331+#: qml/Shell.qml:440
336msgid "Sorry, incorrect passphrase."
332msgid "Sorry, incorrect passphrase."
337msgstr "Неверная ключевая фраза."
333msgstr "Неверная ключевая фраза."
338
334
339−#: qml/Shell.qml:442
335+#: qml/Shell.qml:441
340msgid "Sorry, incorrect passcode."
336msgid "Sorry, incorrect passcode."
341msgstr "Неверный секретный код."
337msgstr "Неверный секретный код."
342
338
343−#: qml/Shell.qml:443
339+#: qml/Shell.qml:442
344msgid "This will be your last attempt."
340msgid "This will be your last attempt."
345msgstr "Осталась последняя попытка."
341msgstr "Осталась последняя попытка."
346
342
347−#: qml/Shell.qml:445
343+#: qml/Shell.qml:444
348msgid ""
344msgid ""
349"If passphrase is entered incorrectly, your phone will conduct a factory "
345"If passphrase is entered incorrectly, your phone will conduct a factory "
350"reset and all personal data will be deleted."
346"reset and all personal data will be deleted."
@@ -352,7 +348,7 @@ msgstr ""
352"Если ключевая фраза будет введена неверно, то телефон вернётся к заводским "
348"Если ключевая фраза будет введена неверно, то телефон вернётся к заводским "
353"настройкам, а все личные данные будут удалены."
349"настройкам, а все личные данные будут удалены."
354
350
355−#: qml/Shell.qml:446
351+#: qml/Shell.qml:445
356msgid ""
352msgid ""
357"If passcode is entered incorrectly, your phone will conduct a factory reset "
353"If passcode is entered incorrectly, your phone will conduct a factory reset "
358"and all personal data will be deleted."
354"and all personal data will be deleted."
@@ -374,3 +370,15 @@ msgstr ""
374
370
375#~ msgid "Confirm"
371#~ msgid "Confirm"
376#~ msgstr "Подтвердить"
372#~ msgstr "Подтвердить"
373+
374+#~ msgid "All"
375+#~ msgstr "Все"
376+
377+#~ msgid "Favorites"
378+#~ msgstr "Избранное"
379+
380+#~ msgid "Done"
381+#~ msgstr "Готово"
382+
383+#~ msgid "Manage Scopes"
384+#~ msgstr "Настройки поиска"
po/shn.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-10-07 11:46+0000\n"
11"PO-Revision-Date: 2013-10-07 11:46+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Shan <shn@li.org>\n"
13"Language-Team: Shan <shn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
17"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr ""
178msgstr ""
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/si.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr ""
178msgstr ""
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/sl.po+41−36
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-05 09:41+0000\n"
11"PO-Revision-Date: 2014-11-05 09:41+0000\n"
12"Last-Translator: Damir Jerovšek <Unknown>\n"
12"Last-Translator: Damir Jerovšek <Unknown>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
17"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
18"n%100==4 ? 3 : 0);\n"
18"n%100==4 ? 3 : 0);\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -181,20 +181,24 @@ msgstr "Pokaži manj"
181msgid "See all"
181msgid "See all"
182msgstr "Pokaži vse"
182msgstr "Pokaži vse"
183
183
184−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
184+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
185#: qml/Panel/SearchIndicator.qml:27
185#: qml/Panel/SearchIndicator.qml:27
186msgid "Search"
186msgid "Search"
187msgstr "Iskanje"
187msgstr "Iskanje"
188
188
189−#: qml/Dash/PageHeader.qml:268
189+#: qml/Dash/PageHeader.qml:260
190+msgid "Store"
191+msgstr "Trgovina"
192+
193+#: qml/Dash/PageHeader.qml:277
190msgid "Settings"
194msgid "Settings"
191msgstr "Nastavitve"
195msgstr "Nastavitve"
192
196
193−#: qml/Dash/PageHeader.qml:275
197+#: qml/Dash/PageHeader.qml:284
194msgid "Remove from Favorites"
198msgid "Remove from Favorites"
195msgstr "Odstrani iz priljubljenih"
199msgstr "Odstrani iz priljubljenih"
196
200
197−#: qml/Dash/PageHeader.qml:275
201+#: qml/Dash/PageHeader.qml:284
198msgid "Add to Favorites"
202msgid "Add to Favorites"
199msgstr "Dodaj med priljubljene"
203msgstr "Dodaj med priljubljene"
200
204
@@ -226,31 +230,23 @@ msgstr "Povlecite za osvežitev ..."
226msgid "Release to refresh…"
230msgid "Release to refresh…"
227msgstr "Spustite za osvežitev ..."
231msgstr "Spustite za osvežitev ..."
228
232
229−#: qml/Dash/ScopesOverview.qml:215
233+#: qml/Dash/ScopesList.qml:63
230−msgid "Manage Scopes"
234+msgid "Manage"
231msgstr ""
235msgstr ""
232
236
233−#: qml/Dash/ScopesOverview.qml:437
237+#: qml/Dash/ScopesList.qml:105
234−msgid "Done"
235−msgstr "Končano"
236−
237−#: qml/Dash/ScopesOverview.qml:463
238−msgid "Store"
239−msgstr "Trgovina"
240−
241−#: qml/Dash/ScopesOverviewTab.qml:36
242−msgid "Favorites"
238+msgid "Home"
243−msgstr "Priljubljeni"
239+msgstr ""
244
240
245−#: qml/Dash/ScopesOverviewTab.qml:54
241+#: qml/Dash/ScopesList.qml:106
246−msgid "All"
242+msgid "Also installed"
247−msgstr "Vse"
243+msgstr ""
248
244
249#: qml/Greeter/Greeter.qml:174
245#: qml/Greeter/Greeter.qml:174
250msgid "Unlock"
246msgid "Unlock"
251msgstr "Odkleni"
247msgstr "Odkleni"
252
248
253−#: qml/Notifications/NotificationMenuItemFactory.qml:116
249+#: qml/Notifications/NotificationMenuItemFactory.qml:128
254msgid "Show password"
250msgid "Show password"
255msgstr "Pokaži geslo"
251msgstr "Pokaži geslo"
256
252
@@ -298,49 +294,49 @@ msgstr "Odkleni SIM"
298msgid "Roaming"
294msgid "Roaming"
299msgstr "Gostovanje"
295msgstr "Gostovanje"
300
296
301−#: qml/Shell.qml:391
297+#: qml/Shell.qml:390
302msgid "Enter passphrase"
298msgid "Enter passphrase"
303msgstr "Vnesite šifrirno reklo"
299msgstr "Vnesite šifrirno reklo"
304
300
305−#: qml/Shell.qml:392
301+#: qml/Shell.qml:391
306msgid "Sorry, incorrect passphrase"
302msgid "Sorry, incorrect passphrase"
307msgstr "Oprostite, napačno šifrirno reklo"
303msgstr "Oprostite, napačno šifrirno reklo"
308
304
309−#: qml/Shell.qml:393
305+#: qml/Shell.qml:392
310msgid "Please re-enter"
306msgid "Please re-enter"
311msgstr "Ponovno vnesite"
307msgstr "Ponovno vnesite"
312
308
313−#: qml/Shell.qml:395
309+#: qml/Shell.qml:394
314msgid "Enter passcode"
310msgid "Enter passcode"
315msgstr "Vnesite geslo"
311msgstr "Vnesite geslo"
316
312
317−#: qml/Shell.qml:396
313+#: qml/Shell.qml:395
318msgid "Sorry, incorrect passcode"
314msgid "Sorry, incorrect passcode"
319msgstr "Nepravilno geslo"
315msgstr "Nepravilno geslo"
320
316
321−#: qml/Shell.qml:399
317+#: qml/Shell.qml:398
322#, qt-format
318#, qt-format
323msgid "Enter %1"
319msgid "Enter %1"
324msgstr "Vnesite %1"
320msgstr "Vnesite %1"
325
321
326−#: qml/Shell.qml:400
322+#: qml/Shell.qml:399
327#, qt-format
323#, qt-format
328msgid "Sorry, incorrect %1"
324msgid "Sorry, incorrect %1"
329msgstr "Oprostite, napačen %1"
325msgstr "Oprostite, napačen %1"
330
326
331−#: qml/Shell.qml:441
327+#: qml/Shell.qml:440
332msgid "Sorry, incorrect passphrase."
328msgid "Sorry, incorrect passphrase."
333msgstr "Nepravilno geslo."
329msgstr "Nepravilno geslo."
334
330
335−#: qml/Shell.qml:442
331+#: qml/Shell.qml:441
336msgid "Sorry, incorrect passcode."
332msgid "Sorry, incorrect passcode."
337msgstr "Nepravilno geslo."
333msgstr "Nepravilno geslo."
338
334
339−#: qml/Shell.qml:443
335+#: qml/Shell.qml:442
340msgid "This will be your last attempt."
336msgid "This will be your last attempt."
341msgstr "To je vaš zadnji poskus"
337msgstr "To je vaš zadnji poskus"
342
338
343−#: qml/Shell.qml:445
339+#: qml/Shell.qml:444
344msgid ""
340msgid ""
345"If passphrase is entered incorrectly, your phone will conduct a factory "
341"If passphrase is entered incorrectly, your phone will conduct a factory "
346"reset and all personal data will be deleted."
342"reset and all personal data will be deleted."
@@ -348,7 +344,7 @@ msgstr ""
348"Če je vneseno nepravilno šifrirno reklo, bo telefon ponastavljen na "
344"Če je vneseno nepravilno šifrirno reklo, bo telefon ponastavljen na "
349"tovarniške nastavitve ter vsi osebni podatki bodo izbrisani."
345"tovarniške nastavitve ter vsi osebni podatki bodo izbrisani."
350
346
351−#: qml/Shell.qml:446
347+#: qml/Shell.qml:445
352msgid ""
348msgid ""
353"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"If passcode is entered incorrectly, your phone will conduct a factory reset "
354"and all personal data will be deleted."
350"and all personal data will be deleted."
@@ -370,3 +366,12 @@ msgstr ""
370
366
371#~ msgid "Speaking..."
367#~ msgid "Speaking..."
372#~ msgstr "Govorjenje ..."
368#~ msgstr "Govorjenje ..."
369+
370+#~ msgid "Done"
371+#~ msgstr "Končano"
372+
373+#~ msgid "All"
374+#~ msgstr "Vse"
375+
376+#~ msgid "Favorites"
377+#~ msgstr "Priljubljeni"
po/sq.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-01-15 13:51+0000\n"
11"PO-Revision-Date: 2014-01-15 13:51+0000\n"
12"Last-Translator: Besmir Zanaj <besmirzanaj@gmail.com>\n"
12"Last-Translator: Besmir Zanaj <besmirzanaj@gmail.com>\n"
13"Language-Team: Albanian <sq@li.org>\n"
13"Language-Team: Albanian <sq@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -173,20 +173,24 @@ msgstr ""
173msgid "See all"
173msgid "See all"
174msgstr ""
174msgstr ""
175
175
176−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
176+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
177#: qml/Panel/SearchIndicator.qml:27
177#: qml/Panel/SearchIndicator.qml:27
178msgid "Search"
178msgid "Search"
179msgstr ""
179msgstr ""
180
180
181−#: qml/Dash/PageHeader.qml:268
181+#: qml/Dash/PageHeader.qml:260
182+msgid "Store"
183+msgstr ""
184+
185+#: qml/Dash/PageHeader.qml:277
182msgid "Settings"
186msgid "Settings"
183msgstr ""
187msgstr ""
184
188
185−#: qml/Dash/PageHeader.qml:275
189+#: qml/Dash/PageHeader.qml:284
186msgid "Remove from Favorites"
190msgid "Remove from Favorites"
187msgstr ""
191msgstr ""
188
192
189−#: qml/Dash/PageHeader.qml:275
193+#: qml/Dash/PageHeader.qml:284
190msgid "Add to Favorites"
194msgid "Add to Favorites"
191msgstr ""
195msgstr ""
192
196
@@ -218,31 +222,23 @@ msgstr ""
218msgid "Release to refresh…"
222msgid "Release to refresh…"
219msgstr ""
223msgstr ""
220
224
221−#: qml/Dash/ScopesOverview.qml:215
225+#: qml/Dash/ScopesList.qml:63
222−msgid "Manage Scopes"
226+msgid "Manage"
223msgstr ""
227msgstr ""
224
228
225−#: qml/Dash/ScopesOverview.qml:437
229+#: qml/Dash/ScopesList.qml:105
226−msgid "Done"
227−msgstr ""
228−
229−#: qml/Dash/ScopesOverview.qml:463
230−msgid "Store"
230+msgid "Home"
231msgstr ""
231msgstr ""
232
232
233−#: qml/Dash/ScopesOverviewTab.qml:36
233+#: qml/Dash/ScopesList.qml:106
234−msgid "Favorites"
234+msgid "Also installed"
235−msgstr ""
236−
237−#: qml/Dash/ScopesOverviewTab.qml:54
238−msgid "All"
239msgstr ""
235msgstr ""
240
236
241#: qml/Greeter/Greeter.qml:174
237#: qml/Greeter/Greeter.qml:174
242msgid "Unlock"
238msgid "Unlock"
243msgstr ""
239msgstr ""
244
240
245−#: qml/Notifications/NotificationMenuItemFactory.qml:116
241+#: qml/Notifications/NotificationMenuItemFactory.qml:128
246msgid "Show password"
242msgid "Show password"
247msgstr ""
243msgstr ""
248
244
@@ -290,55 +286,55 @@ msgstr ""
290msgid "Roaming"
286msgid "Roaming"
291msgstr ""
287msgstr ""
292
288
293−#: qml/Shell.qml:391
289+#: qml/Shell.qml:390
294msgid "Enter passphrase"
290msgid "Enter passphrase"
295msgstr ""
291msgstr ""
296
292
297−#: qml/Shell.qml:392
293+#: qml/Shell.qml:391
298msgid "Sorry, incorrect passphrase"
294msgid "Sorry, incorrect passphrase"
299msgstr ""
295msgstr ""
300
296
301−#: qml/Shell.qml:393
297+#: qml/Shell.qml:392
302msgid "Please re-enter"
298msgid "Please re-enter"
303msgstr ""
299msgstr ""
304
300
305−#: qml/Shell.qml:395
301+#: qml/Shell.qml:394
306msgid "Enter passcode"
302msgid "Enter passcode"
307msgstr ""
303msgstr ""
308
304
309−#: qml/Shell.qml:396
305+#: qml/Shell.qml:395
310msgid "Sorry, incorrect passcode"
306msgid "Sorry, incorrect passcode"
311msgstr ""
307msgstr ""
312
308
313−#: qml/Shell.qml:399
309+#: qml/Shell.qml:398
314#, qt-format
310#, qt-format
315msgid "Enter %1"
311msgid "Enter %1"
316msgstr ""
312msgstr ""
317
313
318−#: qml/Shell.qml:400
314+#: qml/Shell.qml:399
319#, qt-format
315#, qt-format
320msgid "Sorry, incorrect %1"
316msgid "Sorry, incorrect %1"
321msgstr ""
317msgstr ""
322
318
323−#: qml/Shell.qml:441
319+#: qml/Shell.qml:440
324msgid "Sorry, incorrect passphrase."
320msgid "Sorry, incorrect passphrase."
325msgstr ""
321msgstr ""
326
322
327−#: qml/Shell.qml:442
323+#: qml/Shell.qml:441
328msgid "Sorry, incorrect passcode."
324msgid "Sorry, incorrect passcode."
329msgstr ""
325msgstr ""
330
326
331−#: qml/Shell.qml:443
327+#: qml/Shell.qml:442
332msgid "This will be your last attempt."
328msgid "This will be your last attempt."
333msgstr ""
329msgstr ""
334
330
335−#: qml/Shell.qml:445
331+#: qml/Shell.qml:444
336msgid ""
332msgid ""
337"If passphrase is entered incorrectly, your phone will conduct a factory "
333"If passphrase is entered incorrectly, your phone will conduct a factory "
338"reset and all personal data will be deleted."
334"reset and all personal data will be deleted."
339msgstr ""
335msgstr ""
340
336
341−#: qml/Shell.qml:446
337+#: qml/Shell.qml:445
342msgid ""
338msgid ""
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
339"If passcode is entered incorrectly, your phone will conduct a factory reset "
344"and all personal data will be deleted."
340"and all personal data will be deleted."
po/sr.po+41−36
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-09-24 13:29+0000\n"
11"PO-Revision-Date: 2014-09-24 13:29+0000\n"
12"Last-Translator: Данило Шеган <Unknown>\n"
12"Last-Translator: Данило Шеган <Unknown>\n"
13"Language-Team: Serbian <sr@li.org>\n"
13"Language-Team: Serbian <sr@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -177,20 +177,24 @@ msgstr "Сажетије"
177msgid "See all"
177msgid "See all"
178msgstr "Опширније"
178msgstr "Опширније"
179
179
180−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
180+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
181#: qml/Panel/SearchIndicator.qml:27
181#: qml/Panel/SearchIndicator.qml:27
182msgid "Search"
182msgid "Search"
183msgstr "Претрага"
183msgstr "Претрага"
184
184
185−#: qml/Dash/PageHeader.qml:268
185+#: qml/Dash/PageHeader.qml:260
186+msgid "Store"
187+msgstr "Продавница"
188+
189+#: qml/Dash/PageHeader.qml:277
186msgid "Settings"
190msgid "Settings"
187msgstr "Подешавања"
191msgstr "Подешавања"
188
192
189−#: qml/Dash/PageHeader.qml:275
193+#: qml/Dash/PageHeader.qml:284
190msgid "Remove from Favorites"
194msgid "Remove from Favorites"
191msgstr "Уклони из омиљених"
195msgstr "Уклони из омиљених"
192
196
193−#: qml/Dash/PageHeader.qml:275
197+#: qml/Dash/PageHeader.qml:284
194msgid "Add to Favorites"
198msgid "Add to Favorites"
195msgstr "Додај међу омиљене"
199msgstr "Додај међу омиљене"
196
200
@@ -222,31 +226,23 @@ msgstr ""
222msgid "Release to refresh…"
226msgid "Release to refresh…"
223msgstr ""
227msgstr ""
224
228
225−#: qml/Dash/ScopesOverview.qml:215
229+#: qml/Dash/ScopesList.qml:63
226−msgid "Manage Scopes"
230+msgid "Manage"
227msgstr ""
231msgstr ""
228
232
229−#: qml/Dash/ScopesOverview.qml:437
233+#: qml/Dash/ScopesList.qml:105
230−msgid "Done"
231−msgstr "Готово"
232−
233−#: qml/Dash/ScopesOverview.qml:463
234−msgid "Store"
235−msgstr "Продавница"
236−
237−#: qml/Dash/ScopesOverviewTab.qml:36
238−msgid "Favorites"
234+msgid "Home"
239−msgstr "Омиљени"
235+msgstr ""
240
236
241−#: qml/Dash/ScopesOverviewTab.qml:54
237+#: qml/Dash/ScopesList.qml:106
242−msgid "All"
238+msgid "Also installed"
243−msgstr "Сви"
239+msgstr ""
244
240
245#: qml/Greeter/Greeter.qml:174
241#: qml/Greeter/Greeter.qml:174
246msgid "Unlock"
242msgid "Unlock"
247msgstr ""
243msgstr ""
248
244
249−#: qml/Notifications/NotificationMenuItemFactory.qml:116
245+#: qml/Notifications/NotificationMenuItemFactory.qml:128
250msgid "Show password"
246msgid "Show password"
251msgstr "Прикажи лозинку"
247msgstr "Прикажи лозинку"
252
248
@@ -294,49 +290,49 @@ msgstr "Откључај СИМ картицу"
294msgid "Roaming"
290msgid "Roaming"
295msgstr "Роминг"
291msgstr "Роминг"
296
292
297−#: qml/Shell.qml:391
293+#: qml/Shell.qml:390
298msgid "Enter passphrase"
294msgid "Enter passphrase"
299msgstr ""
295msgstr ""
300
296
301−#: qml/Shell.qml:392
297+#: qml/Shell.qml:391
302msgid "Sorry, incorrect passphrase"
298msgid "Sorry, incorrect passphrase"
303msgstr "Жао ми је, погрешна лозинка"
299msgstr "Жао ми је, погрешна лозинка"
304
300
305−#: qml/Shell.qml:393
301+#: qml/Shell.qml:392
306msgid "Please re-enter"
302msgid "Please re-enter"
307msgstr ""
303msgstr ""
308
304
309−#: qml/Shell.qml:395
305+#: qml/Shell.qml:394
310msgid "Enter passcode"
306msgid "Enter passcode"
311msgstr ""
307msgstr ""
312
308
313−#: qml/Shell.qml:396
309+#: qml/Shell.qml:395
314msgid "Sorry, incorrect passcode"
310msgid "Sorry, incorrect passcode"
315msgstr "Жао ми је, погрешан код"
311msgstr "Жао ми је, погрешан код"
316
312
317−#: qml/Shell.qml:399
313+#: qml/Shell.qml:398
318#, qt-format
314#, qt-format
319msgid "Enter %1"
315msgid "Enter %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:400
318+#: qml/Shell.qml:399
323#, qt-format
319#, qt-format
324msgid "Sorry, incorrect %1"
320msgid "Sorry, incorrect %1"
325msgstr "Жао ми је, погрешан %1"
321msgstr "Жао ми је, погрешан %1"
326
322
327−#: qml/Shell.qml:441
323+#: qml/Shell.qml:440
328msgid "Sorry, incorrect passphrase."
324msgid "Sorry, incorrect passphrase."
329msgstr "Жао ми је, погрешна лозинка."
325msgstr "Жао ми је, погрешна лозинка."
330
326
331−#: qml/Shell.qml:442
327+#: qml/Shell.qml:441
332msgid "Sorry, incorrect passcode."
328msgid "Sorry, incorrect passcode."
333msgstr "Жао ми је, погрешан код."
329msgstr "Жао ми је, погрешан код."
334
330
335−#: qml/Shell.qml:443
331+#: qml/Shell.qml:442
336msgid "This will be your last attempt."
332msgid "This will be your last attempt."
337msgstr "Ово је ваш последњи покушај."
333msgstr "Ово је ваш последњи покушај."
338
334
339−#: qml/Shell.qml:445
335+#: qml/Shell.qml:444
340msgid ""
336msgid ""
341"If passphrase is entered incorrectly, your phone will conduct a factory "
337"If passphrase is entered incorrectly, your phone will conduct a factory "
342"reset and all personal data will be deleted."
338"reset and all personal data will be deleted."
@@ -344,7 +340,7 @@ msgstr ""
344"Ако се унесе погрешна лозинка, ваш телефон ће се ресетовати и сви лични "
340"Ако се унесе погрешна лозинка, ваш телефон ће се ресетовати и сви лични "
345"подаци ће бити обрисани."
341"подаци ће бити обрисани."
346
342
347−#: qml/Shell.qml:446
343+#: qml/Shell.qml:445
348msgid ""
344msgid ""
349"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
350"and all personal data will be deleted."
346"and all personal data will be deleted."
@@ -366,3 +362,12 @@ msgstr ""
366
362
367#~ msgid "Speaking..."
363#~ msgid "Speaking..."
368#~ msgstr "Говор..."
364#~ msgstr "Говор..."
365+
366+#~ msgid "All"
367+#~ msgstr "Сви"
368+
369+#~ msgid "Favorites"
370+#~ msgstr "Омиљени"
371+
372+#~ msgid "Done"
373+#~ msgstr "Готово"
po/sv.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-10-07 14:28+0000\n"
11"PO-Revision-Date: 2014-10-07 14:28+0000\n"
12"Last-Translator: Josef Andersson <Unknown>\n"
12"Last-Translator: Josef Andersson <Unknown>\n"
13"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
13"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20"Language: sv\n"
20"Language: sv\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
@@ -177,20 +177,24 @@ msgstr "Visa mindre"
177msgid "See all"
177msgid "See all"
178msgstr "Visa alla"
178msgstr "Visa alla"
179
179
180−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
180+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
181#: qml/Panel/SearchIndicator.qml:27
181#: qml/Panel/SearchIndicator.qml:27
182msgid "Search"
182msgid "Search"
183msgstr "Sök"
183msgstr "Sök"
184
184
185−#: qml/Dash/PageHeader.qml:268
185+#: qml/Dash/PageHeader.qml:260
186+msgid "Store"
187+msgstr "Butik"
188+
189+#: qml/Dash/PageHeader.qml:277
186msgid "Settings"
190msgid "Settings"
187msgstr "Inställningar"
191msgstr "Inställningar"
188
192
189−#: qml/Dash/PageHeader.qml:275
193+#: qml/Dash/PageHeader.qml:284
190msgid "Remove from Favorites"
194msgid "Remove from Favorites"
191msgstr "Ta bort från Favoriter"
195msgstr "Ta bort från Favoriter"
192
196
193−#: qml/Dash/PageHeader.qml:275
197+#: qml/Dash/PageHeader.qml:284
194msgid "Add to Favorites"
198msgid "Add to Favorites"
195msgstr "Lägg till Favoriter"
199msgstr "Lägg till Favoriter"
196
200
@@ -222,31 +226,23 @@ msgstr "Dra för att uppdatera..."
222msgid "Release to refresh…"
226msgid "Release to refresh…"
223msgstr "Släpp för uppdatera..."
227msgstr "Släpp för uppdatera..."
224
228
225−#: qml/Dash/ScopesOverview.qml:215
229+#: qml/Dash/ScopesList.qml:63
226−msgid "Manage Scopes"
230+msgid "Manage"
227−msgstr "Hantera vyer"
231+msgstr ""
228−
229−#: qml/Dash/ScopesOverview.qml:437
230−msgid "Done"
231−msgstr "Klar"
232−
233−#: qml/Dash/ScopesOverview.qml:463
234−msgid "Store"
235−msgstr "Butik"
236
232
237−#: qml/Dash/ScopesOverviewTab.qml:36
233+#: qml/Dash/ScopesList.qml:105
238−msgid "Favorites"
234+msgid "Home"
239−msgstr "Favoriter"
235+msgstr ""
240
236
241−#: qml/Dash/ScopesOverviewTab.qml:54
237+#: qml/Dash/ScopesList.qml:106
242−msgid "All"
238+msgid "Also installed"
243−msgstr "Alla"
239+msgstr ""
244
240
245#: qml/Greeter/Greeter.qml:174
241#: qml/Greeter/Greeter.qml:174
246msgid "Unlock"
242msgid "Unlock"
247msgstr "Lås upp"
243msgstr "Lås upp"
248
244
249−#: qml/Notifications/NotificationMenuItemFactory.qml:116
245+#: qml/Notifications/NotificationMenuItemFactory.qml:128
250msgid "Show password"
246msgid "Show password"
251msgstr "Visa lösenord"
247msgstr "Visa lösenord"
252
248
@@ -294,49 +290,49 @@ msgstr "Lås upp SIM-kort"
294msgid "Roaming"
290msgid "Roaming"
295msgstr "Roaming"
291msgstr "Roaming"
296
292
297−#: qml/Shell.qml:391
293+#: qml/Shell.qml:390
298msgid "Enter passphrase"
294msgid "Enter passphrase"
299msgstr "Ange lösenfras"
295msgstr "Ange lösenfras"
300
296
301−#: qml/Shell.qml:392
297+#: qml/Shell.qml:391
302msgid "Sorry, incorrect passphrase"
298msgid "Sorry, incorrect passphrase"
303msgstr "Felaktig lösenfras"
299msgstr "Felaktig lösenfras"
304
300
305−#: qml/Shell.qml:393
301+#: qml/Shell.qml:392
306msgid "Please re-enter"
302msgid "Please re-enter"
307msgstr "Ange igen"
303msgstr "Ange igen"
308
304
309−#: qml/Shell.qml:395
305+#: qml/Shell.qml:394
310msgid "Enter passcode"
306msgid "Enter passcode"
311msgstr "Ange lösenkod"
307msgstr "Ange lösenkod"
312
308
313−#: qml/Shell.qml:396
309+#: qml/Shell.qml:395
314msgid "Sorry, incorrect passcode"
310msgid "Sorry, incorrect passcode"
315msgstr "Felaktig lösenkod"
311msgstr "Felaktig lösenkod"
316
312
317−#: qml/Shell.qml:399
313+#: qml/Shell.qml:398
318#, qt-format
314#, qt-format
319msgid "Enter %1"
315msgid "Enter %1"
320msgstr "Ange %1"
316msgstr "Ange %1"
321
317
322−#: qml/Shell.qml:400
318+#: qml/Shell.qml:399
323#, qt-format
319#, qt-format
324msgid "Sorry, incorrect %1"
320msgid "Sorry, incorrect %1"
325msgstr "Felaktig %1"
321msgstr "Felaktig %1"
326
322
327−#: qml/Shell.qml:441
323+#: qml/Shell.qml:440
328msgid "Sorry, incorrect passphrase."
324msgid "Sorry, incorrect passphrase."
329msgstr "Felaktig lösenfras."
325msgstr "Felaktig lösenfras."
330
326
331−#: qml/Shell.qml:442
327+#: qml/Shell.qml:441
332msgid "Sorry, incorrect passcode."
328msgid "Sorry, incorrect passcode."
333msgstr "Felaktig lösenkod."
329msgstr "Felaktig lösenkod."
334
330
335−#: qml/Shell.qml:443
331+#: qml/Shell.qml:442
336msgid "This will be your last attempt."
332msgid "This will be your last attempt."
337msgstr "Detta är ditt sista försök."
333msgstr "Detta är ditt sista försök."
338
334
339−#: qml/Shell.qml:445
335+#: qml/Shell.qml:444
340msgid ""
336msgid ""
341"If passphrase is entered incorrectly, your phone will conduct a factory "
337"If passphrase is entered incorrectly, your phone will conduct a factory "
342"reset and all personal data will be deleted."
338"reset and all personal data will be deleted."
@@ -344,7 +340,7 @@ msgstr ""
344"Om lösenfrasen anges inkorrekt kommer telefonen att fabrikåterställas och "
340"Om lösenfrasen anges inkorrekt kommer telefonen att fabrikåterställas och "
345"all personlig data kommer att tas bort."
341"all personlig data kommer att tas bort."
346
342
347−#: qml/Shell.qml:446
343+#: qml/Shell.qml:445
348msgid ""
344msgid ""
349"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
350"and all personal data will be deleted."
346"and all personal data will be deleted."
@@ -366,3 +362,15 @@ msgstr ""
366
362
367#~ msgid "Speaking..."
363#~ msgid "Speaking..."
368#~ msgstr "Talar…"
364#~ msgstr "Talar…"
365+
366+#~ msgid "Favorites"
367+#~ msgstr "Favoriter"
368+
369+#~ msgid "All"
370+#~ msgstr "Alla"
371+
372+#~ msgid "Done"
373+#~ msgstr "Klar"
374+
375+#~ msgid "Manage Scopes"
376+#~ msgstr "Hantera vyer"
po/sw.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-01-14 19:28+0000\n"
11"PO-Revision-Date: 2014-01-14 19:28+0000\n"
12"Last-Translator: Damas <Unknown>\n"
12"Last-Translator: Damas <Unknown>\n"
13"Language-Team: Swahili <sw@li.org>\n"
13"Language-Team: Swahili <sw@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "Tafuta"
178msgstr "Tafuta"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/ta.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-10-24 11:36+0000\n"
11"PO-Revision-Date: 2013-10-24 11:36+0000\n"
12"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
12"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
13"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
13"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20"Language: ta\n"
20"Language: ta\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
@@ -175,20 +175,24 @@ msgstr ""
175msgid "See all"
175msgid "See all"
176msgstr ""
176msgstr ""
177
177
178−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
178+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
179#: qml/Panel/SearchIndicator.qml:27
179#: qml/Panel/SearchIndicator.qml:27
180msgid "Search"
180msgid "Search"
181msgstr "தெடு"
181msgstr "தெடு"
182
182
183−#: qml/Dash/PageHeader.qml:268
183+#: qml/Dash/PageHeader.qml:260
184+msgid "Store"
185+msgstr ""
186+
187+#: qml/Dash/PageHeader.qml:277
184msgid "Settings"
188msgid "Settings"
185msgstr ""
189msgstr ""
186
190
187−#: qml/Dash/PageHeader.qml:275
191+#: qml/Dash/PageHeader.qml:284
188msgid "Remove from Favorites"
192msgid "Remove from Favorites"
189msgstr ""
193msgstr ""
190
194
191−#: qml/Dash/PageHeader.qml:275
195+#: qml/Dash/PageHeader.qml:284
192msgid "Add to Favorites"
196msgid "Add to Favorites"
193msgstr ""
197msgstr ""
194
198
@@ -220,31 +224,23 @@ msgstr ""
220msgid "Release to refresh…"
224msgid "Release to refresh…"
221msgstr ""
225msgstr ""
222
226
223−#: qml/Dash/ScopesOverview.qml:215
227+#: qml/Dash/ScopesList.qml:63
224−msgid "Manage Scopes"
228+msgid "Manage"
225msgstr ""
229msgstr ""
226
230
227−#: qml/Dash/ScopesOverview.qml:437
231+#: qml/Dash/ScopesList.qml:105
228−msgid "Done"
229−msgstr ""
230−
231−#: qml/Dash/ScopesOverview.qml:463
232−msgid "Store"
232+msgid "Home"
233msgstr ""
233msgstr ""
234
234
235−#: qml/Dash/ScopesOverviewTab.qml:36
235+#: qml/Dash/ScopesList.qml:106
236−msgid "Favorites"
236+msgid "Also installed"
237−msgstr ""
238−
239−#: qml/Dash/ScopesOverviewTab.qml:54
240−msgid "All"
241msgstr ""
237msgstr ""
242
238
243#: qml/Greeter/Greeter.qml:174
239#: qml/Greeter/Greeter.qml:174
244msgid "Unlock"
240msgid "Unlock"
245msgstr ""
241msgstr ""
246
242
247−#: qml/Notifications/NotificationMenuItemFactory.qml:116
243+#: qml/Notifications/NotificationMenuItemFactory.qml:128
248msgid "Show password"
244msgid "Show password"
249msgstr ""
245msgstr ""
250
246
@@ -292,55 +288,55 @@ msgstr ""
292msgid "Roaming"
288msgid "Roaming"
293msgstr ""
289msgstr ""
294
290
295−#: qml/Shell.qml:391
291+#: qml/Shell.qml:390
296msgid "Enter passphrase"
292msgid "Enter passphrase"
297msgstr ""
293msgstr ""
298
294
299−#: qml/Shell.qml:392
295+#: qml/Shell.qml:391
300msgid "Sorry, incorrect passphrase"
296msgid "Sorry, incorrect passphrase"
301msgstr ""
297msgstr ""
302
298
303−#: qml/Shell.qml:393
299+#: qml/Shell.qml:392
304msgid "Please re-enter"
300msgid "Please re-enter"
305msgstr ""
301msgstr ""
306
302
307−#: qml/Shell.qml:395
303+#: qml/Shell.qml:394
308msgid "Enter passcode"
304msgid "Enter passcode"
309msgstr ""
305msgstr ""
310
306
311−#: qml/Shell.qml:396
307+#: qml/Shell.qml:395
312msgid "Sorry, incorrect passcode"
308msgid "Sorry, incorrect passcode"
313msgstr ""
309msgstr ""
314
310
315−#: qml/Shell.qml:399
311+#: qml/Shell.qml:398
316#, qt-format
312#, qt-format
317msgid "Enter %1"
313msgid "Enter %1"
318msgstr ""
314msgstr ""
319
315
320−#: qml/Shell.qml:400
316+#: qml/Shell.qml:399
321#, qt-format
317#, qt-format
322msgid "Sorry, incorrect %1"
318msgid "Sorry, incorrect %1"
323msgstr ""
319msgstr ""
324
320
325−#: qml/Shell.qml:441
321+#: qml/Shell.qml:440
326msgid "Sorry, incorrect passphrase."
322msgid "Sorry, incorrect passphrase."
327msgstr ""
323msgstr ""
328
324
329−#: qml/Shell.qml:442
325+#: qml/Shell.qml:441
330msgid "Sorry, incorrect passcode."
326msgid "Sorry, incorrect passcode."
331msgstr ""
327msgstr ""
332
328
333−#: qml/Shell.qml:443
329+#: qml/Shell.qml:442
334msgid "This will be your last attempt."
330msgid "This will be your last attempt."
335msgstr ""
331msgstr ""
336
332
337−#: qml/Shell.qml:445
333+#: qml/Shell.qml:444
338msgid ""
334msgid ""
339"If passphrase is entered incorrectly, your phone will conduct a factory "
335"If passphrase is entered incorrectly, your phone will conduct a factory "
340"reset and all personal data will be deleted."
336"reset and all personal data will be deleted."
341msgstr ""
337msgstr ""
342
338
343−#: qml/Shell.qml:446
339+#: qml/Shell.qml:445
344msgid ""
340msgid ""
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
341"If passcode is entered incorrectly, your phone will conduct a factory reset "
346"and all personal data will be deleted."
342"and all personal data will be deleted."
po/te.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-07-19 10:04+0000\n"
11"PO-Revision-Date: 2014-07-19 10:04+0000\n"
12"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
12"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
13"Language-Team: Telugu <te@li.org>\n"
13"Language-Team: Telugu <te@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "వెతుకు"
178msgstr "వెతుకు"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr "సంకేతపదాన్ని చూపించు"
242msgstr "సంకేతపదాన్ని చూపించు"
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/th.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-10-02 04:55+0000\n"
11"PO-Revision-Date: 2014-10-02 04:55+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Thai <th@li.org>\n"
13"Language-Team: Thai <th@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr ""
178msgstr ""
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/tr.po+33−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-07-16 17:58+0000\n"
11"PO-Revision-Date: 2014-07-16 17:58+0000\n"
12"Last-Translator: Volkan Gezer <Unknown>\n"
12"Last-Translator: Volkan Gezer <Unknown>\n"
13"Language-Team: Turkish <tr@li.org>\n"
13"Language-Team: Turkish <tr@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:21+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -175,20 +175,24 @@ msgstr "Daha azını gör"
175msgid "See all"
175msgid "See all"
176msgstr "Tümünü gör"
176msgstr "Tümünü gör"
177
177
178−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
178+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
179#: qml/Panel/SearchIndicator.qml:27
179#: qml/Panel/SearchIndicator.qml:27
180msgid "Search"
180msgid "Search"
181msgstr "Ara"
181msgstr "Ara"
182
182
183−#: qml/Dash/PageHeader.qml:268
183+#: qml/Dash/PageHeader.qml:260
184+msgid "Store"
185+msgstr "Mağaza"
186+
187+#: qml/Dash/PageHeader.qml:277
184msgid "Settings"
188msgid "Settings"
185msgstr ""
189msgstr ""
186
190
187−#: qml/Dash/PageHeader.qml:275
191+#: qml/Dash/PageHeader.qml:284
188msgid "Remove from Favorites"
192msgid "Remove from Favorites"
189msgstr ""
193msgstr ""
190
194
191−#: qml/Dash/PageHeader.qml:275
195+#: qml/Dash/PageHeader.qml:284
192msgid "Add to Favorites"
196msgid "Add to Favorites"
193msgstr "Yer İmlerine Ekle"
197msgstr "Yer İmlerine Ekle"
194
198
@@ -220,31 +224,23 @@ msgstr ""
220msgid "Release to refresh…"
224msgid "Release to refresh…"
221msgstr ""
225msgstr ""
222
226
223−#: qml/Dash/ScopesOverview.qml:215
227+#: qml/Dash/ScopesList.qml:63
224−msgid "Manage Scopes"
228+msgid "Manage"
225msgstr ""
229msgstr ""
226
230
227−#: qml/Dash/ScopesOverview.qml:437
231+#: qml/Dash/ScopesList.qml:105
228−msgid "Done"
232+msgid "Home"
229−msgstr "Bitti"
230−
231−#: qml/Dash/ScopesOverview.qml:463
232−msgid "Store"
233−msgstr "Mağaza"
234−
235−#: qml/Dash/ScopesOverviewTab.qml:36
236−msgid "Favorites"
237msgstr ""
233msgstr ""
238
234
239−#: qml/Dash/ScopesOverviewTab.qml:54
235+#: qml/Dash/ScopesList.qml:106
240−msgid "All"
236+msgid "Also installed"
241msgstr ""
237msgstr ""
242
238
243#: qml/Greeter/Greeter.qml:174
239#: qml/Greeter/Greeter.qml:174
244msgid "Unlock"
240msgid "Unlock"
245msgstr ""
241msgstr ""
246
242
247−#: qml/Notifications/NotificationMenuItemFactory.qml:116
243+#: qml/Notifications/NotificationMenuItemFactory.qml:128
248msgid "Show password"
244msgid "Show password"
249msgstr "Parolayı göster"
245msgstr "Parolayı göster"
250
246
@@ -292,49 +288,49 @@ msgstr "SIM kilidini aç"
292msgid "Roaming"
288msgid "Roaming"
293msgstr ""
289msgstr ""
294
290
295−#: qml/Shell.qml:391
291+#: qml/Shell.qml:390
296msgid "Enter passphrase"
292msgid "Enter passphrase"
297msgstr ""
293msgstr ""
298
294
299−#: qml/Shell.qml:392
295+#: qml/Shell.qml:391
300msgid "Sorry, incorrect passphrase"
296msgid "Sorry, incorrect passphrase"
301msgstr "Üzgünüm, hatalı parola"
297msgstr "Üzgünüm, hatalı parola"
302
298
303−#: qml/Shell.qml:393
299+#: qml/Shell.qml:392
304msgid "Please re-enter"
300msgid "Please re-enter"
305msgstr ""
301msgstr ""
306
302
307−#: qml/Shell.qml:395
303+#: qml/Shell.qml:394
308msgid "Enter passcode"
304msgid "Enter passcode"
309msgstr ""
305msgstr ""
310
306
311−#: qml/Shell.qml:396
307+#: qml/Shell.qml:395
312msgid "Sorry, incorrect passcode"
308msgid "Sorry, incorrect passcode"
313msgstr "Üzgünüm, hatalı parola"
309msgstr "Üzgünüm, hatalı parola"
314
310
315−#: qml/Shell.qml:399
311+#: qml/Shell.qml:398
316#, qt-format
312#, qt-format
317msgid "Enter %1"
313msgid "Enter %1"
318msgstr ""
314msgstr ""
319
315
320−#: qml/Shell.qml:400
316+#: qml/Shell.qml:399
321#, qt-format
317#, qt-format
322msgid "Sorry, incorrect %1"
318msgid "Sorry, incorrect %1"
323msgstr "Üzgünüm, hatalı %1"
319msgstr "Üzgünüm, hatalı %1"
324
320
325−#: qml/Shell.qml:441
321+#: qml/Shell.qml:440
326msgid "Sorry, incorrect passphrase."
322msgid "Sorry, incorrect passphrase."
327msgstr "Üzgünüm, hatalı parola."
323msgstr "Üzgünüm, hatalı parola."
328
324
329−#: qml/Shell.qml:442
325+#: qml/Shell.qml:441
330msgid "Sorry, incorrect passcode."
326msgid "Sorry, incorrect passcode."
331msgstr "Üzgünüm, hatalı parola."
327msgstr "Üzgünüm, hatalı parola."
332
328
333−#: qml/Shell.qml:443
329+#: qml/Shell.qml:442
334msgid "This will be your last attempt."
330msgid "This will be your last attempt."
335msgstr "Bu son denemeniz olacak."
331msgstr "Bu son denemeniz olacak."
336
332
337−#: qml/Shell.qml:445
333+#: qml/Shell.qml:444
338msgid ""
334msgid ""
339"If passphrase is entered incorrectly, your phone will conduct a factory "
335"If passphrase is entered incorrectly, your phone will conduct a factory "
340"reset and all personal data will be deleted."
336"reset and all personal data will be deleted."
@@ -342,7 +338,7 @@ msgstr ""
342"Eğer hatalı parola girilirse, telefonunuz fabrika ayarlarına dönecek ve tüm "
338"Eğer hatalı parola girilirse, telefonunuz fabrika ayarlarına dönecek ve tüm "
343"kişisel verileriniz silinecek."
339"kişisel verileriniz silinecek."
344
340
345−#: qml/Shell.qml:446
341+#: qml/Shell.qml:445
346msgid ""
342msgid ""
347"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
348"and all personal data will be deleted."
344"and all personal data will be deleted."
@@ -364,3 +360,6 @@ msgstr ""
364
360
365#~ msgid "Speaking..."
361#~ msgid "Speaking..."
366#~ msgstr "Konuşuyor..."
362#~ msgstr "Konuşuyor..."
363+
364+#~ msgid "Done"
365+#~ msgstr "Bitti"
po/ug.po+46−38
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-10-07 09:00+0000\n"
11"PO-Revision-Date: 2014-10-07 09:00+0000\n"
12"Last-Translator: Gheyret T.Kenji <Unknown>\n"
12"Last-Translator: Gheyret T.Kenji <Unknown>\n"
13"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
13"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -157,7 +157,7 @@ msgstr ""
157
157
158#: qml/Components/Lockscreen.qml:223
158#: qml/Components/Lockscreen.qml:223
159msgid "Return to Call"
159msgid "Return to Call"
160−msgstr ""
160+msgstr "سۆزلىشىشكە قايت"
161
161
162#: qml/Components/Lockscreen.qml:223
162#: qml/Components/Lockscreen.qml:223
163msgid "Emergency Call"
163msgid "Emergency Call"
@@ -175,20 +175,24 @@ msgstr "ئازراق كۆرۈش"
175msgid "See all"
175msgid "See all"
176msgstr "ھەممىنى كۆرۈش…"
176msgstr "ھەممىنى كۆرۈش…"
177
177
178−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
178+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
179#: qml/Panel/SearchIndicator.qml:27
179#: qml/Panel/SearchIndicator.qml:27
180msgid "Search"
180msgid "Search"
181msgstr "ئىزدە"
181msgstr "ئىزدە"
182
182
183−#: qml/Dash/PageHeader.qml:268
183+#: qml/Dash/PageHeader.qml:260
184+msgid "Store"
185+msgstr "ساقلا"
186+
187+#: qml/Dash/PageHeader.qml:277
184msgid "Settings"
188msgid "Settings"
185msgstr "تەڭشەكلەر"
189msgstr "تەڭشەكلەر"
186
190
187−#: qml/Dash/PageHeader.qml:275
191+#: qml/Dash/PageHeader.qml:284
188msgid "Remove from Favorites"
192msgid "Remove from Favorites"
189msgstr "يىغقۇچتىن چىقىرىۋەت"
193msgstr "يىغقۇچتىن چىقىرىۋەت"
190
194
191−#: qml/Dash/PageHeader.qml:275
195+#: qml/Dash/PageHeader.qml:284
192msgid "Add to Favorites"
196msgid "Add to Favorites"
193msgstr "يىغقۇچقا قوش"
197msgstr "يىغقۇچقا قوش"
194
198
@@ -220,31 +224,23 @@ msgstr "تارتسا يېڭىلىنىدۇ…"
220msgid "Release to refresh…"
224msgid "Release to refresh…"
221msgstr "قويۇۋەتسە يېڭىلىنىدۇ…"
225msgstr "قويۇۋەتسە يېڭىلىنىدۇ…"
222
226
223−#: qml/Dash/ScopesOverview.qml:215
227+#: qml/Dash/ScopesList.qml:63
224−msgid "Manage Scopes"
228+msgid "Manage"
225−msgstr "دائىرە باشقۇرۇش"
229+msgstr ""
226−
227−#: qml/Dash/ScopesOverview.qml:437
228−msgid "Done"
229−msgstr "تامام"
230−
231−#: qml/Dash/ScopesOverview.qml:463
232−msgid "Store"
233−msgstr "ساقلا"
234
230
235−#: qml/Dash/ScopesOverviewTab.qml:36
231+#: qml/Dash/ScopesList.qml:105
236−msgid "Favorites"
232+msgid "Home"
237−msgstr "يىغقۇچ"
233+msgstr ""
238
234
239−#: qml/Dash/ScopesOverviewTab.qml:54
235+#: qml/Dash/ScopesList.qml:106
240−msgid "All"
236+msgid "Also installed"
241−msgstr "ھەممىسى"
237+msgstr ""
242
238
243#: qml/Greeter/Greeter.qml:174
239#: qml/Greeter/Greeter.qml:174
244msgid "Unlock"
240msgid "Unlock"
245msgstr "قۇلۇپسىزلا"
241msgstr "قۇلۇپسىزلا"
246
242
247−#: qml/Notifications/NotificationMenuItemFactory.qml:116
243+#: qml/Notifications/NotificationMenuItemFactory.qml:128
248msgid "Show password"
244msgid "Show password"
249msgstr "ئىم كۆرسەت"
245msgstr "ئىم كۆرسەت"
250
246
@@ -292,49 +288,49 @@ msgstr "SIM نى قۇلۇپسىزلاش"
292msgid "Roaming"
288msgid "Roaming"
293msgstr "كەزمە"
289msgstr "كەزمە"
294
290
295−#: qml/Shell.qml:391
291+#: qml/Shell.qml:390
296msgid "Enter passphrase"
292msgid "Enter passphrase"
297msgstr "ئىم كىرگۈزۈڭ"
293msgstr "ئىم كىرگۈزۈڭ"
298
294
299−#: qml/Shell.qml:392
295+#: qml/Shell.qml:391
300msgid "Sorry, incorrect passphrase"
296msgid "Sorry, incorrect passphrase"
301msgstr "كەچۈرۈڭ، ئىم توغرا ئەمەس"
297msgstr "كەچۈرۈڭ، ئىم توغرا ئەمەس"
302
298
303−#: qml/Shell.qml:393
299+#: qml/Shell.qml:392
304msgid "Please re-enter"
300msgid "Please re-enter"
305msgstr "قايتا كىرگۈزۈڭ"
301msgstr "قايتا كىرگۈزۈڭ"
306
302
307−#: qml/Shell.qml:395
303+#: qml/Shell.qml:394
308msgid "Enter passcode"
304msgid "Enter passcode"
309msgstr "ئىم كودى(passcode)نى كىرگۈزۈڭ"
305msgstr "ئىم كودى(passcode)نى كىرگۈزۈڭ"
310
306
311−#: qml/Shell.qml:396
307+#: qml/Shell.qml:395
312msgid "Sorry, incorrect passcode"
308msgid "Sorry, incorrect passcode"
313msgstr "كەچۈرۈڭ، ئىم توغرا ئەمەس"
309msgstr "كەچۈرۈڭ، ئىم توغرا ئەمەس"
314
310
315−#: qml/Shell.qml:399
311+#: qml/Shell.qml:398
316#, qt-format
312#, qt-format
317msgid "Enter %1"
313msgid "Enter %1"
318msgstr "%1 نى كىرگۈزۈڭ"
314msgstr "%1 نى كىرگۈزۈڭ"
319
315
320−#: qml/Shell.qml:400
316+#: qml/Shell.qml:399
321#, qt-format
317#, qt-format
322msgid "Sorry, incorrect %1"
318msgid "Sorry, incorrect %1"
323msgstr "كەچۈرۈڭ، %1 توغرا ئەمەس"
319msgstr "كەچۈرۈڭ، %1 توغرا ئەمەس"
324
320
325−#: qml/Shell.qml:441
321+#: qml/Shell.qml:440
326msgid "Sorry, incorrect passphrase."
322msgid "Sorry, incorrect passphrase."
327msgstr "كەچۈرۈڭ، ئىم توغرا ئەمەس"
323msgstr "كەچۈرۈڭ، ئىم توغرا ئەمەس"
328
324
329−#: qml/Shell.qml:442
325+#: qml/Shell.qml:441
330msgid "Sorry, incorrect passcode."
326msgid "Sorry, incorrect passcode."
331msgstr "كەچۈرۈڭ، ئىم كودى ئەمەس"
327msgstr "كەچۈرۈڭ، ئىم كودى ئەمەس"
332
328
333−#: qml/Shell.qml:443
329+#: qml/Shell.qml:442
334msgid "This will be your last attempt."
330msgid "This will be your last attempt."
335msgstr "بۇ سىزنىڭ ئەڭ ئاخىرقى پۇرسىتىڭىز"
331msgstr "بۇ سىزنىڭ ئەڭ ئاخىرقى پۇرسىتىڭىز"
336
332
337−#: qml/Shell.qml:445
333+#: qml/Shell.qml:444
338msgid ""
334msgid ""
339"If passphrase is entered incorrectly, your phone will conduct a factory "
335"If passphrase is entered incorrectly, your phone will conduct a factory "
340"reset and all personal data will be deleted."
336"reset and all personal data will be deleted."
@@ -342,7 +338,7 @@ msgstr ""
342"ئەگەر ئىم توغرا بولمىسا، تېلېفونىڭىز ئەسلىگە قايتۇرۇلۇپ، زاۋۇتتىن چىققان "
338"ئەگەر ئىم توغرا بولمىسا، تېلېفونىڭىز ئەسلىگە قايتۇرۇلۇپ، زاۋۇتتىن چىققان "
343"ھالەتكە كېلىپ قالىدۇ. بارلىق مەزمۇنلار يوقىلىدۇ."
339"ھالەتكە كېلىپ قالىدۇ. بارلىق مەزمۇنلار يوقىلىدۇ."
344
340
345−#: qml/Shell.qml:446
341+#: qml/Shell.qml:445
346msgid ""
342msgid ""
347"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
348"and all personal data will be deleted."
344"and all personal data will be deleted."
@@ -364,3 +360,15 @@ msgstr ""
364
360
365#~ msgid "Speaking..."
361#~ msgid "Speaking..."
366#~ msgstr "سۆزلەۋاتىسىز…"
362#~ msgstr "سۆزلەۋاتىسىز…"
363+
364+#~ msgid "Done"
365+#~ msgstr "تامام"
366+
367+#~ msgid "Favorites"
368+#~ msgstr "يىغقۇچ"
369+
370+#~ msgid "All"
371+#~ msgstr "ھەممىسى"
372+
373+#~ msgid "Manage Scopes"
374+#~ msgstr "دائىرە باشقۇرۇش"
po/uk.po+45−37
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-07 16:47+0000\n"
11"PO-Revision-Date: 2014-11-07 16:47+0000\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
19+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
20−"X-Generator: Launchpad (build 17231)\n"
20+"X-Generator: Launchpad (build 17283)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:130
22#: plugins/LightDM/Greeter.cpp:130
23msgid "Password: "
23msgid "Password: "
@@ -185,20 +185,24 @@ msgstr "Стисліше"
185msgid "See all"
185msgid "See all"
186msgstr "Детальніше"
186msgstr "Детальніше"
187
187
188−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
188+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
189#: qml/Panel/SearchIndicator.qml:27
189#: qml/Panel/SearchIndicator.qml:27
190msgid "Search"
190msgid "Search"
191msgstr "Пошук"
191msgstr "Пошук"
192
192
193−#: qml/Dash/PageHeader.qml:268
193+#: qml/Dash/PageHeader.qml:260
194+msgid "Store"
195+msgstr "Крамниця"
196+
197+#: qml/Dash/PageHeader.qml:277
194msgid "Settings"
198msgid "Settings"
195msgstr "Параметри"
199msgstr "Параметри"
196
200
197−#: qml/Dash/PageHeader.qml:275
201+#: qml/Dash/PageHeader.qml:284
198msgid "Remove from Favorites"
202msgid "Remove from Favorites"
199msgstr "Вилучити з вибраного"
203msgstr "Вилучити з вибраного"
200
204
201−#: qml/Dash/PageHeader.qml:275
205+#: qml/Dash/PageHeader.qml:284
202msgid "Add to Favorites"
206msgid "Add to Favorites"
203msgstr "Додати до вибраного"
207msgstr "Додати до вибраного"
204
208
@@ -230,31 +234,23 @@ msgstr "Потягніть для оновлення…"
230msgid "Release to refresh…"
234msgid "Release to refresh…"
231msgstr "Відпустіть для оновлення…"
235msgstr "Відпустіть для оновлення…"
232
236
233−#: qml/Dash/ScopesOverview.qml:215
237+#: qml/Dash/ScopesList.qml:63
234−msgid "Manage Scopes"
238+msgid "Manage"
235−msgstr "Керування областями"
239+msgstr "Керування"
236−
237−#: qml/Dash/ScopesOverview.qml:437
238−msgid "Done"
239−msgstr "Виконано"
240−
241−#: qml/Dash/ScopesOverview.qml:463
242−msgid "Store"
243−msgstr "Крамниця"
244
240
245−#: qml/Dash/ScopesOverviewTab.qml:36
241+#: qml/Dash/ScopesList.qml:105
246−msgid "Favorites"
242+msgid "Home"
247−msgstr "Улюблене"
243+msgstr "Домівка"
248
244
249−#: qml/Dash/ScopesOverviewTab.qml:54
245+#: qml/Dash/ScopesList.qml:106
250−msgid "All"
246+msgid "Also installed"
251−msgstr "Все"
247+msgstr "Також встановлено"
252
248
253#: qml/Greeter/Greeter.qml:174
249#: qml/Greeter/Greeter.qml:174
254msgid "Unlock"
250msgid "Unlock"
255msgstr "Розблокувати"
251msgstr "Розблокувати"
256
252
257−#: qml/Notifications/NotificationMenuItemFactory.qml:116
253+#: qml/Notifications/NotificationMenuItemFactory.qml:128
258msgid "Show password"
254msgid "Show password"
259msgstr "Показати пароль"
255msgstr "Показати пароль"
260
256
@@ -302,49 +298,49 @@ msgstr "Розблокувати SIM"
302msgid "Roaming"
298msgid "Roaming"
303msgstr "Роумінг"
299msgstr "Роумінг"
304
300
305−#: qml/Shell.qml:391
301+#: qml/Shell.qml:390
306msgid "Enter passphrase"
302msgid "Enter passphrase"
307msgstr "Введіть пароль"
303msgstr "Введіть пароль"
308
304
309−#: qml/Shell.qml:392
305+#: qml/Shell.qml:391
310msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
311msgstr "Вибачте, помилковий пароль"
307msgstr "Вибачте, помилковий пароль"
312
308
313−#: qml/Shell.qml:393
309+#: qml/Shell.qml:392
314msgid "Please re-enter"
310msgid "Please re-enter"
315msgstr "Ввведіть ще раз"
311msgstr "Ввведіть ще раз"
316
312
317−#: qml/Shell.qml:395
313+#: qml/Shell.qml:394
318msgid "Enter passcode"
314msgid "Enter passcode"
319msgstr "Введіть код"
315msgstr "Введіть код"
320
316
321−#: qml/Shell.qml:396
317+#: qml/Shell.qml:395
322msgid "Sorry, incorrect passcode"
318msgid "Sorry, incorrect passcode"
323msgstr "Вибачте, помилковий код-пароль"
319msgstr "Вибачте, помилковий код-пароль"
324
320
325−#: qml/Shell.qml:399
321+#: qml/Shell.qml:398
326#, qt-format
322#, qt-format
327msgid "Enter %1"
323msgid "Enter %1"
328msgstr "Введіть %1"
324msgstr "Введіть %1"
329
325
330−#: qml/Shell.qml:400
326+#: qml/Shell.qml:399
331#, qt-format
327#, qt-format
332msgid "Sorry, incorrect %1"
328msgid "Sorry, incorrect %1"
333msgstr "Вибачте, помилковий %1"
329msgstr "Вибачте, помилковий %1"
334
330
335−#: qml/Shell.qml:441
331+#: qml/Shell.qml:440
336msgid "Sorry, incorrect passphrase."
332msgid "Sorry, incorrect passphrase."
337msgstr "Вибачте, помилковий пароль."
333msgstr "Вибачте, помилковий пароль."
338
334
339−#: qml/Shell.qml:442
335+#: qml/Shell.qml:441
340msgid "Sorry, incorrect passcode."
336msgid "Sorry, incorrect passcode."
341msgstr "Вибачте, помилковий код-пароль."
337msgstr "Вибачте, помилковий код-пароль."
342
338
343−#: qml/Shell.qml:443
339+#: qml/Shell.qml:442
344msgid "This will be your last attempt."
340msgid "This will be your last attempt."
345msgstr "Ця спроба буде останньою."
341msgstr "Ця спроба буде останньою."
346
342
347−#: qml/Shell.qml:445
343+#: qml/Shell.qml:444
348msgid ""
344msgid ""
349"If passphrase is entered incorrectly, your phone will conduct a factory "
345"If passphrase is entered incorrectly, your phone will conduct a factory "
350"reset and all personal data will be deleted."
346"reset and all personal data will be deleted."
@@ -352,7 +348,7 @@ msgstr ""
352"Якщо пароль буде вказано неправильно, телефон повернеться до початкового "
348"Якщо пароль буде вказано неправильно, телефон повернеться до початкового "
353"стану, усі особисті дані буде вилучено."
349"стану, усі особисті дані буде вилучено."
354
350
355−#: qml/Shell.qml:446
351+#: qml/Shell.qml:445
356msgid ""
352msgid ""
357"If passcode is entered incorrectly, your phone will conduct a factory reset "
353"If passcode is entered incorrectly, your phone will conduct a factory reset "
358"and all personal data will be deleted."
354"and all personal data will be deleted."
@@ -374,3 +370,15 @@ msgstr ""
374
370
375#~ msgid "Speaking..."
371#~ msgid "Speaking..."
376#~ msgstr "Мовлення…"
372#~ msgstr "Мовлення…"
373+
374+#~ msgid "All"
375+#~ msgstr "Все"
376+
377+#~ msgid "Favorites"
378+#~ msgstr "Улюблене"
379+
380+#~ msgid "Done"
381+#~ msgstr "Виконано"
382+
383+#~ msgid "Manage Scopes"
384+#~ msgstr "Керування областями"
po/unity8.pot+28−32
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10"Report-Msgid-Bugs-To: \n"
10"Report-Msgid-Bugs-To: \n"
11−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
11+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr ""
178msgstr ""
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/vi.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-01-15 01:19+0000\n"
11"PO-Revision-Date: 2014-01-15 01:19+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Vietnamese <vi@li.org>\n"
13"Language-Team: Vietnamese <vi@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr ""
178msgstr ""
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/xh.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr ""
172msgid "See all"
172msgid "See all"
173msgstr ""
173msgstr ""
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr ""
178msgstr ""
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr ""
242msgstr ""
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/zh_CN.po+44−39
@@ -7,20 +7,20 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11−"PO-Revision-Date: 2014-08-12 14:09+0000\n"
11+"PO-Revision-Date: 2014-12-04 11:57+0000\n"
12−"Last-Translator: Anthony Wong <anthony.wong@ubuntu.com>\n"
12+"Last-Translator: Mo <alimo199x@gmail.com>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
23−msgstr ""
23+msgstr "密码: "
24
24
25#: plugins/Unity/Launcher/launcheritem.cpp:45
25#: plugins/Unity/Launcher/launcheritem.cpp:45
26#: plugins/Unity/Launcher/launcheritem.cpp:91
26#: plugins/Unity/Launcher/launcheritem.cpp:91
@@ -172,20 +172,24 @@ msgstr "显示更少"
172msgid "See all"
172msgid "See all"
173msgstr "查看全部"
173msgstr "查看全部"
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "搜索"
178msgstr "搜索"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr "商店"
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr "完成"
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
230−msgstr "商店"
231−
232−#: qml/Dash/ScopesOverviewTab.qml:36
233−msgid "Favorites"
229+msgid "Home"
234−msgstr "收藏夹"
230+msgstr ""
235
231
236−#: qml/Dash/ScopesOverviewTab.qml:54
232+#: qml/Dash/ScopesList.qml:106
237−msgid "All"
233+msgid "Also installed"
238−msgstr "所有"
234+msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr "显示密码"
242msgstr "显示密码"
247
243
@@ -289,55 +285,55 @@ msgstr "解开 SIM"
289msgid "Roaming"
285msgid "Roaming"
290msgstr "漫游"
286msgstr "漫游"
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
@@ -357,3 +353,12 @@ msgstr ""
357
353
358#~ msgid "Speaking..."
354#~ msgid "Speaking..."
359#~ msgstr "讲话中..."
355#~ msgstr "讲话中..."
356+
357+#~ msgid "All"
358+#~ msgstr "所有"
359+
360+#~ msgid "Favorites"
361+#~ msgstr "收藏夹"
362+
363+#~ msgid "Done"
364+#~ msgstr "完成"
po/zh_HK.po+30−34
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-08-10 11:45+0000\n"
11"PO-Revision-Date: 2014-08-10 11:45+0000\n"
12"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
12"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
13"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
13"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-09 06:54+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17231)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -172,20 +172,24 @@ msgstr "縮減查看"
172msgid "See all"
172msgid "See all"
173msgstr "查看全部"
173msgstr "查看全部"
174
174
175−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
175+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
176#: qml/Panel/SearchIndicator.qml:27
176#: qml/Panel/SearchIndicator.qml:27
177msgid "Search"
177msgid "Search"
178msgstr "搜尋"
178msgstr "搜尋"
179
179
180−#: qml/Dash/PageHeader.qml:268
180+#: qml/Dash/PageHeader.qml:260
181+msgid "Store"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:277
181msgid "Settings"
185msgid "Settings"
182msgstr ""
186msgstr ""
183
187
184−#: qml/Dash/PageHeader.qml:275
188+#: qml/Dash/PageHeader.qml:284
185msgid "Remove from Favorites"
189msgid "Remove from Favorites"
186msgstr ""
190msgstr ""
187
191
188−#: qml/Dash/PageHeader.qml:275
192+#: qml/Dash/PageHeader.qml:284
189msgid "Add to Favorites"
193msgid "Add to Favorites"
190msgstr ""
194msgstr ""
191
195
@@ -217,31 +221,23 @@ msgstr ""
217msgid "Release to refresh…"
221msgid "Release to refresh…"
218msgstr ""
222msgstr ""
219
223
220−#: qml/Dash/ScopesOverview.qml:215
224+#: qml/Dash/ScopesList.qml:63
221−msgid "Manage Scopes"
225+msgid "Manage"
222msgstr ""
226msgstr ""
223
227
224−#: qml/Dash/ScopesOverview.qml:437
228+#: qml/Dash/ScopesList.qml:105
225−msgid "Done"
226−msgstr ""
227−
228−#: qml/Dash/ScopesOverview.qml:463
229−msgid "Store"
229+msgid "Home"
230msgstr ""
230msgstr ""
231
231
232−#: qml/Dash/ScopesOverviewTab.qml:36
232+#: qml/Dash/ScopesList.qml:106
233−msgid "Favorites"
233+msgid "Also installed"
234−msgstr ""
235−
236−#: qml/Dash/ScopesOverviewTab.qml:54
237−msgid "All"
238msgstr ""
234msgstr ""
239
235
240#: qml/Greeter/Greeter.qml:174
236#: qml/Greeter/Greeter.qml:174
241msgid "Unlock"
237msgid "Unlock"
242msgstr ""
238msgstr ""
243
239
244−#: qml/Notifications/NotificationMenuItemFactory.qml:116
240+#: qml/Notifications/NotificationMenuItemFactory.qml:128
245msgid "Show password"
241msgid "Show password"
246msgstr "顯示密碼"
242msgstr "顯示密碼"
247
243
@@ -289,55 +285,55 @@ msgstr ""
289msgid "Roaming"
285msgid "Roaming"
290msgstr ""
286msgstr ""
291
287
292−#: qml/Shell.qml:391
288+#: qml/Shell.qml:390
293msgid "Enter passphrase"
289msgid "Enter passphrase"
294msgstr ""
290msgstr ""
295
291
296−#: qml/Shell.qml:392
292+#: qml/Shell.qml:391
297msgid "Sorry, incorrect passphrase"
293msgid "Sorry, incorrect passphrase"
298msgstr ""
294msgstr ""
299
295
300−#: qml/Shell.qml:393
296+#: qml/Shell.qml:392
301msgid "Please re-enter"
297msgid "Please re-enter"
302msgstr ""
298msgstr ""
303
299
304−#: qml/Shell.qml:395
300+#: qml/Shell.qml:394
305msgid "Enter passcode"
301msgid "Enter passcode"
306msgstr ""
302msgstr ""
307
303
308−#: qml/Shell.qml:396
304+#: qml/Shell.qml:395
309msgid "Sorry, incorrect passcode"
305msgid "Sorry, incorrect passcode"
310msgstr ""
306msgstr ""
311
307
312−#: qml/Shell.qml:399
308+#: qml/Shell.qml:398
313#, qt-format
309#, qt-format
314msgid "Enter %1"
310msgid "Enter %1"
315msgstr ""
311msgstr ""
316
312
317−#: qml/Shell.qml:400
313+#: qml/Shell.qml:399
318#, qt-format
314#, qt-format
319msgid "Sorry, incorrect %1"
315msgid "Sorry, incorrect %1"
320msgstr ""
316msgstr ""
321
317
322−#: qml/Shell.qml:441
318+#: qml/Shell.qml:440
323msgid "Sorry, incorrect passphrase."
319msgid "Sorry, incorrect passphrase."
324msgstr ""
320msgstr ""
325
321
326−#: qml/Shell.qml:442
322+#: qml/Shell.qml:441
327msgid "Sorry, incorrect passcode."
323msgid "Sorry, incorrect passcode."
328msgstr ""
324msgstr ""
329
325
330−#: qml/Shell.qml:443
326+#: qml/Shell.qml:442
331msgid "This will be your last attempt."
327msgid "This will be your last attempt."
332msgstr ""
328msgstr ""
333
329
334−#: qml/Shell.qml:445
330+#: qml/Shell.qml:444
335msgid ""
331msgid ""
336"If passphrase is entered incorrectly, your phone will conduct a factory "
332"If passphrase is entered incorrectly, your phone will conduct a factory "
337"reset and all personal data will be deleted."
333"reset and all personal data will be deleted."
338msgstr ""
334msgstr ""
339
335
340−#: qml/Shell.qml:446
336+#: qml/Shell.qml:445
341msgid ""
337msgid ""
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
338"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"and all personal data will be deleted."
339"and all personal data will be deleted."
po/zh_TW.po+48−43
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-11-07 10:59+0100\n"
10+"POT-Creation-Date: 2014-11-20 12:00+0100\n"
11"PO-Revision-Date: 2014-11-19 15:05+0000\n"
11"PO-Revision-Date: 2014-11-19 15:05+0000\n"
12"Last-Translator: Walter Cheuk <wwycheuk@gmail.com>\n"
12"Last-Translator: Walter Cheuk <wwycheuk@gmail.com>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-11-20 06:27+0000\n"
18+"X-Launchpad-Export-Date: 2014-12-09 06:22+0000\n"
19−"X-Generator: Launchpad (build 17252)\n"
19+"X-Generator: Launchpad (build 17283)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:130
21#: plugins/LightDM/Greeter.cpp:130
22msgid "Password: "
22msgid "Password: "
@@ -171,20 +171,24 @@ msgstr "縮減查看"
171msgid "See all"
171msgid "See all"
172msgstr "查看全部"
172msgstr "查看全部"
173
173
174−#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:258
174+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:267
175#: qml/Panel/SearchIndicator.qml:27
175#: qml/Panel/SearchIndicator.qml:27
176msgid "Search"
176msgid "Search"
177msgstr "搜尋"
177msgstr "搜尋"
178
178
179−#: qml/Dash/PageHeader.qml:268
179+#: qml/Dash/PageHeader.qml:260
180+msgid "Store"
181+msgstr "商城"
182+
183+#: qml/Dash/PageHeader.qml:277
180msgid "Settings"
184msgid "Settings"
181msgstr "設定"
185msgstr "設定"
182
186
183−#: qml/Dash/PageHeader.qml:275
187+#: qml/Dash/PageHeader.qml:284
184msgid "Remove from Favorites"
188msgid "Remove from Favorites"
185msgstr "自「最愛」移除"
189msgstr "自「最愛」移除"
186
190
187−#: qml/Dash/PageHeader.qml:275
191+#: qml/Dash/PageHeader.qml:284
188msgid "Add to Favorites"
192msgid "Add to Favorites"
189msgstr "加入到「最愛」"
193msgstr "加入到「最愛」"
190
194
@@ -216,31 +220,23 @@ msgstr "下拉以重新整理..."
216msgid "Release to refresh…"
220msgid "Release to refresh…"
217msgstr "放開以重新整理..."
221msgstr "放開以重新整理..."
218
222
219−#: qml/Dash/ScopesOverview.qml:215
223+#: qml/Dash/ScopesList.qml:63
220−msgid "Manage Scopes"
224+msgid "Manage"
221msgstr ""
225msgstr ""
222
226
223−#: qml/Dash/ScopesOverview.qml:437
227+#: qml/Dash/ScopesList.qml:105
224−msgid "Done"
225−msgstr "完成"
226−
227−#: qml/Dash/ScopesOverview.qml:463
228−msgid "Store"
229−msgstr "商城"
230−
231−#: qml/Dash/ScopesOverviewTab.qml:36
232−msgid "Favorites"
228+msgid "Home"
233−msgstr "最愛"
229+msgstr ""
234
230
235−#: qml/Dash/ScopesOverviewTab.qml:54
231+#: qml/Dash/ScopesList.qml:106
236−msgid "All"
232+msgid "Also installed"
237−msgstr "全部"
233+msgstr ""
238
234
239#: qml/Greeter/Greeter.qml:174
235#: qml/Greeter/Greeter.qml:174
240msgid "Unlock"
236msgid "Unlock"
241msgstr "解鎖"
237msgstr "解鎖"
242
238
243−#: qml/Notifications/NotificationMenuItemFactory.qml:116
239+#: qml/Notifications/NotificationMenuItemFactory.qml:128
244msgid "Show password"
240msgid "Show password"
245msgstr "顯示密碼"
241msgstr "顯示密碼"
246
242
@@ -252,31 +248,31 @@ msgstr "輕觸可返回通話…"
252msgid "Conference"
248msgid "Conference"
253msgstr "會議"
249msgstr "會議"
254
250
255−#: qml/Panel/Indicators/MenuItemFactory.qml:615
251+#: qml/Panel/Indicators/MenuItemFactory.qml:643
256msgid "Nothing is playing"
252msgid "Nothing is playing"
257msgstr "無影音播放中"
253msgstr "無影音播放中"
258
254
259−#: qml/Panel/Indicators/MenuItemFactory.qml:763
255+#: qml/Panel/Indicators/MenuItemFactory.qml:791
260msgid "In queue…"
256msgid "In queue…"
261msgstr "佇列中…"
257msgstr "佇列中…"
262
258
263−#: qml/Panel/Indicators/MenuItemFactory.qml:767
259+#: qml/Panel/Indicators/MenuItemFactory.qml:795
264msgid "Downloading"
260msgid "Downloading"
265msgstr "下載中"
261msgstr "下載中"
266
262
267−#: qml/Panel/Indicators/MenuItemFactory.qml:769
263+#: qml/Panel/Indicators/MenuItemFactory.qml:797
268msgid "Paused, tap to resume"
264msgid "Paused, tap to resume"
269msgstr "已暫停,輕觸可繼續"
265msgstr "已暫停,輕觸可繼續"
270
266
271−#: qml/Panel/Indicators/MenuItemFactory.qml:771
267+#: qml/Panel/Indicators/MenuItemFactory.qml:799
272msgid "Canceled"
268msgid "Canceled"
273msgstr "已取消"
269msgstr "已取消"
274
270
275−#: qml/Panel/Indicators/MenuItemFactory.qml:773
271+#: qml/Panel/Indicators/MenuItemFactory.qml:801
276msgid "Finished"
272msgid "Finished"
277msgstr "已完成"
273msgstr "已完成"
278
274
279−#: qml/Panel/Indicators/MenuItemFactory.qml:775
275+#: qml/Panel/Indicators/MenuItemFactory.qml:803
280msgid "Failed, tap to retry"
276msgid "Failed, tap to retry"
281msgstr "失敗,輕觸可重試"
277msgstr "失敗,輕觸可重試"
282
278
@@ -288,55 +284,55 @@ msgstr "為 SIM 卡解鎖"
288msgid "Roaming"
284msgid "Roaming"
289msgstr "漫遊"
285msgstr "漫遊"
290
286
291−#: qml/Shell.qml:381
287+#: qml/Shell.qml:390
292msgid "Enter passphrase"
288msgid "Enter passphrase"
293msgstr "輸入密語"
289msgstr "輸入密語"
294
290
295−#: qml/Shell.qml:382
291+#: qml/Shell.qml:391
296msgid "Sorry, incorrect passphrase"
292msgid "Sorry, incorrect passphrase"
297msgstr "抱歉,密語不對"
293msgstr "抱歉,密語不對"
298
294
299−#: qml/Shell.qml:383
295+#: qml/Shell.qml:392
300msgid "Please re-enter"
296msgid "Please re-enter"
301msgstr "請再輸入"
297msgstr "請再輸入"
302
298
303−#: qml/Shell.qml:385
299+#: qml/Shell.qml:394
304msgid "Enter passcode"
300msgid "Enter passcode"
305msgstr "輸入 passcode"
301msgstr "輸入 passcode"
306
302
307−#: qml/Shell.qml:386
303+#: qml/Shell.qml:395
308msgid "Sorry, incorrect passcode"
304msgid "Sorry, incorrect passcode"
309msgstr "抱歉,passcode 不對"
305msgstr "抱歉,passcode 不對"
310
306
311−#: qml/Shell.qml:389
307+#: qml/Shell.qml:398
312#, qt-format
308#, qt-format
313msgid "Enter %1"
309msgid "Enter %1"
314msgstr "輸入 %1"
310msgstr "輸入 %1"
315
311
316−#: qml/Shell.qml:390
312+#: qml/Shell.qml:399
317#, qt-format
313#, qt-format
318msgid "Sorry, incorrect %1"
314msgid "Sorry, incorrect %1"
319msgstr "抱歉,%1不對"
315msgstr "抱歉,%1不對"
320
316
321−#: qml/Shell.qml:431
317+#: qml/Shell.qml:440
322msgid "Sorry, incorrect passphrase."
318msgid "Sorry, incorrect passphrase."
323msgstr "抱歉,密語不對"
319msgstr "抱歉,密語不對"
324
320
325−#: qml/Shell.qml:432
321+#: qml/Shell.qml:441
326msgid "Sorry, incorrect passcode."
322msgid "Sorry, incorrect passcode."
327msgstr "抱歉,passcode 不對。"
323msgstr "抱歉,passcode 不對。"
328
324
329−#: qml/Shell.qml:433
325+#: qml/Shell.qml:442
330msgid "This will be your last attempt."
326msgid "This will be your last attempt."
331msgstr "這將會是您最後一次嘗試的機會。"
327msgstr "這將會是您最後一次嘗試的機會。"
332
328
333−#: qml/Shell.qml:435
329+#: qml/Shell.qml:444
334msgid ""
330msgid ""
335"If passphrase is entered incorrectly, your phone will conduct a factory "
331"If passphrase is entered incorrectly, your phone will conduct a factory "
336"reset and all personal data will be deleted."
332"reset and all personal data will be deleted."
337msgstr "如輸入的密語不對,本電話會進行重設,所有個人資料都會刪除。"
333msgstr "如輸入的密語不對,本電話會進行重設,所有個人資料都會刪除。"
338
334
339−#: qml/Shell.qml:436
335+#: qml/Shell.qml:445
340msgid ""
336msgid ""
341"If passcode is entered incorrectly, your phone will conduct a factory reset "
337"If passcode is entered incorrectly, your phone will conduct a factory reset "
342"and all personal data will be deleted."
338"and all personal data will be deleted."
@@ -356,3 +352,12 @@ msgstr "如輸入的 passcode 不對,本電話會進行重設,所有個人
356
352
357#~ msgid "Type or say a command"
353#~ msgid "Type or say a command"
358#~ msgstr "輸入或說出指令"
354#~ msgstr "輸入或說出指令"
355+
356+#~ msgid "All"
357+#~ msgstr "全部"
358+
359+#~ msgid "Favorites"
360+#~ msgstr "最愛"
361+
362+#~ msgid "Done"
363+#~ msgstr "完成"
qml/CMakeLists.txt+1
@@ -13,6 +13,7 @@ set(QML_DIRS
13 Launcher
13 Launcher
14 Stages
14 Stages
15 Notifications
15 Notifications
16+ Wizard
16 )
17 )
17
18
18install(DIRECTORY ${QML_DIRS}
19install(DIRECTORY ${QML_DIRS}
qml/Components/Dialogs.qml+17−21
@@ -24,10 +24,6 @@ import Ubuntu.Components.Popups 0.1
24Item {
24Item {
25 id: root
25 id: root
26
26
27− // Explicitly use the right domain for this widget because it might be used
28− // in other applications like the welcome wizard.
29− readonly property string domain: "unity8"
30−
31 function onPowerKeyPressed() {
27 function onPowerKeyPressed() {
32 // FIXME: event.isAutoRepeat is always false on Nexus 4.
28 // FIXME: event.isAutoRepeat is always false on Nexus 4.
33 // So we use powerKeyTimer.running to avoid the PowerOff key repeat
29 // So we use powerKeyTimer.running to avoid the PowerOff key repeat
@@ -71,17 +67,17 @@ Item {
71 id: logoutDialog
67 id: logoutDialog
72 Dialog {
68 Dialog {
73 id: dialogueLogout
69 id: dialogueLogout
74− title: i18n.dtr(root.domain, "Log out")
70+ title: i18n.tr("Log out")
75− text: i18n.dtr(root.domain, "Are you sure you want to log out?")
71+ text: i18n.tr("Are you sure you want to log out?")
76 Button {
72 Button {
77− text: i18n.dtr(root.domain, "No")
73+ text: i18n.tr("No")
78 onClicked: {
74 onClicked: {
79 PopupUtils.close(dialogueLogout);
75 PopupUtils.close(dialogueLogout);
80 d.dialogShown = false;
76 d.dialogShown = false;
81 }
77 }
82 }
78 }
83 Button {
79 Button {
84− text: i18n.dtr(root.domain, "Yes")
80+ text: i18n.tr("Yes")
85 onClicked: {
81 onClicked: {
86 DBusUnitySessionService.Logout();
82 DBusUnitySessionService.Logout();
87 PopupUtils.close(dialogueLogout);
83 PopupUtils.close(dialogueLogout);
@@ -95,17 +91,17 @@ Item {
95 id: shutdownDialog
91 id: shutdownDialog
96 Dialog {
92 Dialog {
97 id: dialogueShutdown
93 id: dialogueShutdown
98− title: i18n.dtr(root.domain, "Shut down")
94+ title: i18n.tr("Shut down")
99− text: i18n.dtr(root.domain, "Are you sure you want to shut down?")
95+ text: i18n.tr("Are you sure you want to shut down?")
100 Button {
96 Button {
101− text: i18n.dtr(root.domain, "No")
97+ text: i18n.tr("No")
102 onClicked: {
98 onClicked: {
103 PopupUtils.close(dialogueShutdown);
99 PopupUtils.close(dialogueShutdown);
104 d.dialogShown = false;
100 d.dialogShown = false;
105 }
101 }
106 }
102 }
107 Button {
103 Button {
108− text: i18n.dtr(root.domain, "Yes")
104+ text: i18n.tr("Yes")
109 onClicked: {
105 onClicked: {
110 dBusUnitySessionServiceConnection.closeAllApps();
106 dBusUnitySessionServiceConnection.closeAllApps();
111 DBusUnitySessionService.Shutdown();
107 DBusUnitySessionService.Shutdown();
@@ -120,17 +116,17 @@ Item {
120 id: rebootDialog
116 id: rebootDialog
121 Dialog {
117 Dialog {
122 id: dialogueReboot
118 id: dialogueReboot
123− title: i18n.dtr(root.domain, "Reboot")
119+ title: i18n.tr("Reboot")
124− text: i18n.dtr(root.domain, "Are you sure you want to reboot?")
120+ text: i18n.tr("Are you sure you want to reboot?")
125 Button {
121 Button {
126− text: i18n.dtr(root.domain, "No")
122+ text: i18n.tr("No")
127 onClicked: {
123 onClicked: {
128 PopupUtils.close(dialogueReboot)
124 PopupUtils.close(dialogueReboot)
129 d.dialogShown = false;
125 d.dialogShown = false;
130 }
126 }
131 }
127 }
132 Button {
128 Button {
133− text: i18n.dtr(root.domain, "Yes")
129+ text: i18n.tr("Yes")
134 onClicked: {
130 onClicked: {
135 dBusUnitySessionServiceConnection.closeAllApps();
131 dBusUnitySessionServiceConnection.closeAllApps();
136 DBusUnitySessionService.Reboot();
132 DBusUnitySessionService.Reboot();
@@ -145,10 +141,10 @@ Item {
145 id: powerDialog
141 id: powerDialog
146 Dialog {
142 Dialog {
147 id: dialoguePower
143 id: dialoguePower
148− title: i18n.dtr(root.domain, "Power")
144+ title: i18n.tr("Power")
149− text: i18n.dtr(root.domain, "Are you sure you would like\nto power off?")
145+ text: i18n.tr("Are you sure you would like\nto power off?")
150 Button {
146 Button {
151− text: i18n.dtr(root.domain, "Power off")
147+ text: i18n.tr("Power off")
152 onClicked: {
148 onClicked: {
153 dBusUnitySessionServiceConnection.closeAllApps();
149 dBusUnitySessionServiceConnection.closeAllApps();
154 PopupUtils.close(dialoguePower);
150 PopupUtils.close(dialoguePower);
@@ -158,7 +154,7 @@ Item {
158 color: UbuntuColors.red
154 color: UbuntuColors.red
159 }
155 }
160 Button {
156 Button {
161− text: i18n.dtr(root.domain, "Restart")
157+ text: i18n.tr("Restart")
162 onClicked: {
158 onClicked: {
163 dBusUnitySessionServiceConnection.closeAllApps();
159 dBusUnitySessionServiceConnection.closeAllApps();
164 DBusUnitySessionService.Reboot();
160 DBusUnitySessionService.Reboot();
@@ -168,7 +164,7 @@ Item {
168 color: UbuntuColors.green
164 color: UbuntuColors.green
169 }
165 }
170 Button {
166 Button {
171− text: i18n.dtr(root.domain, "Cancel")
167+ text: i18n.tr("Cancel")
172 onClicked: {
168 onClicked: {
173 PopupUtils.close(dialoguePower);
169 PopupUtils.close(dialoguePower);
174 d.dialogShown = false;
170 d.dialogShown = false;
qml/Components/EdgeDemo.qml+19−6
@@ -17,6 +17,7 @@
17import AccountsService 0.1
17import AccountsService 0.1
18import LightDM 0.1 as LightDM
18import LightDM 0.1 as LightDM
19import QtQuick 2.0
19import QtQuick 2.0
20+import Ubuntu.Components 1.1
20
21
21Item {
22Item {
22 id: demo
23 id: demo
@@ -61,11 +62,16 @@ Item {
61 stagesEnabled = true
62 stagesEnabled = true
62 panelEnabled = true
63 panelEnabled = true
63 panelContentEnabled = true
64 panelContentEnabled = true
65+
66+ // Use a tiny delay for these destroy() calls because if a lot is
67+ // happening at once (like creating and being destroyed in same event
68+ // loop, as might happen when answering a call while demo is open),
69+ // the destroy() call will be ignored.
64− if (d.rightEdgeDemo) d.rightEdgeDemo.destroy()
70+ if (d.rightEdgeDemo) d.rightEdgeDemo.destroy(1);
65− if (d.topEdgeDemo) d.topEdgeDemo.destroy()
71+ if (d.topEdgeDemo) d.topEdgeDemo.destroy(1);
66− if (d.bottomEdgeDemo) d.bottomEdgeDemo.destroy()
72+ if (d.bottomEdgeDemo) d.bottomEdgeDemo.destroy(1);
67− if (d.leftEdgeDemo) d.leftEdgeDemo.destroy()
73+ if (d.leftEdgeDemo) d.leftEdgeDemo.destroy(1);
68− if (d.finalEdgeDemo) d.finalEdgeDemo.destroy()
74+ if (d.finalEdgeDemo) d.finalEdgeDemo.destroy(1);
69 }
75 }
70
76
71 function startDemo() {
77 function startDemo() {
@@ -97,12 +103,19 @@ Item {
97 property bool showEdgeDemo: AccountsService.demoEdges
103 property bool showEdgeDemo: AccountsService.demoEdges
98 property bool showEdgeDemoInGreeter: AccountsService.demoEdges // TODO: AccountsService.demoEdges as lightdm user
104 property bool showEdgeDemoInGreeter: AccountsService.demoEdges // TODO: AccountsService.demoEdges as lightdm user
99
105
100− onShowEdgeDemoChanged: {
106+ function restartDemo() {
101 stopDemo()
107 stopDemo()
102 if (d.showEdgeDemo) {
108 if (d.showEdgeDemo) {
103 startDemo()
109 startDemo()
104 }
110 }
105 }
111 }
112+
113+ onShowEdgeDemoChanged: restartDemo()
114+ }
115+
116+ Connections {
117+ target: i18n
118+ onLanguageChanged: d.restartDemo()
106 }
119 }
107
120
108 function startRightEdgeDemo() {
121 function startRightEdgeDemo() {
qml/Dash/CardCarousel.qml+1
@@ -52,6 +52,7 @@ DashRenderer {
52 function pressAndHold() { cardCarousel.pressAndHold(index, model.result, model) }
52 function pressAndHold() { cardCarousel.pressAndHold(index, model.result, model) }
53
53
54 sourceComponent: cardTool.cardComponent
54 sourceComponent: cardTool.cardComponent
55+ asynchronous: true
55 onLoaded: {
56 onLoaded: {
56 item.fixedHeaderHeight = Qt.binding(function() { return carousel.headerHeight; });
57 item.fixedHeaderHeight = Qt.binding(function() { return carousel.headerHeight; });
57 item.height = Qt.binding(function() { return cardTool.cardHeight; });
58 item.height = Qt.binding(function() { return cardTool.cardHeight; });
qml/Dash/CardGrid.qml+1−1
@@ -55,11 +55,11 @@ DashRenderer {
55 delegate: Item {
55 delegate: Item {
56 width: grid.cellWidth
56 width: grid.cellWidth
57 height: grid.cellHeight
57 height: grid.cellHeight
58− visible: y + height >= root.visibleRangeBegin && y <= root.visibleRangeEnd
59 Loader {
58 Loader {
60 id: loader
59 id: loader
61 sourceComponent: cardTool.cardComponent
60 sourceComponent: cardTool.cardComponent
62 anchors.horizontalCenter: parent.horizontalCenter
61 anchors.horizontalCenter: parent.horizontalCenter
62+ asynchronous: true
63 onLoaded: {
63 onLoaded: {
64 item.objectName = "delegate" + index;
64 item.objectName = "delegate" + index;
65 item.width = Qt.binding(function() { return cardTool.cardWidth; });
65 item.width = Qt.binding(function() { return cardTool.cardWidth; });
qml/Dash/CardHorizontalList.qml+1
@@ -42,6 +42,7 @@ DashRenderer {
42 sourceComponent: cardTool.cardComponent
42 sourceComponent: cardTool.cardComponent
43 anchors { top: parent.top; bottom: parent.bottom }
43 anchors { top: parent.top; bottom: parent.bottom }
44 width: cardTool.cardWidth
44 width: cardTool.cardWidth
45+ asynchronous: true
45 onLoaded: {
46 onLoaded: {
46 item.objectName = "delegate" + index;
47 item.objectName = "delegate" + index;
47 item.fixedArtShapeSize = Qt.binding(function() { return cardTool.artShapeSize; });
48 item.fixedArtShapeSize = Qt.binding(function() { return cardTool.artShapeSize; });
qml/Dash/CardVerticalJournal.qml−1
@@ -66,7 +66,6 @@ DashRenderer {
66 id: loader
66 id: loader
67 sourceComponent: cardTool.cardComponent
67 sourceComponent: cardTool.cardComponent
68 width: cardTool.cardWidth
68 width: cardTool.cardWidth
69− visible: y + height >= root.visibleRangeBegin && y <= root.visibleRangeEnd
70 onLoaded: {
69 onLoaded: {
71 item.objectName = "delegate" + index;
70 item.objectName = "delegate" + index;
72 item.fixedArtShapeSize = Qt.binding(function() { return cardTool.artShapeSize; });
71 item.fixedArtShapeSize = Qt.binding(function() { return cardTool.artShapeSize; });
qml/Dash/Dash.qml+100−130
@@ -31,17 +31,23 @@ Showable {
31 DashCommunicatorService {
31 DashCommunicatorService {
32 objectName: "dashCommunicatorService"
32 objectName: "dashCommunicatorService"
33 onSetCurrentScopeRequested: {
33 onSetCurrentScopeRequested: {
34− if (!isSwipe || !window.active || overviewController.progress != 0) {
34+ if (!isSwipe || !window.active || bottomEdgeController.progress != 0 || scopeItem.scope || dashContent.subPageShown) {
35− if (overviewController.progress != 0 && window.active) animate = false;
35+ if (bottomEdgeController.progress != 0 && window.active) animate = false;
36 dashContent.setCurrentScopeAtIndex(index, animate, isSwipe)
36 dashContent.setCurrentScopeAtIndex(index, animate, isSwipe)
37− if (overviewController.progress != 0) {
37+ // Close dash overview and nested temp scopes in it
38− if (window.active) {
38+ if (bottomEdgeController.progress != 0) {
39− dashContentCache.scheduleUpdate();
40− }
41− overviewController.enableAnimation = window.active && !scopesOverview.showingNonFavoriteScope;
39+ bottomEdgeController.enableAnimation = window.active && !scopesOverview.showingNonFavoriteScope;
42− overviewController.progress = 0;
40+ bottomEdgeController.progress = 0;
43 scopesOverview.closeTempScope();
41 scopesOverview.closeTempScope();
44 }
42 }
43+ // Close normal temp scopes (e.g. App Store)
44+ if (scopeItem.scope) {
45+ scopeItem.backClicked();
46+ }
47+ // Close previews
48+ if (dashContent.subPageShown) {
49+ dashContent.closePreview();
50+ }
45 }
51 }
46 }
52 }
47 }
53 }
@@ -83,8 +89,8 @@ Showable {
83 }
89 }
84
90
85 QtObject {
91 QtObject {
86− id: overviewController
92+ id: bottomEdgeController
87− objectName: "overviewController"
93+ objectName: "bottomEdgeController"
88
94
89 property alias enableAnimation: progressAnimation.enabled
95 property alias enableAnimation: progressAnimation.enabled
90 property real progress: 0
96 property real progress: 0
@@ -92,108 +98,40 @@ Showable {
92 id: progressAnimation
98 id: progressAnimation
93 UbuntuNumberAnimation { }
99 UbuntuNumberAnimation { }
94 }
100 }
95− }
96
101
97− ScopesOverview {
98− id: scopesOverview
99− objectName: "scopesOverview"
100− anchors.fill: parent
101− scope: scopes.overviewScope
102− progress: overviewController.progress
103− scopeScale: scopeItem.scope ? 0.4 : (1 - overviewController.progress * 0.6)
104− visible: scopeScale != 1
105− currentIndex: dashContent.currentIndex
106− onDone: {
107− if (currentTab == 1) {
108− animateDashFromAll(dashContent.currentScopeId);
109− }
110− hide();
111− }
112− onFavoriteSelected: {
113− setCurrentScope(scopeId, false, false);
114− dashContentCache.scheduleUpdate();
115− hide();
116− }
117− onAllFavoriteSelected: {
118− setCurrentScope(scopeId, false, false);
119− dashContentCache.scheduleUpdate();
120− animateDashFromAll(dashContent.currentScopeId);
121− hide();
122− }
123− onSearchSelected: {
124− var scopeIndex = -1;
125− for (var i = 0; i < scopes.count; ++i) {
126− if (scopes.getScope(i).id == scopeId) {
127− scopeIndex = i;
128− break;
129− }
130− }
131− if (scopeIndex >= 0) {
132− // Is a favorite one
133− setCurrentScope(scopeId, false, false);
134− dashContentCache.scheduleUpdate();
135− showDashFromPos(pos, size);
136− hide();
137− } else {
138− // Is not a favorite one, activate and get openScope
139− scope.activate(result);
140− }
141− }
142− function hide() {
143− overviewController.enableAnimation = true;
144− overviewController.progress = 0;
145− }
146 onProgressChanged: {
102 onProgressChanged: {
147− if (progress == 0) {
103+ // FIXME This is to workaround a Qt bug with the model moving the current item
148− currentTab = scopeItem.scope ? 1 : 0;
104+ // when the list is ListView.SnapOneItem and ListView.StrictlyEnforceRange
105+ // together with the code in DashContent.qml
106+ if (dashContent.workaroundRestoreIndex != -1) {
107+ dashContent.currentIndex = dashContent.workaroundRestoreIndex;
108+ dashContent.workaroundRestoreIndex = -1;
149 }
109 }
150 }
110 }
151 }
111 }
152
112
153− ShaderEffectSource {
154− id: dashContentCache
155− parent: scopesOverview.dashItemEater
156− z: 1
157− sourceItem: dashContent
158− height: sourceItem.height
159− width: sourceItem.width
160− opacity: 1 - overviewController.progress
161− visible: overviewController.progress != 0 && scopeItem.scope === null
162− live: false
163− }
164−
165 DashContent {
113 DashContent {
166 id: dashContent
114 id: dashContent
167
115
168− property var scopeThatOpenedScope: null
169−
170 objectName: "dashContent"
116 objectName: "dashContent"
171 width: dash.width
117 width: dash.width
172 height: dash.height
118 height: dash.height
173 scopes: scopes
119 scopes: scopes
174− visible: !scopesOverview.showingNonFavoriteScope && x != -width
120+ visible: x != -width
175 onGotoScope: {
121 onGotoScope: {
176 dash.setCurrentScope(scopeId, true, false);
122 dash.setCurrentScope(scopeId, true, false);
177 }
123 }
178 onOpenScope: {
124 onOpenScope: {
179− scopeThatOpenedScope = currentScope;
125+ scopeItem.scopeThatOpenedScope = currentScope;
180 scopeItem.scope = scope;
126 scopeItem.scope = scope;
181− scopesOverview.currentTab = 1;
182− scopesOverview.ensureAllScopeVisible(scope.id);
183 x = -width;
127 x = -width;
184 }
128 }
185− clip: scale != 1.0 || scopeItem.visible || overviewController.progress != 0
186 Behavior on x {
129 Behavior on x {
187 UbuntuNumberAnimation {
130 UbuntuNumberAnimation {
188− duration: overviewController.progress != 0 ? 0 : UbuntuAnimation.FastDuration
189 onRunningChanged: {
131 onRunningChanged: {
190 if (!running && dashContent.x == 0) {
132 if (!running && dashContent.x == 0) {
191− dashContent.scopeThatOpenedScope.closeScope(scopeItem.scope);
133+ scopeItem.scopeThatOpenedScope.closeScope(scopeItem.scope);
192 scopeItem.scope = null;
134 scopeItem.scope = null;
193− if (overviewController.progress == 0) {
194− // Set tab to Favorites only if we are not showing the overview
195− scopesOverview.currentTab = 0;
196− }
197 }
135 }
198 }
136 }
199 }
137 }
@@ -205,47 +143,78 @@ Showable {
205 // about whether that touch was indeed performing a directional drag gesture.
143 // about whether that touch was indeed performing a directional drag gesture.
206 forceNonInteractive: overviewDragHandle.status != DirectionalDragArea.WaitingForTouch
144 forceNonInteractive: overviewDragHandle.status != DirectionalDragArea.WaitingForTouch
207
145
208− enabled: overviewController.progress == 0
146+ enabled: bottomEdgeController.progress == 0
209− opacity: enabled ? 1 : 0
147+ }
148+
149+ Rectangle {
150+ color: "black"
151+ opacity: bottomEdgeController.progress
152+ anchors.fill: dashContent
153+ }
154+
155+ ScopesList {
156+ id: scopesList
157+ objectName: "scopesList"
158+ width: dash.width
159+ height: dash.height
160+ scope: scopes.overviewScope
161+ y: dash.height * (1 - bottomEdgeController.progress)
162+ visible: bottomEdgeController.progress != 0
163+ onBackClicked: {
164+ bottomEdgeController.enableAnimation = true;
165+ bottomEdgeController.progress = 0;
166+ }
167+ onStoreClicked: {
168+ bottomEdgeController.enableAnimation = true;
169+ bottomEdgeController.progress = 0;
170+ dashContent.currentScope.performQuery("scope://com.canonical.scopes.clickstore");
171+ }
172+ onRequestFavorite: {
173+ scopes.setFavorite(scopeId, favorite);
174+ }
175+ onRequestFavoriteMoveTo: {
176+ scopes.moveFavoriteTo(scopeId, index);
177+ }
178+
179+ Binding {
180+ target: scopesList.scope
181+ property: "isActive"
182+ value: bottomEdgeController.progress === 1
183+ }
184+
185+ Connections {
186+ target: scopesList.scope
187+ onOpenScope: {
188+ bottomEdgeController.enableAnimation = true;
189+ bottomEdgeController.progress = 0;
190+ scopeItem.scopeThatOpenedScope = scopesList.scope;
191+ scopeItem.scope = scope;
192+ dashContent.x = -dashContent.width;
193+ }
194+ onGotoScope: {
195+ bottomEdgeController.enableAnimation = true;
196+ bottomEdgeController.progress = 0;
197+ dashContent.gotoScope(scopeId);
198+ }
199+ }
210 }
200 }
211
201
212 DashBackground
202 DashBackground
213 {
203 {
214 anchors.fill: scopeItem
204 anchors.fill: scopeItem
215 visible: scopeItem.visible
205 visible: scopeItem.visible
216− parent: scopeItem.parent
217− scale: scopeItem.scale
218− opacity: scopeItem.opacity
219 }
206 }
220
207
221 GenericScopeView {
208 GenericScopeView {
222 id: scopeItem
209 id: scopeItem
223 objectName: "dashTempScopeItem"
210 objectName: "dashTempScopeItem"
224
211
225− readonly property real targetOverviewScale: {
212+ property var scopeThatOpenedScope: null
226− if (scopesOverview.currentTab == 0) {
213+
227− return 0.4;
228− } else {
229− return scopesOverview.allCardSize.width / scopeItem.width;
230− }
231− }
232− readonly property real overviewProgressScale: (1 - overviewController.progress * (1 - targetOverviewScale))
233− readonly property var targetOverviewPosition: scope ? scopesOverview.allScopeCardPosition(scope.id) : null
234− readonly property real overviewProgressX: scope && scopesOverview.currentTab == 1 && targetOverviewPosition ?
235− overviewController.progress * (targetOverviewPosition.x - (width - scopesOverview.allCardSize.width) / 2)
236− : 0
237− readonly property real overviewProgressY: scope && scopesOverview.currentTab == 1 && targetOverviewPosition ?
238− overviewController.progress * (targetOverviewPosition.y - (height - scopesOverview.allCardSize.height) / 2)
239− : 0
240−
241− x: overviewController.progress == 0 ? dashContent.x + width : overviewProgressX
214+ x: dashContent.x + width
242− y: overviewController.progress == 0 ? dashContent.y : overviewProgressY
215+ y: dashContent.y
243 width: parent.width
216 width: parent.width
244 height: parent.height
217 height: parent.height
245− scale: overviewProgressScale
246− enabled: opacity == 1
247− opacity: 1 - overviewController.progress
248− clip: scale != 1.0
249 visible: scope != null
218 visible: scope != null
250 hasBackAction: true
219 hasBackAction: true
251 isCurrent: visible
220 isCurrent: visible
@@ -279,7 +248,7 @@ Showable {
279 opacity: 0
248 opacity: 0
280 visible: opacity > 0
249 visible: opacity > 0
281
250
282− readonly property bool processing: dashContent.processing || scopeItem.processing || scopesOverview.processing
251+ readonly property bool processing: dashContent.processing || scopeItem.processing || scopesList.processing
283
252
284 Behavior on opacity {
253 Behavior on opacity {
285 UbuntuNumberAnimation { duration: UbuntuAnimation.FastDuration }
254 UbuntuNumberAnimation { duration: UbuntuAnimation.FastDuration }
@@ -309,7 +278,7 @@ Showable {
309 id: orange
278 id: orange
310 anchors { top: parent.top; bottom: parent.bottom }
279 anchors { top: parent.top; bottom: parent.bottom }
311 width: parent.width / 4
280 width: parent.width / 4
312− color: Theme.palette.selected.foreground
281+ color: UbuntuColors.orange
313
282
314 SequentialAnimation {
283 SequentialAnimation {
315 running: indicator.visible
284 running: indicator.visible
@@ -336,12 +305,17 @@ Showable {
336 source: "graphics/overview_hint.png"
305 source: "graphics/overview_hint.png"
337 anchors.horizontalCenter: parent.horizontalCenter
306 anchors.horizontalCenter: parent.horizontalCenter
338 opacity: (scopeItem.scope ? scopeItem.pageHeaderTotallyVisible : dashContent.pageHeaderTotallyVisible) &&
307 opacity: (scopeItem.scope ? scopeItem.pageHeaderTotallyVisible : dashContent.pageHeaderTotallyVisible) &&
339− (overviewDragHandle.enabled || overviewController.progress != 0) ? 1 : 0
308+ (overviewDragHandle.enabled || bottomEdgeController.progress != 0) ? 1 : 0
340 Behavior on opacity {
309 Behavior on opacity {
341− enabled: overviewController.progress == 0
310+ enabled: bottomEdgeController.progress == 0
342 UbuntuNumberAnimation {}
311 UbuntuNumberAnimation {}
343 }
312 }
344− y: parent.height - height * (1 - overviewController.progress * 4)
313+ y: parent.height - height * (1 - bottomEdgeController.progress * 4)
314+ MouseArea {
315+ // Eat direct presses on the overview hint so that they do not end up in the card below
316+ anchors.fill: parent
317+ enabled: parent.opacity != 0
318+ }
345 }
319 }
346
320
347 EdgeDragArea {
321 EdgeDragArea {
@@ -352,22 +326,19 @@ Showable {
352 enabled: !dashContent.subPageShown &&
326 enabled: !dashContent.subPageShown &&
353 dashContent.currentScope &&
327 dashContent.currentScope &&
354 dashContent.currentScope.searchQuery == "" &&
328 dashContent.currentScope.searchQuery == "" &&
355− !scopeItem.subPageShown &&
329+ !scopeItem.scope &&
356− (overviewController.progress == 0 || dragging)
330+ (bottomEdgeController.progress == 0 || dragging)
357
331
358− readonly property real fullMovement: units.gu(20)
332+ readonly property real fullMovement: dash.height
359
333
360 anchors { left: parent.left; right: parent.right; bottom: parent.bottom }
334 anchors { left: parent.left; right: parent.right; bottom: parent.bottom }
361 height: units.gu(2)
335 height: units.gu(2)
362
336
363 onSceneDistanceChanged: {
337 onSceneDistanceChanged: {
364 if (status == DirectionalDragArea.Recognized && initialSceneDistance != -1) {
338 if (status == DirectionalDragArea.Recognized && initialSceneDistance != -1) {
365− if (overviewController.enableAnimation) {
366− dashContentCache.scheduleUpdate();
367− }
368− overviewController.enableAnimation = false;
339+ bottomEdgeController.enableAnimation = false;
369 var deltaDistance = sceneDistance - initialSceneDistance;
340 var deltaDistance = sceneDistance - initialSceneDistance;
370− overviewController.progress = Math.max(0, Math.min(1, deltaDistance / fullMovement));
341+ bottomEdgeController.progress = Math.max(0, Math.min(1, deltaDistance / fullMovement));
371 }
342 }
372 }
343 }
373
344
@@ -383,11 +354,10 @@ Showable {
383 initialSceneDistance = sceneDistance;
354 initialSceneDistance = sceneDistance;
384 } else if (status == DirectionalDragArea.WaitingForTouch &&
355 } else if (status == DirectionalDragArea.WaitingForTouch &&
385 previousStatus == DirectionalDragArea.Recognized) {
356 previousStatus == DirectionalDragArea.Recognized) {
386− overviewController.enableAnimation = true;
357+ bottomEdgeController.enableAnimation = true;
387− overviewController.progress = (overviewController.progress > 0.7) ? 1 : 0;
358+ bottomEdgeController.progress = (bottomEdgeController.progress > 0.2) ? 1 : 0;
388 initialSceneDistance = -1;
359 initialSceneDistance = -1;
389 }
360 }
390 }
361 }
391 }
362 }
392−
393}
363}
qml/Dash/DashContent.qml+11−1
@@ -25,7 +25,8 @@ Item {
25
25
26 property bool forceNonInteractive: false
26 property bool forceNonInteractive: false
27 property alias scopes: dashContentList.model
27 property alias scopes: dashContentList.model
28− readonly property alias currentIndex: dashContentList.currentIndex
28+ property alias currentIndex: dashContentList.currentIndex
29+ property int workaroundRestoreIndex: -1
29 readonly property string currentScopeId: dashContentList.currentItem ? dashContentList.currentItem.scopeId : ""
30 readonly property string currentScopeId: dashContentList.currentItem ? dashContentList.currentItem.scopeId : ""
30 readonly property var currentScope: dashContentList.currentItem ? dashContentList.currentItem.theScope : null
31 readonly property var currentScope: dashContentList.currentItem ? dashContentList.currentItem.theScope : null
31 readonly property bool subPageShown: dashContentList.currentItem && dashContentList.currentItem.item ?
32 readonly property bool subPageShown: dashContentList.currentItem && dashContentList.currentItem.item ?
@@ -51,6 +52,15 @@ Item {
51 set_current_index = undefined;
52 set_current_index = undefined;
52 }
53 }
53 }
54 }
55+ onRowsMoved: {
56+ // FIXME This is to workaround a Qt bug with the model moving the current item
57+ // when the list is ListView.SnapOneItem and ListView.StrictlyEnforceRange
58+ // together with the code in Dash.qml
59+ if (row == dashContentList.currentIndex || start == dashContentList.currentIndex) {
60+ dashContent.workaroundRestoreIndex = dashContentList.currentIndex;
61+ dashContentList.currentIndex = -1;
62+ }
63+ }
54 }
64 }
55
65
56 Connections {
66 Connections {
qml/Dash/DashRenderer.qml−4
@@ -27,10 +27,6 @@ Item {
27
27
28 property int displayMarginEnd: 0
28 property int displayMarginEnd: 0
29
29
30− property int visibleRangeBegin: 0
31−
32− property int visibleRangeEnd: 0
33−
34 property real originY: 0
30 property real originY: 0
35
31
36 // The model to renderer
32 // The model to renderer
qml/Dash/GenericScopeView.qml+23−26
@@ -379,32 +379,29 @@ FocusScope {
379 }
379 }
380 }
380 }
381
381
382− if (item && item.hasOwnProperty("visibleRangeBegin")) {
383− item.visibleRangeBegin = Math.max(-baseItem.y, 0)
384− item.visibleRangeEnd = item.visibleRangeBegin + Math.min(categoryView.height, rendererLoader.height)
385− }
386−
387 if (item && item.hasOwnProperty("displayMarginBeginning")) {
382 if (item && item.hasOwnProperty("displayMarginBeginning")) {
388− // TODO do we need item.originY here, test 1300302 once we have a silo
383+ // A item view is considered visible from
389− // and we can run it on the phone
384+ // -displayMarginBeginning
385+ // to
386+ // height + item.displayMarginEnd
387+ // We adjust displayMarginBeginning and displayMarginEnd so
388+ // * In non visible scopes only the viewport is considered visible
389+ // that way when you switch to it the visible items are there
390+ // * For visible scopes we increase the visible range by categoryView.height * 1.5
391+ // in both directions to make scrolling nicer by mantaining a higher number of
392+ // cached items
393+ // TODO Improvements
394+ // - For non visible scopes we should always have a visible range of 0 and
395+ // make sure the items in the viewport are created with the cache buffer feature
396+ // - For visible scopes we should always the have a visible range be exactly the
397+ // viewport and make sure the rest of items are created with the cache buffer feature
398+ // To be able to implement that feature VerticalJournal/AbstractDashView needs to
399+ // make the cache buffer value setable externally
390− if (scopeView.isCurrent) {
400+ var extraMargins = scopeView.isCurrent ? categoryView.height * 1.5 : 0;
391− // 1073741823 is s^30 -1. A quite big number so that you have "infinite" display margin, but not so
401+
392− // big so that if you add if with itself you're outside the 2^31 int range
393− item.displayMarginBeginning = 1073741823;
394− item.displayMarginEnd = 1073741823;
395− } else if (baseItem.y + baseItem.height <= 0) {
396− // Not visible (item at top of the list viewport)
397− item.displayMarginBeginning = -baseItem.height;
398− item.displayMarginEnd = 0;
399− } else if (baseItem.y >= categoryView.height) {
400− // Not visible (item at bottom of the list viewport)
401− item.displayMarginBeginning = 0;
402− item.displayMarginEnd = -baseItem.height;
403− } else {
404− item.displayMarginBeginning = Math.round(-Math.max(-baseItem.y, 0));
402+ item.displayMarginBeginning = Math.round(-Math.max(-baseItem.y - extraMargins, 0));
405− item.displayMarginEnd = -Math.round(Math.max(baseItem.height - seeAll.height -
403+ item.displayMarginEnd = -Math.round(Math.max(baseItem.height - extraMargins - seeAll.height -
406− categoryView.height + baseItem.y, 0));
404+ categoryView.height + baseItem.y, 0));
407− }
408 }
405 }
409 }
406 }
410 }
407 }
@@ -497,7 +494,7 @@ FocusScope {
497 showBackButton: scopeView.hasBackAction
494 showBackButton: scopeView.hasBackAction
498 searchEntryEnabled: true
495 searchEntryEnabled: true
499 settingsEnabled: scopeView.scope && scopeView.scope.settings && scopeView.scope.settings.count > 0 || false
496 settingsEnabled: scopeView.scope && scopeView.scope.settings && scopeView.scope.settings.count > 0 || false
500− favoriteEnabled: scopeView.scope && scopeView.scope.id !== "clickscope"
497+ favoriteEnabled: scopeView.scope
501 favorite: scopeView.scope && scopeView.scope.favorite
498 favorite: scopeView.scope && scopeView.scope.favorite
502 scopeStyle: scopeView.scopeStyle
499 scopeStyle: scopeView.scopeStyle
503 paginationCount: scopeView.paginationCount
500 paginationCount: scopeView.paginationCount
qml/Dash/PageHeader.qml+11−1
@@ -28,8 +28,10 @@ Item {
28 implicitHeight: headerContainer.height + bottomContainer.height + (showSignatureLine ? units.gu(2) : 0)
28 implicitHeight: headerContainer.height + bottomContainer.height + (showSignatureLine ? units.gu(2) : 0)
29
29
30 property bool showBackButton: false
30 property bool showBackButton: false
31+ property bool backIsClose: false
31 property string title
32 property string title
32
33
34+ property bool storeEntryEnabled: false
33 property bool searchEntryEnabled: false
35 property bool searchEntryEnabled: false
34 property bool settingsEnabled: false
36 property bool settingsEnabled: false
35 property bool favoriteEnabled: false
37 property bool favoriteEnabled: false
@@ -46,6 +48,7 @@ Item {
46 property var scopeStyle: null
48 property var scopeStyle: null
47
49
48 signal backClicked()
50 signal backClicked()
51+ signal storeClicked()
49 signal settingsClicked()
52 signal settingsClicked()
50 signal favoriteClicked()
53 signal favoriteClicked()
51
54
@@ -251,12 +254,19 @@ Item {
251 property var config: PageHeadConfiguration {
254 property var config: PageHeadConfiguration {
252 foregroundColor: root.scopeStyle ? root.scopeStyle.headerForeground : Theme.palette.normal.baseText
255 foregroundColor: root.scopeStyle ? root.scopeStyle.headerForeground : Theme.palette.normal.baseText
253 backAction: Action {
256 backAction: Action {
254− iconName: "back"
257+ iconName: backIsClose ? "close" : "back"
255 visible: root.showBackButton
258 visible: root.showBackButton
256 onTriggered: root.backClicked()
259 onTriggered: root.backClicked()
257 }
260 }
258
261
259 actions: [
262 actions: [
263+ Action {
264+ objectName: "store"
265+ text: i18n.tr("Store")
266+ iconName: "ubuntu-store-symbolic"
267+ visible: root.storeEntryEnabled
268+ onTriggered: root.storeClicked();
269+ },
260 Action {
270 Action {
261 objectName: "search"
271 objectName: "search"
262 text: i18n.tr("Search")
272 text: i18n.tr("Search")
qml/Dash/Previews/PreviewActions.qml+2−1
@@ -15,6 +15,7 @@
15 */
15 */
16
16
17import QtQuick 2.1
17import QtQuick 2.1
18+import Ubuntu.Components 1.1
18
19
19/*! This preview widget shows either one button, two buttons or one button
20/*! This preview widget shows either one button, two buttons or one button
20 * and a combo button depending on the number of items in widgetData["actions"].
21 * and a combo button depending on the number of items in widgetData["actions"].
@@ -64,7 +65,7 @@ PreviewWidget {
64 visible: row.actions && row.actions.length > 0
65 visible: row.actions && row.actions.length > 0
65 onTriggeredAction: root.triggered(root.widgetId, actionData.id, actionData)
66 onTriggeredAction: root.triggered(root.widgetId, actionData.id, actionData)
66 width: (root.width - units.gu(1)) / 2
67 width: (root.width - units.gu(1)) / 2
67− color: root.scopeStyle ? root.scopeStyle.previewButtonColor : Theme.palette.selected.foreground
68+ color: root.scopeStyle ? root.scopeStyle.previewButtonColor : UbuntuColors.orange
68 }
69 }
69 }
70 }
70}
71}
qml/Dash/Previews/PreviewPayments.qml+1−1
@@ -35,7 +35,7 @@ PreviewWidget {
35 id: paymentButton
35 id: paymentButton
36 objectName: "paymentButton"
36 objectName: "paymentButton"
37
37
38− color: Theme.palette.selected.foreground
38+ color: UbuntuColors.orange
39 text: paymentClient.formattedPrice
39 text: paymentClient.formattedPrice
40 onClicked: {
40 onClicked: {
41 paymentClient.start();
41 paymentClient.start();
qml/Dash/Previews/PreviewZoomableImage.qml+1
@@ -40,6 +40,7 @@ PreviewWidget {
40 }
40 }
41 scaleTo: "height"
41 scaleTo: "height"
42 source: widgetData["source"]
42 source: widgetData["source"]
43+ asynchronous: true
43
44
44 borderSource: mouseArea.pressed ? "radius_pressed.sci" : "radius_idle.sci"
45 borderSource: mouseArea.pressed ? "radius_pressed.sci" : "radius_idle.sci"
45
46
qml/Dash/ScopesList.qmlnew file+127
@@ -0,0 +1,127 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Dash 0.1
19+
20+Item {
21+ id: root
22+
23+ // Properties set by parent
24+ property var scope: null
25+
26+ // Properties used by parent
27+ readonly property bool processing: scope ? scope.searchInProgress : false
28+
29+ // Signals
30+ signal backClicked()
31+ signal storeClicked()
32+ signal requestFavorite(string scopeId, bool favorite)
33+ signal requestFavoriteMoveTo(string scopeId, int index)
34+
35+ state: "browse"
36+
37+ onStateChanged: {
38+ if (state == "edit") {
39+ // As per design entering edit mode clears the possible existing search
40+ header.resetSearch(false /* false == unfocus */);
41+ }
42+ }
43+
44+ DashBackground {
45+ anchors.fill: parent
46+ }
47+
48+ Binding {
49+ target: root.scope
50+ property: "searchQuery"
51+ value: header.searchQuery
52+ }
53+
54+ Binding {
55+ target: header
56+ property: "searchQuery"
57+ value: root.scope ? root.scope.searchQuery : ""
58+ }
59+
60+ PageHeader {
61+ id: header
62+ objectName: "pageHeader"
63+ title: i18n.tr("Manage")
64+ width: parent.width
65+ showBackButton: true
66+ backIsClose: root.state == "edit"
67+ storeEntryEnabled: root.state == "browse"
68+ searchEntryEnabled: false // Disable search for now
69+ onBackClicked: {
70+ if (backIsClose) {
71+ root.state = "browse"
72+ } else {
73+ root.backClicked()
74+ }
75+ }
76+ onStoreClicked: root.storeClicked();
77+ z: 1
78+ }
79+
80+ Flickable {
81+ anchors {
82+ top: header.bottom
83+ bottom: parent.bottom
84+ left: parent.left
85+ right: parent.right
86+ }
87+ clip: true
88+ contentWidth: root.width
89+ contentHeight: column.height
90+ onContentHeightChanged: returnToBounds();
91+ Column {
92+ id: column
93+ Repeater {
94+ model: scope ? scope.categories : null
95+
96+ delegate: Loader {
97+ asynchronous: true
98+ width: root.width
99+ active: results.count > 0
100+ visible: active
101+ sourceComponent: ScopesListCategory {
102+ objectName: "scopesListCategory" + categoryId
103+
104+ model: results
105+
106+ title: {
107+ if (isFavoritesFeed) return i18n.tr("Home");
108+ else if (isAlsoInstalled) return i18n.tr("Also installed");
109+ else return name;
110+ }
111+
112+ editMode: root.state == "edit"
113+
114+ scopeStyle: root.scope.scopeStyle
115+ isFavoritesFeed: categoryId == "favorites"
116+ isAlsoInstalled: categoryId == "other"
117+
118+ onRequestFavorite: root.requestFavorite(scopeId, favorite);
119+ onRequestEditMode: root.state = "edit";
120+ onRequestScopeMoveTo: root.requestFavoriteMoveTo(scopeId, index);
121+ onRequestActivate: root.scope.activate(result);
122+ }
123+ }
124+ }
125+ }
126+ }
127+}
qml/Dash/ScopesListCategory.qmlnew file+176
@@ -0,0 +1,176 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Ubuntu.Components 1.1
19+import Dash 0.1
20+import "../Components/ListItems" as ListItems
21+
22+Item {
23+ id: root
24+
25+ property alias model: list.model
26+ property alias title: header.text
27+ property var scopeStyle
28+ property bool editMode: false
29+ property bool isFavoritesFeed: false
30+ property bool isAlsoInstalled: false
31+
32+ visible: !editMode || isFavoritesFeed
33+
34+ signal requestFavorite(string scopeId, bool favorite)
35+ signal requestEditMode()
36+ signal requestScopeMoveTo(string scopeId, int index)
37+ signal requestActivate(var result)
38+
39+ implicitHeight: visible ? childrenRect.height : 0
40+
41+ ListItems.Header {
42+ id: header
43+ width: root.width
44+ height: units.gu(5)
45+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
46+ }
47+
48+ readonly property double listItemHeight: units.gu(6)
49+
50+ ListView {
51+ id: list
52+ objectName: "scopesListCategoryInnerList"
53+
54+ readonly property double targetHeight: model.count * listItemHeight
55+ clip: height != targetHeight
56+ height: targetHeight
57+ Behavior on height { enabled: visible; UbuntuNumberAnimation { } }
58+ width: parent.width
59+ interactive: false
60+
61+ anchors.top: header.bottom
62+ delegate: Loader {
63+ id: loader
64+ readonly property bool addDropHint: {
65+ if (dragMarker.visible) {
66+ if (dragItem.originalIndex > index) {
67+ return dragMarker.index == index;
68+ } else {
69+ return dragMarker.index == index - 1;
70+ }
71+ } else {
72+ return false;
73+ }
74+ }
75+ asynchronous: true
76+ width: root.width
77+ height: listItemHeight + (addDropHint ? units.gu(2) : 0)
78+ clip: height < listItemHeight
79+ Behavior on height { enabled: visible; UbuntuNumberAnimation { } }
80+ sourceComponent: ScopesListCategoryItem {
81+ objectName: "delegate" + index
82+
83+ width: root.width
84+ topMargin: height > listItemHeight ? height - listItemHeight : 0
85+
86+ icon: model.art || model.mascot || ""
87+ text: model.title || ""
88+ subtext: model.subtitle || ""
89+ showStar: root.isFavoritesFeed || root.isAlsoInstalled
90+ isFavorite: root.isFavoritesFeed
91+
92+ hideChildren: dragItem.loaderToShrink == loader
93+
94+ onClicked: {
95+ if (!editMode) {
96+ root.requestActivate(result);
97+ }
98+ }
99+ onPressAndHold: {
100+ if (!editMode) {
101+ root.requestEditMode();
102+ }
103+ }
104+ onRequestFavorite: root.requestFavorite(model.scopeId, favorite);
105+ onHandlePressed: {
106+ if (editMode) {
107+ handle.drag.target = dragItem;
108+ handle.drag.maximumX = units.gu(1);
109+ handle.drag.minimumX = units.gu(1);
110+ handle.drag.minimumY = list.y - dragItem.height / 2;
111+ handle.drag.maximumY = list.y + list.height - dragItem.height / 2
112+ dragItem.icon = icon;
113+ dragItem.text = text;
114+ dragItem.subtext = subtext;
115+ dragItem.originalY = mapToItem(root, 0, 0).y;
116+ dragItem.originalIndex = index;
117+ dragItem.y = dragItem.originalY;
118+ dragItem.x = units.gu(1);
119+ dragItem.visible = true;
120+ dragItem.loaderToShrink = loader;
121+ }
122+ }
123+ onHandleReleased: {
124+ if (dragItem.visible) {
125+ handle.drag.target = undefined;
126+ dragItem.visible = false;
127+ if (dragMarker.visible && dragMarker.index != index) {
128+ root.requestScopeMoveTo(model.scopeId, dragMarker.index);
129+ }
130+ dragMarker.visible = false;
131+ dragItem.loaderToShrink.height = listItemHeight;
132+ dragItem.loaderToShrink = null;
133+ }
134+ }
135+ }
136+ }
137+ }
138+
139+ ListItems.ThinDivider {
140+ id: dragMarker
141+ visible: false
142+ anchors {
143+ leftMargin: units.gu(1)
144+ rightMargin: units.gu(1)
145+ }
146+ property int index: {
147+ var i = Math.round((dragItem.y - list.y + dragItem.height/2) / listItemHeight);
148+ if (i < 0) i = 0;
149+ if (i >= model.count - 1) i = model.count - 1;
150+ return i;
151+ }
152+ y: list.y + index * listItemHeight + units.gu(1)
153+ }
154+
155+ ScopesListCategoryItem {
156+ id: dragItem
157+
158+ property real originalY
159+ property int originalIndex
160+ property var loaderToShrink: null
161+
162+ objectName: "dragItem"
163+ visible: false
164+ showStar: false
165+ width: root.width
166+ height: listItemHeight
167+ opacity: 0.9
168+
169+ onYChanged: {
170+ if (!dragMarker.visible && Math.abs(y - originalY) > height / 2) {
171+ dragMarker.visible = true;
172+ loaderToShrink.height = 0;
173+ }
174+ }
175+ }
176+}
qml/Dash/ScopesListCategoryItem.qmlnew file+104
@@ -0,0 +1,104 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import QtQuick.Layouts 1.1
19+import Ubuntu.Components 1.1
20+
21+MouseArea {
22+ id: root
23+
24+ signal requestFavorite(string scopeId, bool favorite)
25+ signal handlePressed(var handle)
26+ signal handleReleased(var handle)
27+
28+ property real topMargin: 0
29+ property alias icon: shapeImage.source
30+ property alias text: titleLabel.text
31+ property alias subtext: subtitleLabel.text
32+ property alias showStar: star.visible
33+
34+ property bool isFavorite: false
35+ property bool hideChildren: false
36+
37+ Item {
38+ id: holder
39+ anchors.fill: parent
40+ anchors.topMargin: root.topMargin
41+
42+ UbuntuShape {
43+ id: shape
44+ anchors {
45+ left: parent.left
46+ leftMargin: units.gu(1)
47+ verticalCenter: parent.verticalCenter
48+ }
49+ width: units.gu(5)
50+ height: units.gu(5)
51+ visible: !hideChildren
52+ image: Image {
53+ id: shapeImage
54+ cache: true
55+ fillMode: Image.PreserveAspectCrop
56+ }
57+ }
58+
59+ ColumnLayout {
60+ visible: !hideChildren
61+ anchors {
62+ left: shape.right
63+ leftMargin: units.gu(1)
64+ right: starArea.right
65+ rightMargin: units.gu(1)
66+ verticalCenter: parent.verticalCenter
67+ }
68+ Label {
69+ id: titleLabel
70+ elide: Text.ElideRight
71+ wrapMode: Text.Wrap
72+ maximumLineCount: 1
73+ verticalAlignment: Text.AlignHCenter
74+ }
75+ Label {
76+ id: subtitleLabel
77+ elide: Text.ElideRight
78+ fontSize: "xx-small"
79+ wrapMode: Text.Wrap
80+ maximumLineCount: 1
81+ verticalAlignment: Text.AlignHCenter
82+ visible: text != ""
83+ }
84+ }
85+ MouseArea {
86+ id: starArea
87+ height: parent.height
88+ width: height
89+ anchors.right: parent.right
90+ onClicked: if (!editMode) root.requestFavorite(model.scopeId, !isFavorite);
91+ onPressed: if (editMode) root.handlePressed(starArea);
92+ onReleased: if (editMode) root.handleReleased(starArea);
93+ Icon {
94+ id: star
95+ anchors.centerIn: parent
96+ height: units.gu(2)
97+ width: units.gu(2)
98+ visible: !hideChildren
99+ // TODO is view-grid-symbolic what we really want here? Looks good but seems semantically wrong
100+ source: editMode ? "image://theme/view-grid-symbolic" : isFavorite ? "image://theme/starred" : "image://theme/non-starred"
101+ }
102+ }
103+ }
104+}
qml/Dash/ScopesOverview.qmldeleted−575
@@ -1,575 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−import QtQuick 2.0
18−import Dash 0.1
19−import Ubuntu.Components 0.1
20−import "../Components"
21−
22−Item {
23− id: root
24−
25− // Properties set by parent
26− property real progress: 0
27− property var scope: null
28− property int currentIndex: 0
29− property real scopeScale: 1
30−
31− // Properties set and used by parent
32− property alias currentTab: tabBar.currentTab
33−
34− // Properties used by parent
35− readonly property bool processing: searchResultsViewer.processing || tempScopeItem.processing || previewListView.processing
36− property bool growingDashFromPos: false
37− readonly property bool searching: scope && scope.searchQuery == ""
38− readonly property bool showingNonFavoriteScope: tempScopeItem.scope != null
39− readonly property var dashItemEater: {
40− if (!forceXYScalerEater && tabBar.currentTab == 0 && middleItems.count > 0) {
41− var loaderItem = middleItems.itemAt(0).item;
42− return loaderItem && loaderItem.currentItem ? loaderItem.currentItem : null;
43− }
44− return scopesOverviewXYScaler;
45− }
46− readonly property size allCardSize: {
47− if (middleItems.count > 1) {
48− var loaderItem = middleItems.itemAt(1).item;
49− if (loaderItem) {
50− var cardTool = loaderItem.cardTool;
51− return Qt.size(cardTool.cardWidth, cardTool.cardHeight);
52− }
53− }
54− return Qt.size(0, 0);
55− }
56−
57− // Internal properties
58− property bool forceXYScalerEater: false
59−
60− signal done()
61− signal favoriteSelected(var scopeId)
62− signal allFavoriteSelected(var scopeId)
63− signal searchSelected(var scopeId, var result, var pos, var size)
64−
65− Connections {
66− target: scope
67− onOpenScope: {
68− var itemPos = scopesOverviewXYScaler.restorePosition;
69− var itemSize = scopesOverviewXYScaler.restoreSize;
70− scopesOverviewXYScaler.scale = itemSize.width / scopesOverviewXYScaler.width;
71− if (itemPos) {
72− scopesOverviewXYScaler.x = itemPos.x -(scopesOverviewXYScaler.width - scopesOverviewXYScaler.width * scopesOverviewXYScaler.scale) / 2;
73− scopesOverviewXYScaler.y = itemPos.y -(scopesOverviewXYScaler.height - scopesOverviewXYScaler.height * scopesOverviewXYScaler.scale) / 2;
74− } else {
75− scopesOverviewXYScaler.x = 0;
76− scopesOverviewXYScaler.y = 0;
77− }
78− scopesOverviewXYScaler.opacity = 0;
79− tempScopeItem.scope = scope;
80− middleItems.overrideOpacity = 0;
81− scopesOverviewXYScaler.scale = 1;
82− scopesOverviewXYScaler.x = 0;
83− scopesOverviewXYScaler.y = 0;
84− scopesOverviewXYScaler.opacity = 1;
85− }
86− onGotoScope: {
87− if (tabBar.currentTab == 0) {
88− root.favoriteSelected(scopeId);
89− } else {
90− root.allFavoriteSelected(scopeId);
91− }
92− previewListView.open = false;
93− }
94− }
95−
96− Binding {
97− target: scope
98− property: "isActive"
99− value: progress === 1
100− }
101−
102− function closeTempScope() {
103− if (tempScopeItem.scope) {
104− root.scope.closeScope(tempScopeItem.scope);
105− tempScopeItem.scope = null;
106− tempScopeItem.backClicked()
107− }
108− }
109−
110− function animateDashFromAll(scopeId) {
111− var currentScopePos = allScopeCardPosition(scopeId);
112− if (currentScopePos) {
113− showDashFromPos(currentScopePos, allCardSize);
114− } else {
115− console.log("Warning: Could not find Dash OverView All card position for scope", dashContent.currentScopeId);
116− }
117− }
118−
119− function showDashFromPos(itemPos, itemSize) {
120− scopesOverviewXYScaler.scale = itemSize.width / scopesOverviewXYScaler.width;
121− scopesOverviewXYScaler.x = itemPos.x -(scopesOverviewXYScaler.width - scopesOverviewXYScaler.width * scopesOverviewXYScaler.scale) / 2;
122− scopesOverviewXYScaler.y = itemPos.y -(scopesOverviewXYScaler.height - scopesOverviewXYScaler.height * scopesOverviewXYScaler.scale) / 2;
123− scopesOverviewXYScaler.opacity = 0;
124− root.growingDashFromPos = true;
125− scopesOverviewXYScaler.scale = 1;
126− scopesOverviewXYScaler.x = 0;
127− scopesOverviewXYScaler.y = 0;
128− scopesOverviewXYScaler.opacity = 1;
129− }
130−
131− function allScopeCardPosition(scopeId) {
132− if (middleItems.count > 1) {
133− var loaderItem = middleItems.itemAt(1).item;
134− if (loaderItem) {
135− var pos = loaderItem.scopeCardPosition(scopeId);
136− return loaderItem.mapToItem(null, pos.x, pos.y);
137− }
138− }
139− }
140−
141− function ensureAllScopeVisible(scopeId) {
142− if (middleItems.count > 1) {
143− var loaderItem = middleItems.itemAt(1).item;
144− if (loaderItem) {
145− var pos = loaderItem.scopeCardPosition(scopeId);
146− loaderItem.contentY = Math.min(pos.y, loaderItem.contentHeight - loaderItem.height);
147− }
148− }
149− }
150−
151− onProgressChanged: {
152− if (progress == 0) {
153− pageHeader.resetSearch();
154− pageHeader.unfocus(); // Shouldn't the previous call do this too?
155− }
156− }
157−
158− ScopeStyle {
159− id: overviewScopeStyle
160− style: { "foreground-color" : "white",
161− "background-color" : "transparent",
162− "page-header": {
163− "background": "color:///transparent"
164− }
165− }
166− }
167−
168− DashBackground {
169− anchors.fill: parent
170− source: "graphics/dark_background.jpg"
171− }
172−
173− Connections {
174− target: pageHeader
175− onSearchQueryChanged: {
176− // Need this in order, otherwise something gets unhappy in rendering
177− // of the overlay in carousels because the parent of the dash dies for
178− // a moment, this way we make sure it's reparented first
179− // by forceXYScalerEater making dashItemEater return scopesOverviewXYScaler
180− // before we kill the previous parent by scope.searchQuery
181− root.forceXYScalerEater = true;
182− root.scope.searchQuery = pageHeader.searchQuery;
183− root.forceXYScalerEater = false;
184− }
185− }
186−
187− Binding {
188− target: pageHeader
189− property: "searchQuery"
190− value: scope ? scope.searchQuery : ""
191− }
192−
193− Item {
194− id: scopesOverviewContent
195− x: previewListView.open ? -width : 0
196− Behavior on x { UbuntuNumberAnimation { } }
197− width: parent.width
198− height: parent.height
199−
200− PageHeader {
201− id: pageHeader
202− objectName: "scopesOverviewPageHeader"
203−
204− readonly property real yDisplacement: pageHeader.height + tabBar.height + tabBar.anchors.margins
205−
206− y: {
207− if (root.progress < 0.5) {
208− return -yDisplacement;
209− } else {
210− return -yDisplacement + (root.progress - 0.5) * yDisplacement * 2;
211− }
212− }
213− width: parent.width
214− clip: true
215− title: i18n.tr("Manage Scopes")
216− scopeStyle: overviewScopeStyle
217− showSignatureLine: false
218− searchEntryEnabled: true
219− }
220−
221− ScopesOverviewTab {
222− id: tabBar
223− anchors {
224− left: parent.left
225− right: parent.right
226− top: pageHeader.bottom
227− margins: units.gu(2)
228− }
229− height: units.gu(4)
230−
231− enabled: opacity == 1
232− opacity: !scope || scope.searchQuery == "" ? 1 : 0
233− Behavior on opacity { UbuntuNumberAnimation { } }
234− }
235−
236− Repeater {
237− id: middleItems
238− objectName: "scopesOverviewRepeater"
239− property real overrideOpacity: -1
240− model: scope && scope.searchQuery == "" ? scope.categories : null
241− delegate: Loader {
242− id: loader
243− objectName: "scopesOverviewRepeaterChild" + index
244−
245− height: {
246− if (index == 0) {
247− return root.height;
248− } else {
249− return root.height - pageHeader.height - tabBar.height - tabBar.anchors.margins - units.gu(2);
250− }
251− }
252− width: {
253− if (index == 0) {
254− return root.width / scopeScale;
255− } else {
256− return root.width;
257− }
258− }
259− x: {
260− if (index == 0) {
261− return (root.width - width) / 2;
262− } else {
263− return 0;
264− }
265− }
266− anchors {
267− bottom: scopesOverviewContent.bottom
268− }
269−
270− scale: index == 0 ? scopeScale : 1
271−
272− opacity: {
273− if (middleItems.overrideOpacity >= 0)
274− return middleItems.overrideOpacity;
275−
276− if (tabBar.currentTab != index)
277− return 0;
278−
279− return index == 0 ? 1 : root.progress;
280− }
281− Behavior on opacity {
282− enabled: root.progress == 1
283− UbuntuNumberAnimation { }
284− }
285− enabled: opacity == 1
286−
287− clip: index == 1
288−
289− CardTool {
290− id: cardTool
291− objectName: "cardTool"
292− count: results.count
293− template: model.renderer
294− components: model.components
295− viewWidth: parent.width
296− }
297−
298− source: {
299− if (index == 0 && categoryId == "favorites") return "ScopesOverviewFavorites.qml";
300− else if (index == 1 && categoryId == "all") return "ScopesOverviewAll.qml";
301− else return "";
302− }
303−
304− onLoaded: {
305− item.model = Qt.binding(function() { return results; });
306− item.cardTool = cardTool;
307− if (index == 0) {
308− item.scopeWidth = Qt.binding(function() { return root.width; });
309− item.scopeHeight = Qt.binding(function() { return root.height; });
310− item.appliedScale = Qt.binding(function() { return loader.scale });
311− item.currentIndex = Qt.binding(function() { return root.currentIndex });
312− } else if (index == 1) {
313− item.extraHeight = bottomBar.height;
314− }
315− }
316−
317− Connections {
318− target: loader.item
319− onClicked: {
320− pageHeader.unfocus();
321− if (tabBar.currentTab == 0) {
322− root.favoriteSelected(itemModel.scopeId);
323− } else {
324− var favoriteScopesItem = middleItems.itemAt(0).item;
325− var scopeIndex = favoriteScopesItem.model.scopeIndex(itemModel.scopeId);
326− if (scopeIndex >= 0) {
327− root.allFavoriteSelected(itemModel.scopeId);
328− } else {
329− // Will result in an openScope from root.scope
330− scopesOverviewXYScaler.restorePosition = item.mapToItem(null, 0, 0);
331− scopesOverviewXYScaler.restoreSize = allCardSize;
332− root.scope.activate(result);
333− }
334− }
335− }
336− onPressAndHold: {
337− // Preview can call openScope so make sure restorePosition and restoreSize are set
338− scopesOverviewXYScaler.restorePosition = undefined;
339− scopesOverviewXYScaler.restoreSize = allCardSize;
340−
341− previewListView.model = target.model;
342− previewListView.currentIndex = -1;
343− previewListView.currentIndex = index;
344− previewListView.open = true;
345− }
346− }
347− }
348− }
349−
350− GenericScopeView {
351− id: searchResultsViewer
352− objectName: "searchResultsViewer"
353− anchors {
354− top: pageHeader.bottom
355− right: parent.right
356− left: parent.left
357− bottom: parent.bottom
358− }
359− scope: root.scope && root.scope.searchQuery != "" ? root.scope : null
360− scopeStyle: overviewScopeStyle
361− enabled: opacity == 1
362− showPageHeader: false
363− clip: true
364− opacity: searchResultsViewer.scope ? 1 : 0
365− isCurrent: true
366− Behavior on opacity { UbuntuNumberAnimation { } }
367−
368− function itemClicked(index, result, item, itemModel, resultsModel, limitedCategoryItemCount) {
369− pageHeader.unfocus();
370− pageHeader.closePopup();
371− if (itemModel.scopeId) {
372− // This can end up in openScope so save restorePosition and restoreSize
373− scopesOverviewXYScaler.restorePosition = item.mapToItem(null, 0, 0);
374− scopesOverviewXYScaler.restoreSize = Qt.size(item.width, item.height);
375− root.searchSelected(itemModel.scopeId, result, item.mapToItem(null, 0, 0), Qt.size(item.width, item.height));
376− } else {
377− // Not a scope, just activate it
378− searchResultsViewer.scope.activate(result);
379− }
380− }
381−
382− function itemPressedAndHeld(index, itemModel, resultsModel, limitedCategoryItemCount) {
383− if (itemModel.uri.indexOf("scope://") === 0) {
384− // Preview can call openScope so make sure restorePosition and restoreSize are set
385− scopesOverviewXYScaler.restorePosition = undefined;
386− scopesOverviewXYScaler.restoreSize = allCardSize;
387−
388− previewListView.model = resultsModel;
389− previewListView.currentIndex = -1;
390− previewListView.currentIndex = index;
391− previewListView.open = true;
392− }
393− }
394− }
395−
396− Rectangle {
397− id: bottomBar
398− objectName: "bottomBar"
399− color: "black"
400− height: units.gu(8)
401− width: parent.width
402− enabled: opacity == 1
403− opacity: scope && scope.searchQuery == "" ? 1 : 0
404− Behavior on opacity { UbuntuNumberAnimation { } }
405− y: {
406− if (root.progress < 0.5) {
407− return parent.height;
408− } else {
409− return parent.height - (root.progress - 0.5) * height * 2;
410− }
411− }
412−
413− MouseArea {
414− // Just eat any other press since this parent is black opaque
415− anchors.fill: parent
416− }
417−
418− AbstractButton {
419− objectName: "scopesOverviewDoneButton"
420− width: Math.max(label.width + units.gu(2), units.gu(10))
421− height: units.gu(4)
422− anchors {
423− left: parent.left
424− leftMargin: units.gu(2)
425− verticalCenter: parent.verticalCenter
426− }
427− Rectangle {
428− anchors.fill: parent
429− border.color: "white"
430− border.width: units.dp(1)
431− radius: units.dp(10)
432− color: parent.pressed ? Theme.palette.normal.baseText : "transparent"
433− }
434− Label {
435− id: label
436− anchors.centerIn: parent
437− text: i18n.tr("Done")
438− color: parent.pressed ? "black" : "white"
439− }
440− onClicked: root.done();
441− }
442−
443− AbstractButton {
444− objectName: "scopesOverviewStoreButton"
445− width: Math.max(storeLabel.width, units.gu(10))
446− height: units.gu(4)
447− anchors {
448− right: parent.right
449− verticalCenter: parent.verticalCenter
450− }
451− Icon {
452− id: storeImage
453− name: "ubuntu-store-symbolic"
454− color: "white"
455− anchors.horizontalCenter: parent.horizontalCenter
456− width: units.gu(2)
457− height: units.gu(2)
458− }
459− Label {
460− id: storeLabel
461− anchors.horizontalCenter: parent.horizontalCenter
462− anchors.top: storeImage.bottom
463− text: i18n.tr("Store")
464− color: "white"
465− }
466− onClicked: {
467− // Just zoom from the middle
468− scopesOverviewXYScaler.restorePosition = undefined;
469− scopesOverviewXYScaler.restoreSize = allCardSize;
470− scope.performQuery("scope://com.canonical.scopes.clickstore");
471− }
472− }
473− }
474− }
475−
476− PreviewListView {
477− id: previewListView
478− objectName: "scopesOverviewPreviewListView"
479− scope: root.scope
480− scopeStyle: overviewScopeStyle
481− showSignatureLine: false
482− visible: x != width
483− width: parent.width
484− height: parent.height
485− anchors.left: scopesOverviewContent.right
486−
487− onBackClicked: open = false
488− }
489−
490− Item {
491− id: scopesOverviewXYScaler
492− width: parent.width
493− height: parent.height
494−
495− clip: scale != 1.0
496− enabled: scale == 1
497−
498− property bool animationsEnabled: root.showingNonFavoriteScope || root.growingDashFromPos
499−
500− property var restorePosition
501− property var restoreSize
502−
503− Behavior on x {
504− enabled: scopesOverviewXYScaler.animationsEnabled
505− UbuntuNumberAnimation { }
506− }
507− Behavior on y {
508− enabled: scopesOverviewXYScaler.animationsEnabled
509− UbuntuNumberAnimation { }
510− }
511− Behavior on opacity {
512− enabled: scopesOverviewXYScaler.animationsEnabled
513− UbuntuNumberAnimation { }
514− }
515− Behavior on scale {
516− enabled: scopesOverviewXYScaler.animationsEnabled
517− UbuntuNumberAnimation {
518− onRunningChanged: {
519− if (!running) {
520− if (root.showingNonFavoriteScope && scopesOverviewXYScaler.scale != 1) {
521− root.scope.closeScope(tempScopeItem.scope);
522− tempScopeItem.scope = null;
523− } else if (root.growingDashFromPos) {
524− root.growingDashFromPos = false;
525− }
526− }
527− }
528− }
529− }
530−
531− DashBackground {
532− anchors.fill: tempScopeItem
533− visible: tempScopeItem.visible
534− parent: tempScopeItem.parent
535− }
536−
537− GenericScopeView {
538− id: tempScopeItem
539− objectName: "scopesOverviewTempScopeItem"
540−
541− width: parent.width
542− height: parent.height
543− clip: scale != 1.0
544− visible: scope != null
545− hasBackAction: true
546− isCurrent: visible
547− onBackClicked: {
548− var v = scopesOverviewXYScaler.restoreSize.width / tempScopeItem.width;
549− scopesOverviewXYScaler.scale = v;
550− if (scopesOverviewXYScaler.restorePosition) {
551− scopesOverviewXYScaler.x = scopesOverviewXYScaler.restorePosition.x -(tempScopeItem.width - tempScopeItem.width * v) / 2;
552− scopesOverviewXYScaler.y = scopesOverviewXYScaler.restorePosition.y -(tempScopeItem.height - tempScopeItem.height * v) / 2;
553− } else {
554− scopesOverviewXYScaler.x = 0;
555− scopesOverviewXYScaler.y = 0;
556− }
557− scopesOverviewXYScaler.opacity = 0;
558− middleItems.overrideOpacity = -1;
559− }
560− // TODO Add tests for these connections
561− Connections {
562− target: tempScopeItem.scope
563− onOpenScope: {
564− // TODO Animate the newly opened scope into the foreground (stacked on top of the current scope)
565− tempScopeItem.scope = scope;
566− }
567− onGotoScope: {
568− tempScopeItem.backClicked();
569− root.currentTab = 0;
570− root.scope.gotoScope(scopeId);
571− }
572− }
573− }
574− }
575−}
qml/Dash/ScopesOverviewAll.qmldeleted−56
@@ -1,56 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−import QtQuick 2.0
18−import Ubuntu.Components 0.1
19−
20−Flickable {
21− id: root
22−
23− property alias model: cardGrid.model
24− property alias cardTool: cardGrid.cardTool
25−
26− property real extraHeight: 0
27−
28− signal clicked(int index, var result, var item, var itemModel)
29− signal pressAndHold(int index)
30−
31− contentHeight: cardGrid.expandedHeight + extraHeight
32− contentWidth: cardGrid.width
33− flickableDirection: Flickable.VerticalFlick
34−
35− function scopeCardPosition(scopeId) {
36− var index = model.scopeIndex(scopeId);
37− var pos = cardGrid.cardPosition(index);
38− pos.y = pos.y - root.contentY;
39− return pos;
40− }
41−
42− CardGrid {
43− id: cardGrid
44− width: root.width
45− height: parent.height
46− visibleRangeBegin: root.contentY
47− visibleRangeEnd: root.contentY + root.height
48−
49− onClicked: {
50− root.clicked(index, result, item, itemModel);
51− }
52− onPressAndHold: {
53− root.pressAndHold(index);
54− }
55− }
56−}
qml/Dash/ScopesOverviewFavorites.qmldeleted−73
@@ -1,73 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−import QtQuick 2.0
18−
19−Flickable {
20− id: root
21−
22− signal clicked(int index, var result, var itemModel)
23− signal pressAndHold(int index)
24−
25− property var cardTool: null
26− property real scopeHeight: 0
27− property real scopeWidth: 0
28− property real appliedScale: 1
29− property int currentIndex: -1
30− property var currentItem: currentIndex < repeater.count ? repeater.itemAt(currentIndex) : null
31−
32− property alias model: repeater.model
33−
34− contentHeight: height
35− contentWidth: repeater.count * root.scopeWidth + units.gu(2) / appliedScale * (repeater.count - 1)
36−
37− contentX: {
38− var indexX = currentIndex * scopeWidth + units.gu(2) / appliedScale * currentIndex;
39− var newContentX = indexX - (width - scopeWidth) / 2;
40− newContentX = Math.min(Math.max(newContentX, 0), contentWidth - width);
41− return newContentX;
42− }
43−
44− Repeater {
45− id: repeater
46− objectName: "scopesOverviewFavoritesRepeater"
47−
48− delegate: Loader {
49− id: loader
50−
51− x: index * root.scopeWidth + units.gu(2) / appliedScale * index
52− asynchronous: true
53−
54− sourceComponent: cardTool.cardComponent
55− onLoaded: {
56− item.fixedArtShapeSize = Qt.binding(function() { return Qt.size(root.scopeWidth, root.scopeHeight); });
57− item.fixedHeaderHeight = Qt.binding(function() { return cardTool.headerHeight / appliedScale; });
58− item.fontScale = Qt.binding(function() { return 1 / appliedScale; });
59− item.height = Qt.binding(function() { return root.scopeHeight; });
60− item.width = Qt.binding(function() { return root.scopeWidth; });
61− item.cardData = Qt.binding(function() { return model; });
62− item.template = Qt.binding(function() { return cardTool.template; });
63− item.components = Qt.binding(function() { return cardTool.components; });
64− item.titleAlignment = Qt.binding(function() { return cardTool.titleAlignment; });
65− }
66−
67− Connections {
68− target: loader.item
69− onClicked: root.clicked(index, result, model)
70− }
71− }
72− }
73−}
qml/Dash/ScopesOverviewTab.qmldeleted−74
@@ -1,74 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−import QtQuick 2.3
18−import Ubuntu.Components 0.1
19−
20−Item {
21− id: root
22−
23− property int currentTab: 0
24−
25− AbstractButton {
26− id: tab1
27− height: parent.height
28− width: parent.width / 2
29− Rectangle {
30− anchors.fill: parent
31− color: root.currentTab == 0 && root.enabled ? "white" : "transparent"
32− radius: units.dp(10)
33− }
34− Label {
35− anchors.centerIn: parent
36− text: i18n.tr("Favorites")
37− color: root.currentTab == 0 && root.enabled ? "black" : "white"
38− }
39− onClicked: root.currentTab = 0
40− }
41− AbstractButton {
42− id: tab2
43− objectName: "scopesOverviewAllTabButton"
44− x: width
45− height: parent.height
46− width: parent.width / 2
47− Rectangle {
48− anchors.fill: parent
49− color: root.currentTab == 1 && root.enabled ? "white" : "transparent"
50− radius: units.dp(10)
51− }
52− Label {
53− anchors.centerIn: parent
54− text: i18n.tr("All")
55− color: root.currentTab == 1 && root.enabled ? "black" : "white"
56− }
57− onClicked: root.currentTab = 1
58− }
59− Rectangle {
60− id: centerPiece
61− width: root.enabled ? units.dp(10) : units.dp(1)
62− height: parent.height
63− color: "white"
64− x: root.currentTab == 1 ? tab2.x : tab2.x - width
65− }
66− Rectangle {
67− id: border
68− anchors.fill: parent
69− radius: units.dp(10)
70− color: "transparent"
71− border.color: centerPiece.color
72− border.width: units.dp(1)
73− }
74−}
qml/Greeter/Clock.qml+10
@@ -34,6 +34,16 @@ Item {
34 }
34 }
35 }
35 }
36
36
37+ Connections {
38+ target: i18n
39+ onLanguageChanged: {
40+ if (visible) {
41+ timeLabel.text = Qt.formatTime(clock.currentDate); // kicks time
42+ clock.currentDate = new Date(); // kicks date
43+ }
44+ }
45+ }
46+
37 Indicators.SharedUnityMenuModel {
47 Indicators.SharedUnityMenuModel {
38 id: timeModel
48 id: timeModel
39 objectName: "timeModel"
49 objectName: "timeModel"
qml/Greeter/GreeterContent.qml+5
@@ -133,6 +133,11 @@ Item {
133 onSelected: infographics.selectedUser = greeterContentLoader.model.data(uid, LightDM.UserRoles.NameRole)
133 onSelected: infographics.selectedUser = greeterContentLoader.model.data(uid, LightDM.UserRoles.NameRole)
134 }
134 }
135
135
136+ Connections {
137+ target: i18n
138+ onLanguageChanged: greeterContentLoader.infographicModel.readyForDataChange()
139+ }
140+
136 anchors {
141 anchors {
137 verticalCenter: parent.verticalCenter
142 verticalCenter: parent.verticalCenter
138 left: narrowMode ? root.left : loginLoader.right
143 left: narrowMode ? root.left : loginLoader.right
qml/Launcher/Launcher.qml+5
@@ -118,6 +118,11 @@ Item {
118 onHint: hint();
118 onHint: hint();
119 }
119 }
120
120
121+ Connections {
122+ target: i18n
123+ onLanguageChanged: LauncherModel.refresh()
124+ }
125+
121 SequentialAnimation {
126 SequentialAnimation {
122 id: fadeOutAnimation
127 id: fadeOutAnimation
123 ScriptAction {
128 ScriptAction {
qml/Shell.qml+32−17
@@ -37,6 +37,7 @@ import "Components"
37import "Notifications"
37import "Notifications"
38import "Stages"
38import "Stages"
39import "Panel/Indicators"
39import "Panel/Indicators"
40+import "Wizard"
40import Unity.Notifications 1.0 as NotificationBackend
41import Unity.Notifications 1.0 as NotificationBackend
41import Unity.Session 0.1
42import Unity.Session 0.1
42import Unity.DashCommunicator 0.1
43import Unity.DashCommunicator 0.1
@@ -44,6 +45,10 @@ import Unity.DashCommunicator 0.1
44Item {
45Item {
45 id: shell
46 id: shell
46
47
48+ // Disable everything so that user can't swipe greeter or launcher until
49+ // we get first prompt/authenticate, which will re-enable the shell.
50+ enabled: false
51+
47 // this is only here to select the width / height of the window if not running fullscreen
52 // this is only here to select the width / height of the window if not running fullscreen
48 property bool tablet: false
53 property bool tablet: false
49 width: tablet ? units.gu(160) : applicationArguments.hasGeometry() ? applicationArguments.width() : units.gu(40)
54 width: tablet ? units.gu(160) : applicationArguments.hasGeometry() ? applicationArguments.width() : units.gu(40)
@@ -232,6 +237,14 @@ Item {
232 onApplicationAdded: {
237 onApplicationAdded: {
233 if (greeter.shown && appId != "unity8-dash") {
238 if (greeter.shown && appId != "unity8-dash") {
234 greeter.startUnlock()
239 greeter.startUnlock()
240+
241+ // If this happens on first boot, we may be in edge
242+ // tutorial or wizard while receiving a call. But a call
243+ // is more important than wizard so just bail out of those.
244+ if (edgeDemo.running) {
245+ edgeDemo.hideEdgeDemos();
246+ wizard.hide();
247+ }
235 }
248 }
236 if (greeter.narrowMode && greeter.hasLockedApp && appId === greeter.lockedApp) {
249 if (greeter.narrowMode && greeter.hasLockedApp && appId === greeter.lockedApp) {
237 lockscreen.hide() // show locked app
250 lockscreen.hide() // show locked app
@@ -350,6 +363,15 @@ Item {
350 minPinLength: 4
363 minPinLength: 4
351 maxPinLength: 4
364 maxPinLength: 4
352
365
366+ property string promptText
367+ infoText: promptText !== "" ? i18n.tr("Enter %1").arg(promptText) :
368+ alphaNumeric ? i18n.tr("Enter passphrase") :
369+ i18n.tr("Enter passcode")
370+ errorText: promptText !== "" ? i18n.tr("Sorry, incorrect %1").arg(promptText) :
371+ alphaNumeric ? i18n.tr("Sorry, incorrect passphrase") + "\n" +
372+ i18n.tr("Please re-enter") :
373+ i18n.tr("Sorry, incorrect passcode")
374+
353 // FIXME: We *should* show emergency dialer if there is a SIM present,
375 // FIXME: We *should* show emergency dialer if there is a SIM present,
354 // regardless of whether the side stage is enabled. But right now,
376 // regardless of whether the side stage is enabled. But right now,
355 // the assumption is that narrow screens are phones which have SIMs
377 // the assumption is that narrow screens are phones which have SIMs
@@ -403,20 +425,7 @@ Item {
403 return; // could happen if hideGreeter() comes in before we prompt
425 return; // could happen if hideGreeter() comes in before we prompt
404 }
426 }
405 if (greeter.narrowMode) {
427 if (greeter.narrowMode) {
406− if (isDefaultPrompt) {
428+ lockscreen.promptText = isDefaultPrompt ? "" : text.toLowerCase();
407− if (lockscreen.alphaNumeric) {
408− lockscreen.infoText = i18n.tr("Enter passphrase")
409− lockscreen.errorText = i18n.tr("Sorry, incorrect passphrase") + "\n" +
410− i18n.tr("Please re-enter")
411− } else {
412− lockscreen.infoText = i18n.tr("Enter passcode")
413− lockscreen.errorText = i18n.tr("Sorry, incorrect passcode")
414− }
415− } else {
416− lockscreen.infoText = i18n.tr("Enter %1").arg(text.toLowerCase())
417− lockscreen.errorText = i18n.tr("Sorry, incorrect %1").arg(text.toLowerCase())
418− }
419−
420 lockscreen.maybeShow();
429 lockscreen.maybeShow();
421 }
430 }
422 }
431 }
@@ -495,7 +504,7 @@ Item {
495 // Just a tiny wrapper to adjust greeter's x without messing with its own dragging
504 // Just a tiny wrapper to adjust greeter's x without messing with its own dragging
496 id: greeterWrapper
505 id: greeterWrapper
497 objectName: "greeterWrapper"
506 objectName: "greeterWrapper"
498− x: greeter.narrowMode ? launcher.progress : 0
507+ x: (greeter.narrowMode && greeter.showProgress > 0) ? launcher.progress : 0
499 y: panel.panelHeight
508 y: panel.panelHeight
500 width: parent.width
509 width: parent.width
501 height: parent.height - panel.panelHeight
510 height: parent.height - panel.panelHeight
@@ -574,7 +583,7 @@ Item {
574 onShownChanged: {
583 onShownChanged: {
575 if (shown) {
584 if (shown) {
576 // Disable everything so that user can't swipe greeter or
585 // Disable everything so that user can't swipe greeter or
577− // launcher until we get first prompt/authenticate, which
586+ // launcher until we get the next prompt/authenticate, which
578 // will re-enable the shell.
587 // will re-enable the shell.
579 shell.enabled = false;
588 shell.enabled = false;
580
589
@@ -744,6 +753,12 @@ Item {
744 }
753 }
745 }
754 }
746
755
756+ Wizard {
757+ id: wizard
758+ anchors.fill: parent
759+ background: shell.background
760+ }
761+
747 Rectangle {
762 Rectangle {
748 id: modalNotificationBackground
763 id: modalNotificationBackground
749
764
@@ -805,7 +820,7 @@ Item {
805 id: edgeDemo
820 id: edgeDemo
806 objectName: "edgeDemo"
821 objectName: "edgeDemo"
807 z: dialogs.z + 10
822 z: dialogs.z + 10
808− paused: Powerd.status === Powerd.Off // Saves power
823+ paused: Powerd.status === Powerd.Off || wizard.active // Saves power
809 greeter: greeter
824 greeter: greeter
810 launcher: launcher
825 launcher: launcher
811 panel: panel
826 panel: panel
qml/Stages/PhoneStage.qml+17−33
@@ -145,16 +145,16 @@ Rectangle {
145
145
146 // Those markers mark the various positions in the spread (ratio to screen width from right to left):
146 // Those markers mark the various positions in the spread (ratio to screen width from right to left):
147 // 0 - 1: following finger, snap back to the beginning on release
147 // 0 - 1: following finger, snap back to the beginning on release
148− property real positionMarker1: 0.3
148+ property real positionMarker1: 0.2
149 // 1 - 2: curved snapping movement, snap to app 1 on release
149 // 1 - 2: curved snapping movement, snap to app 1 on release
150− property real positionMarker2: 0.45
150+ property real positionMarker2: 0.3
151 // 2 - 3: movement follows finger, snaps back to app 1 on release
151 // 2 - 3: movement follows finger, snaps back to app 1 on release
152− property real positionMarker3: 0.6
152+ property real positionMarker3: 0.35
153 // passing 3, we detach movement from the finger and snap to 4
153 // passing 3, we detach movement from the finger and snap to 4
154 property real positionMarker4: 0.9
154 property real positionMarker4: 0.9
155
155
156 // This is where the first app snaps to when bringing it in from the right edge.
156 // This is where the first app snaps to when bringing it in from the right edge.
157− property real snapPosition: 0.75
157+ property real snapPosition: 0.7
158
158
159 // Phase of the animation:
159 // Phase of the animation:
160 // 0: Starting from right edge, a new app (index 1) comes in from the right
160 // 0: Starting from right edge, a new app (index 1) comes in from the right
@@ -178,7 +178,7 @@ Rectangle {
178 case 1:
178 case 1:
179 if (shiftedContentX < width * positionMarker2) {
179 if (shiftedContentX < width * positionMarker2) {
180 phase = 0;
180 phase = 0;
181− } else if (shiftedContentX >= width * positionMarker4) {
181+ } else if (shiftedContentX >= width * positionMarker4 && !spreadDragArea.dragging) {
182 phase = 2;
182 phase = 2;
183 }
183 }
184 break;
184 break;
@@ -270,6 +270,7 @@ Rectangle {
270
270
271 Repeater {
271 Repeater {
272 id: spreadRepeater
272 id: spreadRepeater
273+ objectName: "spreadRepeater"
273 model: ApplicationManager
274 model: ApplicationManager
274 delegate: TransformedSpreadDelegate {
275 delegate: TransformedSpreadDelegate {
275 id: appDelegate
276 id: appDelegate
@@ -367,8 +368,9 @@ Rectangle {
367 if (spreadView.phase == 0 && index < 2) {
368 if (spreadView.phase == 0 && index < 2) {
368 if (progress < spreadView.positionMarker1) {
369 if (progress < spreadView.positionMarker1) {
369 return progress;
370 return progress;
370− } else if (progress < spreadView.positionMarker1 + snappingCurve.period){
371+ } else if (progress < spreadView.positionMarker1 + 0.05){
371− return spreadView.positionMarker1 + snappingCurve.value * 3;
372+ // p : 0.05 = x : pm2
373+ return spreadView.positionMarker1 + (progress - spreadView.positionMarker1) * (spreadView.positionMarker2 - spreadView.positionMarker1) / 0.05
372 } else {
374 } else {
373 return spreadView.positionMarker2;
375 return spreadView.positionMarker2;
374 }
376 }
@@ -380,13 +382,6 @@ Rectangle {
380 visible: (progress >= 0 && progress < 1.7) ||
382 visible: (progress >= 0 && progress < 1.7) ||
381 (isDash && priv.focusedAppDelegate.x !== 0)
383 (isDash && priv.focusedAppDelegate.x !== 0)
382
384
383− EasingCurve {
384− id: snappingCurve
385− type: EasingCurve.Linear
386− period: 0.05
387− progress: appDelegate.progress - spreadView.positionMarker1
388− }
389−
390 Binding {
385 Binding {
391 target: appDelegate
386 target: appDelegate
392 property: "orientation"
387 property: "orientation"
@@ -425,16 +420,11 @@ Rectangle {
425 id: spreadDragArea
420 id: spreadDragArea
426 objectName: "spreadDragArea"
421 objectName: "spreadDragArea"
427 direction: Direction.Leftwards
422 direction: Direction.Leftwards
428− enabled: spreadView.phase != 2 && root.spreadEnabled
423+ enabled: (spreadView.phase != 2 && root.spreadEnabled) || dragging
429
424
430 anchors { top: parent.top; right: parent.right; bottom: parent.bottom }
425 anchors { top: parent.top; right: parent.right; bottom: parent.bottom }
431 width: root.dragAreaWidth
426 width: root.dragAreaWidth
432
427
433− // Sitting at the right edge of the screen, this EdgeDragArea directly controls the spreadView when
434− // attachedToView is true. When the finger movement passes positionMarker3 we detach it from the
435− // spreadView and make the spreadView snap to positionMarker4.
436− property bool attachedToView: true
437−
438 property var gesturePoints: new Array()
428 property var gesturePoints: new Array()
439
429
440 onTouchXChanged: {
430 onTouchXChanged: {
@@ -443,15 +433,13 @@ Rectangle {
443 spreadView.phase = 0;
433 spreadView.phase = 0;
444 spreadView.contentX = -spreadView.shift;
434 spreadView.contentX = -spreadView.shift;
445 }
435 }
446− if (dragging && status == DirectionalDragArea.Recognized && attachedToView) {
436+ if (dragging && status == DirectionalDragArea.Recognized) {
447 // Gesture recognized. Let's move the spreadView with the finger
437 // Gesture recognized. Let's move the spreadView with the finger
448− var finalX = Math.min(touchX + width, width);
438+ var dragX = Math.min(touchX + width, width); // Prevent dragging rightwards
449− spreadView.contentX = -finalX + spreadDragArea.width - spreadView.shift;
439+ dragX = -dragX + spreadDragArea.width - spreadView.shift;
450− }
440+ // Don't allow dragging further than the animation crossing with phase2's animation
451− if (attachedToView && spreadView.shiftedContentX >= spreadView.width * spreadView.positionMarker3) {
441+ var maxMovement = spreadView.width * spreadView.positionMarker4 - spreadView.shift;
452− // We passed positionMarker3. Detach from spreadView and snap it.
442+ spreadView.contentX = Math.min(dragX, maxMovement);
453− attachedToView = false;
454− spreadView.snap();
455 }
443 }
456 gesturePoints.push(touchX);
444 gesturePoints.push(touchX);
457 }
445 }
@@ -462,10 +450,6 @@ Rectangle {
462 onStatusChanged: {
450 onStatusChanged: {
463 previousStatus = currentStatus;
451 previousStatus = currentStatus;
464 currentStatus = status;
452 currentStatus = status;
465−
466− if (status == DirectionalDragArea.Recognized) {
467− attachedToView = true;
468− }
469 }
453 }
470
454
471 onDraggingChanged: {
455 onDraggingChanged: {
@@ -493,7 +477,7 @@ Rectangle {
493 // If it was a short one-way movement, do the Alt+Tab switch
477 // If it was a short one-way movement, do the Alt+Tab switch
494 // no matter if we didn't cross positionMarker1 yet.
478 // no matter if we didn't cross positionMarker1 yet.
495 spreadView.snapTo(1);
479 spreadView.snapTo(1);
496− } else if (!dragging && attachedToView) {
480+ } else if (!dragging) {
497 // otherwise snap to the closest snap position we can find
481 // otherwise snap to the closest snap position we can find
498 // (might be back to start, to app 1 or to spread)
482 // (might be back to start, to app 1 or to spread)
499 spreadView.snap();
483 spreadView.snap();
qml/Stages/SpreadDelegate.qml+8−1
@@ -41,10 +41,17 @@ Item {
41 Item {
41 Item {
42 objectName: "appWindowWithShadow"
42 objectName: "appWindowWithShadow"
43
43
44+ readonly property real limit: root.height / 4
45+
44− y: dragArea.distance
46+ y: root.closeable ? dragArea.distance : elastic(dragArea.distance)
45 width: parent.width
47 width: parent.width
46 height: parent.height
48 height: parent.height
47
49
50+ function elastic(distance) {
51+ var k = distance < 0 ? -limit : limit
52+ return k * (1 - Math.pow((k - 1) / k, distance))
53+ }
54+
48 BorderImage {
55 BorderImage {
49 anchors {
56 anchors {
50 fill: appWindow
57 fill: appWindow
qml/Stages/TabletStage.qml+5−14
@@ -590,7 +590,6 @@ Rectangle {
590 width: root.dragAreaWidth
590 width: root.dragAreaWidth
591 direction: Direction.Leftwards
591 direction: Direction.Leftwards
592
592
593− property bool attachedToView: false
594 property var gesturePoints: new Array()
593 property var gesturePoints: new Array()
595
594
596 onTouchXChanged: {
595 onTouchXChanged: {
@@ -599,22 +598,14 @@ Rectangle {
599 spreadView.contentX = -spreadView.shift;
598 spreadView.contentX = -spreadView.shift;
600 }
599 }
601
600
602− if (dragging && attachedToView) {
601+ if (dragging) {
603− spreadView.contentX = -touchX + spreadDragArea.width - spreadView.shift;
602+ var dragX = -touchX + spreadDragArea.width - spreadView.shift;
604− if (spreadView.shiftedContentX > spreadView.phase0Width + spreadView.phase1Width / 2) {
603+ var maxDrag = spreadView.width * spreadView.positionMarker4 - spreadView.shift;
605− attachedToView = false;
604+ spreadView.contentX = Math.min(dragX, maxDrag);
606− spreadView.snap();
607− }
608 }
605 }
609 gesturePoints.push(touchX);
606 gesturePoints.push(touchX);
610 }
607 }
611
608
612− onStatusChanged: {
613− if (status == DirectionalDragArea.Recognized) {
614− attachedToView = true;
615− }
616− }
617−
618 onDraggingChanged: {
609 onDraggingChanged: {
619 if (dragging) {
610 if (dragging) {
620 // Gesture recognized. Start recording this gesture
611 // Gesture recognized. Start recording this gesture
@@ -630,7 +621,7 @@ Rectangle {
630 // If it was a short one-way movement, do the Alt+Tab switch
621 // If it was a short one-way movement, do the Alt+Tab switch
631 // no matter if we didn't cross positionMarker1 yet.
622 // no matter if we didn't cross positionMarker1 yet.
632 spreadView.snapTo(spreadView.nextInStack);
623 spreadView.snapTo(spreadView.nextInStack);
633− } else if (!dragging && attachedToView) {
624+ } else if (!dragging) {
634 if (spreadView.shiftedContentX < spreadView.width * spreadView.positionMarker1) {
625 if (spreadView.shiftedContentX < spreadView.width * spreadView.positionMarker1) {
635 spreadView.snap();
626 spreadView.snap();
636 } else if (spreadView.shiftedContentX < spreadView.width * spreadView.positionMarker2) {
627 } else if (spreadView.shiftedContentX < spreadView.width * spreadView.positionMarker2) {
qml/Wizard/CheckableSetting.qmlnew file+84
@@ -0,0 +1,84 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Ubuntu.Components 1.1
19+import Ubuntu.Components.ListItems 1.0 as ListItem
20+
21+ListItem.Empty {
22+ id: listItem
23+
24+ property alias text: label.text
25+ property bool checked: false
26+ property real leftMargin
27+ property real rightMargin
28+
29+ readonly property real labelOffset: label.x
30+
31+ signal linkActivated(string link)
32+
33+ implicitHeight: Math.max(label.height, checkBox.height)
34+
35+ Item {
36+ anchors.fill: parent
37+
38+ CheckBox {
39+ id: checkBox
40+
41+ anchors {
42+ left: parent.left
43+ top: parent.top
44+ leftMargin: listItem.leftMargin
45+ }
46+
47+ Component.onCompleted: {
48+ checked = listItem.checked;
49+ }
50+
51+ onClicked: {
52+ listItem.checked = checked
53+ listItem.triggered(listItem.checked)
54+ }
55+
56+ Connections {
57+ target: listItem
58+ onCheckedChanged: checkBox.checked = listItem.checked
59+ }
60+
61+ Connections {
62+ target: listItem.__mouseArea
63+ onClicked: {
64+ listItem.checked = !listItem.checked
65+ listItem.triggered(listItem.checked)
66+ }
67+ }
68+ }
69+
70+ Label {
71+ id: label
72+ anchors {
73+ left: checkBox.right
74+ right: parent.right
75+ verticalCenter: parent.verticalCenter
76+ leftMargin: units.gu(2)
77+ rightMargin: listItem.rightMargin
78+ }
79+ wrapMode: Text.Wrap
80+ linkColor: Theme.palette.normal.foregroundText
81+ onLinkActivated: listItem.linkActivated(link)
82+ }
83+ }
84+}
qml/Wizard/Page.qmlnew file+108
@@ -0,0 +1,108 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Ubuntu.Components 1.1
19+
20+Item {
21+ readonly property real buttonMargin: units.gu(2)
22+ readonly property real buttonWidth: (width - buttonMargin * 2) / 2 -
23+ buttonMargin / 2
24+ readonly property real topMargin: units.gu(8)
25+ readonly property real leftMargin: units.gu(2)
26+ readonly property real rightMargin: units.gu(2)
27+
28+ // If you want to skip a page, mark skipValid false while you figure out
29+ // whether to skip, then set it to true once you've determined the value
30+ // of the skip property.
31+ property bool skipValid: true
32+ property bool skip: false
33+
34+ property bool hasBackButton: true
35+ property bool customBack: false
36+ property alias forwardButtonSourceComponent: forwardButton.sourceComponent
37+ property alias content: contentHolder
38+
39+ property string title: ""
40+
41+ signal backClicked()
42+
43+ visible: false
44+ anchors.fill: parent
45+
46+ // We want larger than even fontSize: "x-large", so we use a Text instead
47+ // of a Label.
48+ Text {
49+ id: titleLabel
50+ anchors {
51+ top: parent.top
52+ left: parent.left
53+ right: parent.right
54+ topMargin: topMargin
55+ leftMargin: leftMargin
56+ rightMargin: rightMargin
57+ }
58+ wrapMode: Text.Wrap
59+ text: title
60+ color: Theme.palette.normal.baseText
61+ font.pixelSize: units.gu(4)
62+ }
63+
64+ Item {
65+ id: contentHolder
66+ anchors {
67+ top: titleLabel.bottom
68+ left: parent.left
69+ right: parent.right
70+ bottom: backButton.top
71+ topMargin: units.gu(4)
72+ leftMargin: leftMargin
73+ rightMargin: rightMargin
74+ bottomMargin: buttonMargin
75+ }
76+ }
77+
78+ StackButton {
79+ id: backButton
80+ objectName: "backButton"
81+ width: buttonWidth
82+ anchors {
83+ left: parent.left
84+ bottom: parent.bottom
85+ leftMargin: buttonMargin
86+ bottomMargin: buttonMargin
87+ }
88+ z: 1
89+ text: i18n.tr("Back")
90+ visible: pageStack.depth > 1 && hasBackButton
91+ backArrow: true
92+
93+ onClicked: customBack ? backClicked() : pageStack.prev()
94+ }
95+
96+ Loader {
97+ id: forwardButton
98+ objectName: "forwardButton"
99+ width: buttonWidth
100+ anchors {
101+ right: parent.right
102+ bottom: parent.bottom
103+ rightMargin: buttonMargin
104+ bottomMargin: buttonMargin
105+ }
106+ z: 1
107+ }
108+}
qml/Wizard/Pages.qmlnew file+136
@@ -0,0 +1,136 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Ubuntu.Components 1.1
19+import Ubuntu.SystemSettings.SecurityPrivacy 1.0
20+import Wizard 0.1
21+import "../Components"
22+
23+Item {
24+ id: root
25+ objectName: "wizardPages"
26+ focus: true
27+
28+ // The background wallpaper to use
29+ property string background
30+
31+ signal quit()
32+
33+ // These should be set by a security page and we apply the settings when
34+ // the user exits the wizard.
35+ property int passwordMethod: UbuntuSecurityPrivacyPanel.Passcode
36+ property string password: ""
37+
38+ UbuntuSecurityPrivacyPanel {
39+ id: securityPrivacy
40+ objectName: "securityPrivacy"
41+ }
42+
43+ function quitWizard() {
44+ var errorMsg = securityPrivacy.setSecurity("", password, passwordMethod)
45+ if (errorMsg !== "") {
46+ // Ignore (but log) any errors, since we're past where the user set
47+ // the method. Worst case, we just leave the user with a swipe
48+ // security method and they fix it in the system settings.
49+ console.log("Error setting security method:", errorMsg)
50+ }
51+
52+ quit();
53+ }
54+
55+ MouseArea { // eat anything that gets past widgets
56+ anchors.fill: parent
57+ }
58+
59+ Image {
60+ id: image
61+ // Use x/y/height/width instead of anchors so that we don't adjust
62+ // the image when the OSK appears.
63+ x: 0
64+ y: 0
65+ height: root.height
66+ width: root.width
67+ sourceSize.height: height
68+ sourceSize.width: width
69+ source: root.background
70+ fillMode: Image.PreserveAspectCrop
71+ visible: status === Image.Ready
72+ }
73+
74+ PageList {
75+ id: pageList
76+ }
77+
78+ PageStack {
79+ id: pageStack
80+ objectName: "pageStack"
81+ anchors.fill: parent
82+
83+ function next() {
84+ // If we've opened any extra (non-main) pages, pop them before
85+ // continuing so back button returns to the previous main page.
86+ while (pageList.index < pageStack.depth - 1)
87+ pop()
88+ load(pageList.next())
89+ }
90+
91+ function prev() {
92+ if (pageList.index >= pageStack.depth - 1)
93+ pageList.prev() // update pageList.index, but not for extra pages
94+ pop()
95+ if (!currentPage || currentPage.opacity === 0) { // undo skipped pages
96+ prev()
97+ } else {
98+ currentPage.enabled = true
99+ }
100+ }
101+
102+ function load(path) {
103+ if (currentPage) {
104+ currentPage.enabled = false
105+ }
106+
107+ // First load it invisible, check that we should actually use
108+ // this page, and either skip it or continue.
109+ push(path, {"opacity": 0, "enabled": false})
110+
111+ // Check for immediate skip or not. We may have to wait for
112+ // skipValid to be assigned (see Connections object below)
113+ checkSkip()
114+ }
115+
116+ function checkSkip() {
117+ if (!currentPage) { // may have had a parse error
118+ next()
119+ } else if (currentPage.skipValid) {
120+ if (currentPage.skip) {
121+ next()
122+ } else {
123+ currentPage.opacity = 1
124+ currentPage.enabled = true
125+ }
126+ }
127+ }
128+
129+ Connections {
130+ target: pageStack.currentPage
131+ onSkipValidChanged: pageStack.checkSkip()
132+ }
133+
134+ Component.onCompleted: next()
135+ }
136+}
qml/Wizard/Pages/10-welcome.qmlnew file+99
@@ -0,0 +1,99 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Ubuntu.Components 1.1
19+import Ubuntu.Components.ListItems 0.1
20+import Ubuntu.SystemSettings.LanguagePlugin 1.0
21+import Wizard 0.1
22+import ".." as LocalComponents
23+
24+LocalComponents.Page {
25+ objectName: "languagePage"
26+
27+ title: i18n.tr("Hi!")
28+ forwardButtonSourceComponent: forwardButton
29+
30+ UbuntuLanguagePlugin {
31+ id: plugin
32+ }
33+
34+ Column {
35+ id: column
36+ anchors.fill: content
37+ spacing: units.gu(1)
38+
39+ Label {
40+ id: label1
41+ anchors.left: parent.left
42+ anchors.right: parent.right
43+ wrapMode: Text.Wrap
44+ text: i18n.tr("Welcome to your Ubuntu phone.")
45+ }
46+
47+ Label {
48+ id: label2
49+ anchors.left: parent.left
50+ anchors.right: parent.right
51+ wrapMode: Text.Wrap
52+ text: i18n.tr("Let’s get started.")
53+ }
54+
55+ Item { // spacer
56+ height: units.gu(2)
57+ width: units.gu(1) // needed else it will be ignored
58+ }
59+
60+ ComboButton {
61+ id: combo
62+ objectName: "languageCombo"
63+ anchors.left: parent.left
64+ anchors.right: parent.right
65+ text: listview.currentItem.text
66+ onClicked: expanded = !expanded
67+ expandedHeight: column.height - combo.y
68+ UbuntuListView {
69+ id: listview
70+ model: plugin.languageNames
71+ currentIndex: plugin.currentLanguage
72+ delegate: Standard {
73+ objectName: "languageDelegate" + index
74+ text: modelData
75+ onClicked: {
76+ listview.currentIndex = index
77+ combo.expanded = false
78+ i18n.language = plugin.languageCodes[index]
79+ }
80+ }
81+ }
82+ }
83+ }
84+
85+ Component {
86+ id: forwardButton
87+ LocalComponents.StackButton {
88+ text: i18n.tr("Continue")
89+ onClicked: {
90+ if (plugin.currentLanguage !== listview.currentIndex) {
91+ plugin.currentLanguage = listview.currentIndex;
92+ System.updateSessionLanguage(plugin.languageCodes[listview.currentIndex]);
93+ i18n.language = i18n.language; // re-notify of change after above call (for qlocale change)
94+ }
95+ pageStack.next()
96+ }
97+ }
98+ }
99+}
qml/Wizard/Pages/20-sim.qmlnew file+73
@@ -0,0 +1,73 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.0
18+import MeeGo.QOfono 0.2
19+import Ubuntu.Components 0.1
20+import ".." as LocalComponents
21+
22+LocalComponents.Page {
23+ objectName: "simPage"
24+
25+ title: i18n.tr("Add a SIM card and restart your device")
26+ forwardButtonSourceComponent: forwardButton
27+
28+ // No need for skipValid, since OfonoManager does everything synchronously
29+ skip: !manager.available || manager.modems.length === 0 || simManager0.present || simManager1.present
30+
31+ OfonoManager {
32+ id: manager
33+ }
34+
35+ // Ideally we would query the system more cleverly than hardcoding two
36+ // modems. But we don't yet have a more clever way. :(
37+ OfonoSimManager {
38+ id: simManager0
39+ modemPath: manager.modems.length >= 1 ? manager.modems[0] : ""
40+ }
41+
42+ OfonoSimManager {
43+ id: simManager1
44+ modemPath: manager.modems.length >= 2 ? manager.modems[1] : ""
45+ }
46+
47+ Column {
48+ anchors.fill: content
49+ spacing: units.gu(4)
50+
51+ Label {
52+ anchors.left: parent.left
53+ anchors.right: parent.right
54+ wrapMode: Text.Wrap
55+ text: i18n.tr("Without it, you won’t be able to make calls or use text messaging.")
56+ }
57+
58+ Image {
59+ id: image
60+ source: "data/meet_ubuntu_simcard@30.png"
61+ height: units.gu(6.5)
62+ width: units.gu(9)
63+ }
64+ }
65+
66+ Component {
67+ id: forwardButton
68+ LocalComponents.StackButton {
69+ text: i18n.tr("Skip")
70+ onClicked: pageStack.next()
71+ }
72+ }
73+}
qml/Wizard/Pages/30-passwd-type.qmlnew file+135
@@ -0,0 +1,135 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Ubuntu.Components 1.1
19+import Ubuntu.Components.ListItems 1.0
20+import Ubuntu.SystemSettings.SecurityPrivacy 1.0
21+import ".." as LocalComponents
22+
23+/**
24+ * One quirk with this page: we don't actually set the password. We avoid
25+ * doing it here because the user can come back to this page and change their
26+ * answer. We don't run as root, so if we did set the password immediately,
27+ * we'd need to prompt for their previous password when they came back and
28+ * changed their answer. Which is silly UX. So instead, we just keep track
29+ * of their choice and set the password at the end (see main.qml).
30+ * Setting the password shouldn't fail, since Ubuntu Touch has loose password
31+ * requirements, but we'll check what we can here. Ideally we'd be able to ask
32+ * the system if a password is legal without actually setting that password.
33+ */
34+
35+LocalComponents.Page {
36+ id: passwdPage
37+ objectName: "passwdPage"
38+
39+ title: i18n.tr("Lock security")
40+ forwardButtonSourceComponent: forwardButton
41+
42+ function indexToMethod(index) {
43+ if (index === 0)
44+ return UbuntuSecurityPrivacyPanel.Swipe
45+ else if (index === 1)
46+ return UbuntuSecurityPrivacyPanel.Passcode
47+ else
48+ return UbuntuSecurityPrivacyPanel.Passphrase
49+ }
50+
51+ function methodToIndex(method) {
52+ if (method === UbuntuSecurityPrivacyPanel.Swipe)
53+ return 0
54+ else if (method === UbuntuSecurityPrivacyPanel.Passcode)
55+ return 1
56+ else
57+ return 2
58+ }
59+
60+ Connections {
61+ target: root
62+ onPasswordMethodChanged: selector.selectedIndex = methodToIndex(root.passwordMethod)
63+ }
64+
65+ Column {
66+ id: column
67+ anchors.fill: content
68+ spacing: units.gu(4)
69+
70+ Label {
71+ anchors.left: parent.left
72+ anchors.right: parent.right
73+ wrapMode: Text.Wrap
74+ text: i18n.tr("Please select how you’d like to unlock your phone.")
75+ }
76+
77+ ItemSelector {
78+ id: selector
79+ expanded: true
80+ anchors.left: parent.left
81+ anchors.right: parent.right
82+ property color originalBackground
83+
84+ model: ["", "", ""] // otherwise the delegate will show the text itself and we only want subText
85+
86+ selectedIndex: methodToIndex(root.passwordMethod)
87+
88+ delegate: OptionSelectorDelegate {
89+ objectName: "passwdDelegate" + index
90+
91+ // use subText because we want the text to be small, and we have no other way to control it
92+ subText: {
93+ var method = indexToMethod(index)
94+ var name = ""
95+ var desc = ""
96+ if (method === UbuntuSecurityPrivacyPanel.Swipe) {
97+ name = i18n.tr("Swipe")
98+ desc = i18n.tr("No security")
99+ } else if (method === UbuntuSecurityPrivacyPanel.Passcode) {
100+ name = i18n.tr("Passcode")
101+ desc = i18n.tr("4 digits only")
102+ } else {
103+ name = i18n.tr("Passphrase")
104+ desc = i18n.tr("Numbers and letters")
105+ }
106+ return "<b>%1</b> (%2)".arg(name).arg(desc)
107+ }
108+ }
109+
110+ style: Item {}
111+
112+ Component.onCompleted: {
113+ // A visible selected background looks bad in ListItem widgets with our theme
114+ originalBackground = Theme.palette.selected.background
115+ Theme.palette.selected.background = "transparent"
116+ }
117+
118+ Component.onDestruction: {
119+ // Restore original theme background
120+ Theme.palette.selected.background = originalBackground
121+ }
122+ }
123+ }
124+
125+ Component {
126+ id: forwardButton
127+ LocalComponents.StackButton {
128+ text: i18n.tr("Continue")
129+ onClicked: {
130+ root.passwordMethod = indexToMethod(selector.selectedIndex)
131+ pageStack.load(Qt.resolvedUrl("passwd-set.qml"))
132+ }
133+ }
134+ }
135+}
qml/Wizard/Pages/40-wifi.qmlnew file+201
@@ -0,0 +1,201 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.0
18+import QMenuModel 0.1 as QMenuModel
19+import Ubuntu.Components 0.1
20+import Ubuntu.Components.ListItems 0.1 as ListItem
21+import Ubuntu.Settings.Menus 0.1 as Menus
22+import ".." as LocalComponents
23+
24+LocalComponents.Page {
25+ id: wifiPage
26+ objectName: "wifiPage"
27+
28+ title: i18n.tr("Connect to Wi‑Fi")
29+ forwardButtonSourceComponent: forwardButton
30+
31+ readonly property bool connected: mainMenu.connectedAPs === 1
32+
33+ function getExtendedProperty(object, propertyName, defaultValue) {
34+ if (object && object.hasOwnProperty(propertyName)) {
35+ return object[propertyName];
36+ }
37+ return defaultValue;
38+ }
39+
40+ QMenuModel.UnityMenuModel {
41+ id: menuModel
42+ busName: "com.canonical.indicator.network"
43+ actions: { "indicator": "/com/canonical/indicator/network" }
44+ menuObjectPath: "/com/canonical/indicator/network/phone_wifi_settings"
45+ }
46+
47+ Component {
48+ id: accessPointComponent
49+ ListItem.Standard {
50+ id: accessPoint
51+ objectName: "accessPoint"
52+
53+ property QtObject menuData: null
54+ property var unityMenuModel: menuModel
55+ property var extendedData: menuData && menuData.ext || undefined
56+ property var strengthAction: QMenuModel.UnityMenuAction {
57+ model: unityMenuModel
58+ index: menuIndex
59+ name: getExtendedProperty(extendedData, "xCanonicalWifiApStrengthAction", "")
60+ }
61+ property bool checked: menuData && menuData.isToggled || false
62+ property bool secure: getExtendedProperty(extendedData, "xCanonicalWifiApIsSecure", false)
63+ property bool adHoc: getExtendedProperty(extendedData, "xCanonicalWifiApIsAdhoc", false)
64+ property int signalStrength: strengthAction.valid ? strengthAction.state : 0
65+ property int menuIndex: -1
66+
67+ function loadAttributes() {
68+ if (!unityMenuModel || menuIndex == -1) return;
69+ unityMenuModel.loadExtendedAttributes(menuIndex, {'x-canonical-wifi-ap-is-adhoc': 'bool',
70+ 'x-canonical-wifi-ap-is-secure': 'bool',
71+ 'x-canonical-wifi-ap-strength-action': 'string'});
72+ }
73+
74+ signal activate()
75+
76+ text: menuData && menuData.label || ""
77+ enabled: menuData && menuData.sensitive || false
78+ iconName: {
79+ var imageName = "nm-signal-100";
80+
81+ if (adHoc) {
82+ imageName = "nm-adhoc";
83+ } else if (signalStrength == 0) {
84+ imageName = "nm-signal-00";
85+ } else if (signalStrength <= 25) {
86+ imageName = "nm-signal-25";
87+ } else if (signalStrength <= 50) {
88+ imageName = "nm-signal-50";
89+ } else if (signalStrength <= 75) {
90+ imageName = "nm-signal-75";
91+ }
92+
93+ if (secure) {
94+ imageName += "-secure";
95+ }
96+ return imageName;
97+ }
98+ iconFrame: false
99+ control: CheckBox {
100+ id: checkBoxActive
101+
102+ onClicked: {
103+ accessPoint.activate();
104+ }
105+ }
106+ style: Rectangle {
107+ color: "#4c000000"
108+ }
109+
110+ Component.onCompleted: {
111+ loadAttributes();
112+ }
113+ onUnityMenuModelChanged: {
114+ loadAttributes();
115+ }
116+ onMenuIndexChanged: {
117+ loadAttributes();
118+ }
119+ onCheckedChanged: {
120+ // Can't rely on binding. Checked is assigned on click.
121+ checkBoxActive.checked = checked;
122+ if (checked) {
123+ mainMenu.connectedAPs++
124+ } else {
125+ mainMenu.connectedAPs--
126+ }
127+ }
128+ onActivate: unityMenuModel.activate(menuIndex);
129+ }
130+ }
131+
132+ Column {
133+ id: column
134+ spacing: units.gu(2)
135+ anchors.top: content.top
136+ anchors.bottom: content.bottom
137+ anchors.left: wifiPage.left
138+ anchors.right: wifiPage.right
139+
140+ Label {
141+ id: label
142+ anchors.left: parent.left
143+ anchors.leftMargin: leftMargin
144+ anchors.right: parent.right
145+ anchors.rightMargin: rightMargin
146+ fontSize: "small"
147+ text: mainMenu.count > 0 ? i18n.tr("Available networks…")
148+ : i18n.tr("No available networks.")
149+ }
150+
151+ Flickable {
152+ anchors.left: parent.left
153+ anchors.right: parent.right
154+ height: column.height - label.height - column.spacing
155+ contentHeight: contentItem.childrenRect.height
156+ clip: true
157+ flickDeceleration: 1500 * units.gridUnit / 8
158+ maximumFlickVelocity: 2500 * units.gridUnit / 8
159+ boundsBehavior: (contentHeight > height) ? Flickable.DragAndOvershootBounds : Flickable.StopAtBounds
160+
161+ Column {
162+ anchors.left: parent.left
163+ anchors.right: parent.right
164+
165+ Repeater {
166+ id: mainMenu
167+
168+ // FIXME Check connection better https://bugs.launchpad.net/indicator-network/+bug/1349371
169+ property int connectedAPs: 0
170+
171+ model: menuModel
172+
173+ delegate: Loader {
174+ id: loader
175+
176+ readonly property bool isAccessPoint: model.type === "unity.widgets.systemsettings.tablet.accesspoint"
177+
178+ anchors.left: parent.left
179+ anchors.right: parent.right
180+ height: isAccessPoint ? units.gu(6) : 0
181+ asynchronous: true
182+ sourceComponent: isAccessPoint ? accessPointComponent : null
183+
184+ onLoaded: {
185+ item.menuData = Qt.binding(function() { return model; });
186+ item.menuIndex = Qt.binding(function() { return index; });
187+ }
188+ }
189+ }
190+ }
191+ }
192+ }
193+
194+ Component {
195+ id: forwardButton
196+ LocalComponents.StackButton {
197+ text: (connected || mainMenu.count === 0) ? i18n.tr("Continue") : i18n.tr("Skip")
198+ onClicked: pageStack.next()
199+ }
200+ }
201+}
qml/Wizard/Pages/50-location.qmlnew file+150
@@ -0,0 +1,150 @@
1+/*
2+ * Copyright (C) 2013,2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import AccountsService 0.1
19+import QMenuModel 0.1 as QMenuModel
20+import Qt.labs.folderlistmodel 2.1
21+import Ubuntu.Components 1.1
22+import ".." as LocalComponents
23+
24+LocalComponents.Page {
25+ objectName: "locationPage"
26+
27+ title: i18n.tr("Location")
28+ forwardButtonSourceComponent: forwardButton
29+
30+ property bool pathSet: AccountsService.hereLicensePathValid
31+ skipValid: pathSet && (AccountsService.hereLicensePath === "" || termsModel.count > 0)
32+ skip: skipValid && (AccountsService.hereLicensePath === "" || termsModel.count === 2) // no files but . and ..
33+
34+ FolderListModel {
35+ id: termsModel
36+ folder: AccountsService.hereLicensePath
37+ nameFilters: ["*.html"]
38+ showOnlyReadable: true
39+ showDotAndDotDot: true // so that count == 0 means we're not done scanning yet
40+ }
41+
42+ QMenuModel.QDBusActionGroup {
43+ id: locationActionGroup
44+ objectName: "locationActionGroup"
45+ busType: QMenuModel.DBus.SessionBus
46+ busName: "com.canonical.indicator.location"
47+ objectPath: "/com/canonical/indicator/location"
48+ property variant location: action("location-detection-enabled")
49+ property variant gps: action("gps-detection-enabled")
50+ Component.onCompleted: start()
51+ }
52+
53+ Column {
54+ id: column
55+ anchors.fill: content
56+ spacing: units.gu(3)
57+
58+ Label {
59+ anchors.left: parent.left
60+ anchors.right: parent.right
61+ wrapMode: Text.Wrap
62+ text: i18n.tr("Let the phone detect your location:")
63+ }
64+
65+ LocalComponents.CheckableSetting {
66+ id: gpsCheck
67+ objectName: "gpsCheck"
68+ showDivider: false
69+ text: i18n.tr("Using GPS only (less accurate)")
70+ onTriggered: {
71+ gpsCheck.checked = true;
72+ hereCheck.checked = false;
73+ nopeCheck.checked = false;
74+ }
75+ }
76+
77+ Column {
78+ anchors.left: parent.left
79+ anchors.right: parent.right
80+ height: childrenRect.height
81+
82+ LocalComponents.CheckableSetting {
83+ id: hereCheck
84+ objectName: "hereCheck"
85+ showDivider: false
86+ text: i18n.tr("Using GPS, anonymized Wi-Fi and cellular network info (recommended)")
87+ checked: true
88+ onTriggered: {
89+ gpsCheck.checked = false;
90+ hereCheck.checked = true;
91+ nopeCheck.checked = false;
92+ }
93+ }
94+
95+ Label {
96+ objectName: "hereTermsLink"
97+ anchors.left: parent.left
98+ anchors.leftMargin: hereCheck.labelOffset
99+ anchors.right: parent.right
100+ wrapMode: Text.Wrap
101+ linkColor: Theme.palette.normal.foregroundText
102+ // TRANSLATORS: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
103+ text: i18n.tr("By selecting this option you agree to the Nokia HERE <a href='#'>terms and conditions</a>.")
104+ onLinkActivated: pageStack.load(Qt.resolvedUrl("here-terms.qml"))
105+ }
106+ }
107+
108+ LocalComponents.CheckableSetting {
109+ id: nopeCheck
110+ objectName: "nopeCheck"
111+ showDivider: false
112+ text: i18n.tr("Not at all")
113+ onTriggered: {
114+ gpsCheck.checked = false;
115+ hereCheck.checked = false;
116+ nopeCheck.checked = true;
117+ }
118+ }
119+
120+ Label {
121+ anchors.left: parent.left
122+ anchors.right: parent.right
123+ wrapMode: Text.Wrap
124+ text: i18n.tr("You can change your mind later in <b>System Settings</b>.")
125+ }
126+ }
127+
128+ Component {
129+ id: forwardButton
130+ LocalComponents.StackButton {
131+ text: i18n.tr("Continue")
132+ onClicked: {
133+ var locationOn = gpsCheck.checked || hereCheck.checked;
134+ var gpsOn = gpsCheck.checked || hereCheck.checked;
135+ var hereOn = hereCheck.checked;
136+
137+ // location service doesn't currently listen to updateState
138+ // requests, so we activate the actions if needed.
139+ if (locationActionGroup.location.state != locationOn) {
140+ locationActionGroup.location.activate();
141+ }
142+ if (locationActionGroup.gps.state != gpsOn) {
143+ locationActionGroup.gps.activate();
144+ }
145+ AccountsService.hereEnabled = hereOn;
146+ pageStack.next()
147+ }
148+ }
149+ }
150+}
qml/Wizard/Pages/60-reporting.qmlnew file+54
@@ -0,0 +1,54 @@
1+/*
2+ * Copyright (C) 2013,2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.0
18+import Ubuntu.Components 0.1
19+import ".." as LocalComponents
20+
21+LocalComponents.Page {
22+ objectName: "reportingPage"
23+
24+ title: i18n.tr("Improving your experience")
25+ forwardButtonSourceComponent: forwardButton
26+
27+ Column {
28+ id: column
29+ anchors.fill: content
30+ spacing: units.gu(2)
31+
32+ Label {
33+ anchors.left: parent.left
34+ anchors.right: parent.right
35+ wrapMode: Text.Wrap
36+ text: i18n.tr("Your phone is set up to automatically report errors to Canonical and its partners, the makers of the operating system.")
37+ }
38+
39+ Label {
40+ anchors.left: parent.left
41+ anchors.right: parent.right
42+ wrapMode: Text.Wrap
43+ text: i18n.tr("This can be disabled in <b>System Settings</b> under <b>Security &amp; Privacy</b>")
44+ }
45+ }
46+
47+ Component {
48+ id: forwardButton
49+ LocalComponents.StackButton {
50+ text: i18n.tr("Continue")
51+ onClicked: pageStack.next()
52+ }
53+ }
54+}
qml/Wizard/Pages/80-finished.qmlnew file+57
@@ -0,0 +1,57 @@
1+/*
2+ * Copyright (C) 2013,2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.0
18+import Ubuntu.Components 0.1
19+import ".." as LocalComponents
20+
21+LocalComponents.Page {
22+ objectName: "finishedPage"
23+
24+ title: i18n.tr("All done")
25+ forwardButtonSourceComponent: forwardButton
26+ hasBackButton: false
27+
28+ Column {
29+ id: column
30+ anchors.fill: content
31+ spacing: units.gu(1)
32+
33+ Label {
34+ anchors.left: parent.left
35+ anchors.right: parent.right
36+ wrapMode: Text.Wrap
37+ fontSize: "large"
38+ font.bold: true
39+ text: i18n.tr("Nice work!")
40+ }
41+
42+ Label {
43+ anchors.left: parent.left
44+ anchors.right: parent.right
45+ wrapMode: Text.Wrap
46+ text: i18n.tr("Your phone is now ready to use.")
47+ }
48+ }
49+
50+ Component {
51+ id: forwardButton
52+ LocalComponents.StackButton {
53+ text: i18n.tr("Finish")
54+ onClicked: root.quitWizard()
55+ }
56+ }
57+}
qml/Wizard/Pages/data/meet_ubuntu_simcard@30.pngnew file

Binary file not shown.

qml/Wizard/Pages/here-terms.qmlnew file+121
@@ -0,0 +1,121 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import AccountsService 0.1
19+import Qt.labs.folderlistmodel 2.1
20+import Ubuntu.Components 1.1
21+import Ubuntu.Web 0.2
22+import ".." as LocalComponents
23+
24+LocalComponents.Page {
25+ objectName: "hereTermsPage"
26+
27+ title: i18n.tr("Terms & Conditions")
28+ customBack: true
29+
30+ FolderListModel {
31+ id: termsModel
32+ folder: AccountsService.hereLicensePath
33+ nameFilters: ["*.html"]
34+ showDirs: false
35+ showOnlyReadable: true
36+ onCountChanged: loadFileContent()
37+ }
38+
39+ function makeFileName(lang, country) {
40+ return lang + "_" + country + ".html"
41+ }
42+
43+ function defaultCountryForLanguage(lang) {
44+ if (lang === "da") return "DK"
45+ if (lang === "en") return "US"
46+ if (lang === "ko") return "KR"
47+ if (lang === "zh") return "CN"
48+ return lang.toUpperCase()
49+ }
50+
51+ function determineFileName() {
52+ var codes = i18n.language.split(".")[0].split("_")
53+ var defaultCountry = defaultCountryForLanguage(codes[0])
54+ if (codes.count === 1)
55+ codes = [codes[0], defaultCountry]
56+ var perfectMatch = makeFileName(codes[0], codes[1])
57+ var nearMatch = makeFileName(codes[0], defaultCountry)
58+ var nearMatchExists = false
59+
60+ for (var i = 0; i < termsModel.count; i++) {
61+ var fileName = termsModel.get(i, "fileName")
62+ if (fileName == perfectMatch) {
63+ return perfectMatch
64+ } else if (fileName == nearMatch) {
65+ nearMatchExists = true
66+ }
67+ }
68+
69+ if (nearMatchExists) {
70+ return nearMatch
71+ } else {
72+ return makeFileName("en", "US")
73+ }
74+ }
75+
76+ function loadFileContent() {
77+ var xhr = new XMLHttpRequest
78+ xhr.open("GET", AccountsService.hereLicensePath + "/" + determineFileName())
79+ xhr.onreadystatechange = function() {
80+ if (xhr.readyState == XMLHttpRequest.DONE) {
81+ termsLabel.text = xhr.responseText
82+ }
83+ }
84+ xhr.send()
85+ }
86+
87+ onBackClicked: {
88+ if (webview.visible) {
89+ termsLabel.visible = true
90+ } else {
91+ pageStack.prev()
92+ }
93+ }
94+
95+ Column {
96+ id: column
97+ anchors.fill: content
98+
99+ Label {
100+ id: termsLabel
101+ objectName: "termsLabel"
102+ anchors.left: parent.left
103+ anchors.right: parent.right
104+ wrapMode: Text.Wrap
105+ linkColor: Theme.palette.normal.foregroundText
106+ onLinkActivated: {
107+ webview.url = link
108+ termsLabel.visible = false
109+ }
110+ }
111+
112+ WebView {
113+ id: webview
114+ objectName: "webview"
115+ anchors.left: parent.left
116+ anchors.right: parent.right
117+ height: parent.height
118+ visible: !termsLabel.visible
119+ }
120+ }
121+}
qml/Wizard/Pages/passwd-confirm.qmlnew file+86
@@ -0,0 +1,86 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Ubuntu.Components 1.1
19+import Ubuntu.SystemSettings.SecurityPrivacy 1.0
20+import ".." as LocalComponents
21+import "../../Components" as UnityComponents
22+
23+/**
24+ * See the main passwd-type page for an explanation of why we don't actually
25+ * directly set the password here.
26+ */
27+
28+LocalComponents.Page {
29+ id: passwdConfirmPage
30+ objectName: "passwdConfirmPage"
31+ forwardButtonSourceComponent: forwardButton
32+
33+ skip: root.passwordMethod === UbuntuSecurityPrivacyPanel.Swipe
34+
35+ // If we are entering this page, clear any saved password and get focus
36+ onEnabledChanged: if (enabled) lockscreen.clear(false)
37+
38+ UnityComponents.Lockscreen {
39+ id: lockscreen
40+ anchors {
41+ fill: parent
42+ topMargin: topMargin
43+ leftMargin: leftMargin
44+ rightMargin: rightMargin
45+ bottomMargin: buttonMargin
46+ }
47+
48+ infoText: root.passwordMethod === UbuntuSecurityPrivacyPanel.Passphrase ?
49+ i18n.tr("Confirm passphrase") :
50+ i18n.tr("Confirm passcode")
51+
52+ errorText: root.passwordMethod === UbuntuSecurityPrivacyPanel.Passphrase ?
53+ i18n.tr("Sorry, incorrect passphrase.") + "\n" + i18n.tr("Please try again.") :
54+ i18n.tr("Sorry, incorrect passcode.") + "\n" + i18n.tr("Please try again.")
55+
56+ showEmergencyCallButton: false
57+ showCancelButton: false
58+ alphaNumeric: root.passwordMethod === UbuntuSecurityPrivacyPanel.Passphrase
59+ minPinLength: 4
60+ maxPinLength: 4
61+
62+ onEntered: {
63+ if (passphrase === root.password) {
64+ confirmTimer.start()
65+ } else {
66+ clear(true)
67+ }
68+ }
69+
70+ Timer {
71+ id: confirmTimer
72+ interval: UbuntuAnimation.SnapDuration
73+ onTriggered: pageStack.next()
74+ }
75+ }
76+
77+ Component {
78+ id: forwardButton
79+ LocalComponents.StackButton {
80+ visible: root.passwordMethod === UbuntuSecurityPrivacyPanel.Passphrase
81+ enabled: root.password === lockscreen.passphrase
82+ text: i18n.tr("Continue")
83+ onClicked: pageStack.next()
84+ }
85+ }
86+}
qml/Wizard/Pages/passwd-set.qmlnew file+94
@@ -0,0 +1,94 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Ubuntu.Components 1.1
19+import Ubuntu.SystemSettings.SecurityPrivacy 1.0
20+import ".." as LocalComponents
21+import "../../Components" as UnityComponents
22+
23+/**
24+ * See the main passwd-type page for an explanation of why we don't actually
25+ * directly set the password here.
26+ */
27+
28+LocalComponents.Page {
29+ id: passwdSetPage
30+ objectName: "passwdSetPage"
31+ forwardButtonSourceComponent: forwardButton
32+
33+ skip: root.passwordMethod === UbuntuSecurityPrivacyPanel.Swipe
34+
35+ // If we are entering this page, clear any saved password and get focus
36+ onEnabledChanged: if (enabled) lockscreen.clear(false)
37+
38+ function confirm() {
39+ root.password = lockscreen.passphrase;
40+ confirmTimer.start()
41+ }
42+
43+ Timer {
44+ id: confirmTimer
45+ interval: UbuntuAnimation.SnapDuration
46+ onTriggered: pageStack.load(Qt.resolvedUrl("passwd-confirm.qml"));
47+ }
48+
49+ UnityComponents.Lockscreen {
50+ id: lockscreen
51+ anchors {
52+ fill: parent
53+ topMargin: topMargin
54+ leftMargin: leftMargin
55+ rightMargin: rightMargin
56+ bottomMargin: buttonMargin
57+ }
58+
59+ infoText: root.passwordMethod === UbuntuSecurityPrivacyPanel.Passphrase ?
60+ i18n.tr("Enter passphrase") :
61+ i18n.tr("Choose your passcode")
62+
63+ // Note that the number four comes from PAM settings,
64+ // which we don't have a good way to interrogate. We
65+ // only do this matching instead of PAM because we want
66+ // to set the password via PAM in a different place
67+ // than this page. See comments at top of passwd-type file.
68+ errorText: i18n.tr("Passphrase must be 4 characters long")
69+
70+ showEmergencyCallButton: false
71+ showCancelButton: false
72+ alphaNumeric: root.passwordMethod === UbuntuSecurityPrivacyPanel.Passphrase
73+ minPinLength: 4
74+ maxPinLength: 4
75+
76+ onEntered: {
77+ if (passphrase.length >= 4) {
78+ passwdSetPage.confirm();
79+ } else {
80+ lockscreen.clear(true)
81+ }
82+ }
83+ }
84+
85+ Component {
86+ id: forwardButton
87+ LocalComponents.StackButton {
88+ visible: root.passwordMethod === UbuntuSecurityPrivacyPanel.Passphrase
89+ enabled: lockscreen.passphrase.length >= 4
90+ text: i18n.tr("Continue")
91+ onClicked: passwdSetPage.confirm()
92+ }
93+ }
94+}
qml/Wizard/StackButton.qmlnew file+47
@@ -0,0 +1,47 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Ubuntu.Components 1.1
19+
20+AbstractButton {
21+ id: stackButton
22+
23+ property string text
24+
25+ property bool backArrow: false
26+
27+ width: label.width
28+ height: label.height + units.gu(4)
29+
30+ Label {
31+ id: label
32+ anchors.verticalCenter: parent.verticalCenter
33+ anchors.left: parent.left
34+ anchors.right: parent.right
35+ color: enabled ? Theme.palette.selected.backgroundText : Qt.darker(Theme.palette.selected.backgroundText, 1.5)
36+ text: {
37+ if (backArrow) {
38+ // Translators: This is the arrow for "Back" buttons
39+ return i18n.tr("〈 %1".arg(stackButton.text))
40+ } else {
41+ // Translators: This is the arrow for "Forward" buttons
42+ return i18n.tr("%1 〉".arg(stackButton.text))
43+ }
44+ }
45+ horizontalAlignment: backArrow ? Text.AlignLeft : Text.AlignRight
46+ }
47+}
qml/Wizard/Wizard.qmlnew file+55
@@ -0,0 +1,55 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import Ubuntu.Components 1.1
19+import Wizard 0.1
20+import "../Components"
21+
22+Showable {
23+ id: root
24+
25+ // The background wallpaper to use
26+ property string background
27+
28+ readonly property alias active: loader.active
29+
30+ hideAnimation: StandardAnimation { property: "opacity"; to: 0 }
31+
32+ onRequiredChanged: {
33+ if (!required) {
34+ System.wizardEnabled = false;
35+ }
36+ }
37+
38+ Loader {
39+ id: loader
40+ anchors.fill: parent
41+ active: System.wizardEnabled
42+ source: "Pages.qml"
43+
44+ Binding {
45+ target: loader.item
46+ property: "background"
47+ value: root.background
48+ }
49+
50+ Connections {
51+ target: loader.item
52+ onQuit: root.hide()
53+ }
54+ }
55+}
qml/graphics/applicationIcons/dash@18.png → qml/graphics/applicationIcons/dash.pngrenamed

Binary file not shown.

src/CMakeLists.txt+4−1
@@ -1,6 +1,9 @@
1+pkg_check_modules(CONNECTIVITY REQUIRED connectivity-qt1)
2+
1include_directories(
3include_directories(
2 ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
4 ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
3 ${CMAKE_SOURCE_DIR}/libs/UbuntuGestures
5 ${CMAKE_SOURCE_DIR}/libs/UbuntuGestures
6+ ${CONNECTIVITY_INCLUDE_DIRS}
4)
7)
5
8
6file(GLOB_RECURSE QML_FILES
9file(GLOB_RECURSE QML_FILES
@@ -30,7 +33,7 @@ if (NOT "${XCB_INCLUDE_DIRS}" STREQUAL "")
30 target_link_libraries(${SHELL_APP} ${XCB_LDFLAGS})
33 target_link_libraries(${SHELL_APP} ${XCB_LDFLAGS})
31endif()
34endif()
32
35
33−target_link_libraries(${SHELL_APP} UbuntuGestures)
36+target_link_libraries(${SHELL_APP} UbuntuGestures connectivity-qt1)
34
37
35# For it to find libUbuntuGestures.so
38# For it to find libUbuntuGestures.so
36set_target_properties(${SHELL_APP} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
39set_target_properties(${SHELL_APP} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
src/CachingNetworkManagerFactory.cpp+2−11
@@ -20,25 +20,16 @@
20#include <QNetworkDiskCache>
20#include <QNetworkDiskCache>
21#include <QNetworkAccessManager>
21#include <QNetworkAccessManager>
22#include <QStandardPaths>
22#include <QStandardPaths>
23−#include <QNetworkConfigurationManager>
24
23
25CachingNetworkAccessManager::CachingNetworkAccessManager(QObject *parent)
24CachingNetworkAccessManager::CachingNetworkAccessManager(QObject *parent)
26 : QNetworkAccessManager(parent)
25 : QNetworkAccessManager(parent)
27{
26{
28− m_networkManager = new QNetworkConfigurationManager(this);
27+ m_networkingStatus = new ubuntu::connectivity::NetworkingStatus(this);
29−
30− QObject::connect(m_networkManager, &QNetworkConfigurationManager::onlineStateChanged, this, &CachingNetworkAccessManager::onlineStateChanged);
31− m_isOnline = m_networkManager->isOnline();
32−}
33−
34−void CachingNetworkAccessManager::onlineStateChanged(bool isOnline)
35−{
36− m_isOnline = isOnline;
37}
28}
38
29
39QNetworkReply* CachingNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
30QNetworkReply* CachingNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
40{
31{
41− if (!m_isOnline) {
32+ if (m_networkingStatus->status() != ubuntu::connectivity::NetworkingStatus::Status::Online) {
42 QNetworkRequest req(request);
33 QNetworkRequest req(request);
43 req.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysCache);
34 req.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysCache);
44 return QNetworkAccessManager::createRequest(op, req, outgoingData);
35 return QNetworkAccessManager::createRequest(op, req, outgoingData);
src/CachingNetworkManagerFactory.h+2−6
@@ -21,7 +21,7 @@
21#include <QQmlNetworkAccessManagerFactory>
21#include <QQmlNetworkAccessManagerFactory>
22#include <QNetworkAccessManager>
22#include <QNetworkAccessManager>
23
23
24−class QNetworkConfigurationManager;
24+#include <ubuntu/connectivity/networking-status.h>
25
25
26class CachingNetworkAccessManager : public QNetworkAccessManager
26class CachingNetworkAccessManager : public QNetworkAccessManager
27{
27{
@@ -31,12 +31,8 @@ public:
31protected:
31protected:
32 QNetworkReply* createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData = 0) override;
32 QNetworkReply* createRequest(Operation op, const QNetworkRequest &req, QIODevice *outgoingData = 0) override;
33
33
34−private Q_SLOTS:
35− void onlineStateChanged(bool isOnline);
36−
37private:
34private:
38− QNetworkConfigurationManager* m_networkManager;
35+ ubuntu::connectivity::NetworkingStatus* m_networkingStatus;
39− bool m_isOnline;
40};
36};
41
37
42class CachingNetworkManagerFactory : public QQmlNetworkAccessManagerFactory
38class CachingNetworkManagerFactory : public QQmlNetworkAccessManagerFactory
src/Dash/CMakeLists.txt+1−1
@@ -12,7 +12,7 @@ qt5_use_modules(unity8-dash Gui Qml Quick Test)
12# For it to find libUbuntuGestures.so, needed by Ubuntu.Gestures QML module.
12# For it to find libUbuntuGestures.so, needed by Ubuntu.Gestures QML module.
13set_target_properties(unity8-dash PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
13set_target_properties(unity8-dash PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
14
14
15−target_link_libraries(unity8-dash UbuntuGestures)
15+target_link_libraries(unity8-dash UbuntuGestures connectivity-qt1)
16
16
17set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
17set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
18
18
tests/autopilot/unity8/application_lifecycle/tests/test_application_lifecycle.py+1−1
@@ -47,7 +47,7 @@ class ApplicationLifecycleTests(tests.ApplicationLifeCycleTestCase):
47 height = self.main_window.height
47 height = self.main_window.height
48 start_x = width
48 start_x = width
49 start_y = int(height/2)
49 start_y = int(height/2)
50− end_x = int(width/2)
50+ end_x = int(width*3/4)
51 end_y = start_y
51 end_y = start_y
52
52
53 logger.info("Swiping screen from the right edge")
53 logger.info("Swiping screen from the right edge")
tests/autopilot/unity8/shell/emulators/dash.py+1−1
@@ -204,7 +204,7 @@ class GenericScopeView(emulators.UnityEmulatorBase):
204
204
205 """
205 """
206 category_element = self._get_category_element(category)
206 category_element = self._get_category_element(category)
207− icon = category_element.select_single('AbstractButton', title=title)
207+ icon = category_element.wait_select_single('AbstractButton', title=title)
208 self.pointing_device.click_object(icon)
208 self.pointing_device.click_object(icon)
209
209
210 def _get_category_element(self, category):
210 def _get_category_element(self, category):
tests/mocks/AccountsService/AccountsService.cpp+37−1
@@ -27,7 +27,9 @@ AccountsService::AccountsService(QObject* parent)
27 m_backgroundFile(qmlDirectory() + "graphics/phone_background.jpg"),
27 m_backgroundFile(qmlDirectory() + "graphics/phone_background.jpg"),
28 m_statsWelcomeScreen(true),
28 m_statsWelcomeScreen(true),
29 m_failedLogins(0),
29 m_failedLogins(0),
30− m_demoEdges(false)
30+ m_demoEdges(false),
31+ m_hereEnabled(false),
32+ m_hereLicensePath("")
31{
33{
32}
34}
33
35
@@ -116,3 +118,37 @@ void AccountsService::setFailedLogins(uint failedLogins)
116 m_failedLogins = failedLogins;
118 m_failedLogins = failedLogins;
117 failedLoginsChanged();
119 failedLoginsChanged();
118}
120}
121+
122+bool AccountsService::hereEnabled() const
123+{
124+ return m_hereEnabled;
125+}
126+
127+void AccountsService::setHereEnabled(bool enabled)
128+{
129+ m_hereEnabled = enabled;
130+ hereEnabledChanged();
131+}
132+
133+QString AccountsService::hereLicensePath() const
134+{
135+ return m_hereLicensePath;
136+}
137+
138+void AccountsService::setHereLicensePath(const QString &path)
139+{
140+ // Path should always be valid (this code is all synchronous)
141+ if (path == " ") {
142+ m_hereLicensePath = QString::null;
143+ } else if (path.isNull()) { // because qml collapses null and empty
144+ m_hereLicensePath = "";
145+ } else {
146+ m_hereLicensePath = path;
147+ }
148+ hereLicensePathChanged();
149+}
150+
151+bool AccountsService::hereLicensePathValid() const
152+{
153+ return !m_hereLicensePath.isNull();
154+}
tests/mocks/AccountsService/AccountsService.h+20
@@ -59,6 +59,17 @@ class AccountsService: public QObject
59 READ failedLogins
59 READ failedLogins
60 WRITE setFailedLogins
60 WRITE setFailedLogins
61 NOTIFY failedLoginsChanged)
61 NOTIFY failedLoginsChanged)
62+ Q_PROPERTY(bool hereEnabled
63+ READ hereEnabled
64+ WRITE setHereEnabled
65+ NOTIFY hereEnabledChanged)
66+ Q_PROPERTY(QString hereLicensePath
67+ READ hereLicensePath
68+ WRITE setHereLicensePath // only available in mock
69+ NOTIFY hereLicensePathChanged)
70+ Q_PROPERTY(bool hereLicensePathValid // qml sees a null string as "", so we use proxy setting for that
71+ READ hereLicensePathValid
72+ NOTIFY hereLicensePathChanged)
62
73
63public:
74public:
64 enum PasswordDisplayHint {
75 enum PasswordDisplayHint {
@@ -83,6 +94,11 @@ public:
83 PasswordDisplayHint passwordDisplayHint() const;
94 PasswordDisplayHint passwordDisplayHint() const;
84 uint failedLogins() const;
95 uint failedLogins() const;
85 void setFailedLogins(uint failedLogins);
96 void setFailedLogins(uint failedLogins);
97+ bool hereEnabled() const;
98+ void setHereEnabled(bool enabled);
99+ QString hereLicensePath() const;
100+ void setHereLicensePath(const QString &path);
101+ bool hereLicensePathValid() const;
86
102
87Q_SIGNALS:
103Q_SIGNALS:
88 void userChanged();
104 void userChanged();
@@ -93,6 +109,8 @@ Q_SIGNALS:
93 void statsWelcomeScreenChanged();
109 void statsWelcomeScreenChanged();
94 void passwordDisplayHintChanged();
110 void passwordDisplayHintChanged();
95 void failedLoginsChanged();
111 void failedLoginsChanged();
112+ void hereEnabledChanged();
113+ void hereLicensePathChanged();
96
114
97private:
115private:
98 bool m_enableLauncherWhileLocked;
116 bool m_enableLauncherWhileLocked;
@@ -102,6 +120,8 @@ private:
102 bool m_statsWelcomeScreen;
120 bool m_statsWelcomeScreen;
103 uint m_failedLogins;
121 uint m_failedLogins;
104 bool m_demoEdges;
122 bool m_demoEdges;
123+ bool m_hereEnabled;
124+ QString m_hereLicensePath;
105};
125};
106
126
107#endif
127#endif
tests/mocks/CMakeLists.txt+2
@@ -32,11 +32,13 @@ add_subdirectory(AccountsService)
32add_subdirectory(GSettings.1.0)
32add_subdirectory(GSettings.1.0)
33add_subdirectory(libusermetrics)
33add_subdirectory(libusermetrics)
34add_subdirectory(LightDM)
34add_subdirectory(LightDM)
35+add_subdirectory(MeeGo)
35add_subdirectory(Powerd)
36add_subdirectory(Powerd)
36add_subdirectory(QMenuModel)
37add_subdirectory(QMenuModel)
37add_subdirectory(Ubuntu)
38add_subdirectory(Ubuntu)
38add_subdirectory(Unity)
39add_subdirectory(Unity)
39add_subdirectory(QtMultimedia)
40add_subdirectory(QtMultimedia)
41+add_subdirectory(Wizard)
40
42
41install(
43install(
42 DIRECTORY data
44 DIRECTORY data
tests/mocks/MeeGo/CMakeLists.txtnew file+1
@@ -0,0 +1 @@
1+add_subdirectory(QOfono)
tests/mocks/MeeGo/QOfono/CMakeLists.txtnew file+10
@@ -0,0 +1,10 @@
1+set(MOCK_QOFONO_SOURCES
2+ plugin.cpp
3+ MockQOfono.cpp
4+)
5+
6+add_library(MockQOfono MODULE ${MOCK_QOFONO_SOURCES})
7+
8+qt5_use_modules(MockQOfono Qml Quick Core)
9+
10+add_unity8_mock(MeeGo.QOfono 0.2 MeeGo/QOfono TARGETS MockQOfono)
tests/mocks/MeeGo/QOfono/MockOfonoManager.qmlnew file+23
@@ -0,0 +1,23 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import MeeGo.QOfono 0.2
19+
20+Item {
21+ readonly property var modems: MockQOfono.modems
22+ readonly property bool available: MockQOfono.available
23+}
tests/mocks/MeeGo/QOfono/MockOfonoSimManager.qmlnew file+42
@@ -0,0 +1,42 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import MeeGo.QOfono 0.2
19+
20+Item {
21+ id: simManager
22+
23+ property string modemPath
24+ readonly property alias present: d.present
25+
26+ QtObject {
27+ id: d
28+
29+ property bool present: false
30+
31+ function updatePresence() {
32+ d.present = MockQOfono.isModemPresent(simManager.modemPath)
33+ }
34+ }
35+
36+ onModemPathChanged: d.updatePresence()
37+
38+ Connections {
39+ target: MockQOfono
40+ onModemsChanged: d.updatePresence()
41+ }
42+}
tests/mocks/MeeGo/QOfono/MockQOfono.cppnew file+54
@@ -0,0 +1,54 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "MockQOfono.h"
18+
19+MockQOfono::MockQOfono(QObject *parent)
20+ : QObject(parent),
21+ m_available(false),
22+ m_modems()
23+{
24+}
25+
26+bool MockQOfono::available() const
27+{
28+ return m_available;
29+}
30+
31+void MockQOfono::setAvailable(bool available)
32+{
33+ m_available = available;
34+ Q_EMIT availableChanged();
35+}
36+
37+QStringList MockQOfono::modems() const
38+{
39+ return m_modems.keys();
40+}
41+
42+void MockQOfono::setModems(const QStringList &modems, const QList<bool> &present)
43+{
44+ m_modems.clear();
45+ for (int i = 0; i < modems.length(); i++) {
46+ m_modems[modems[i]] = present[i];
47+ }
48+ Q_EMIT modemsChanged();
49+}
50+
51+bool MockQOfono::isModemPresent(const QString &modem)
52+{
53+ return m_modems.value(modem, false);
54+}
tests/mocks/MeeGo/QOfono/MockQOfono.hnew file+52
@@ -0,0 +1,52 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+// This class just exists as a backend for the instantiable Qml objects to pull
18+// from. It exists only for this mock plugin.
19+
20+#ifndef MOCK_QOFONO_H
21+#define MOCK_QOFONO_H
22+
23+#include <QObject>
24+#include <QMap>
25+#include <QStringList>
26+
27+class MockQOfono : public QObject
28+{
29+ Q_OBJECT
30+ Q_PROPERTY(bool available READ available WRITE setAvailable NOTIFY availableChanged)
31+ Q_PROPERTY(QStringList modems READ modems NOTIFY modemsChanged)
32+
33+public:
34+ explicit MockQOfono(QObject *parent = 0);
35+
36+ bool available() const;
37+ void setAvailable(bool available);
38+ QStringList modems() const;
39+
40+ Q_INVOKABLE void setModems(const QStringList &modems, const QList<bool> &present);
41+ Q_INVOKABLE bool isModemPresent(const QString &modem);
42+
43+Q_SIGNALS:
44+ void availableChanged();
45+ void modemsChanged();
46+
47+private:
48+ bool m_available;
49+ QMap<QString, bool> m_modems;
50+};
51+
52+#endif // MOCK_QOFONO_H
tests/mocks/MeeGo/QOfono/plugin.cppnew file+33
@@ -0,0 +1,33 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "plugin.h"
18+#include "MockQOfono.h"
19+
20+#include <QtQml>
21+
22+static QObject *mock_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
23+{
24+ Q_UNUSED(engine)
25+ Q_UNUSED(scriptEngine)
26+ return new MockQOfono();
27+}
28+
29+void BackendPlugin::registerTypes(const char *uri)
30+{
31+ Q_ASSERT(uri == QLatin1String("MeeGo.QOfono"));
32+ qmlRegisterSingletonType<MockQOfono>(uri, 0, 2, "MockQOfono", mock_provider); // just for mock
33+}
tests/mocks/MeeGo/QOfono/plugin.hnew file+31
@@ -0,0 +1,31 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef MOCK_QOFONO_PLUGIN_H
18+#define MOCK_QOFONO_PLUGIN_H
19+
20+#include <QQmlExtensionPlugin>
21+
22+class BackendPlugin : public QQmlExtensionPlugin
23+{
24+ Q_OBJECT
25+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
26+
27+public:
28+ void registerTypes(const char *uri);
29+};
30+
31+#endif // MOCK_QOFONO_PLUGIN_H
tests/mocks/MeeGo/QOfono/qmldirnew file+4
@@ -0,0 +1,4 @@
1+module MeeGo.QOfono
2+plugin MockQOfono
3+OfonoManager 0.2 MockOfonoManager.qml
4+OfonoSimManager 0.2 MockOfonoSimManager.qml
tests/mocks/QMenuModel/CMakeLists.txt+1
@@ -5,6 +5,7 @@ include_directories(
5
5
6set(QMenuModelQml_SOURCES
6set(QMenuModelQml_SOURCES
7 actionstateparser.cpp
7 actionstateparser.cpp
8+ dbus-enums.h
8 plugin.cpp
9 plugin.cpp
9 unitymenumodel.cpp
10 unitymenumodel.cpp
10)
11)
tests/mocks/QMenuModel/QDBusActionGroup.qml+12
@@ -21,6 +21,7 @@ import QtQuick 2.0
21import Ubuntu.Settings.Menus 0.1 as Menus
21import Ubuntu.Settings.Menus 0.1 as Menus
22
22
23QtObject {
23QtObject {
24+ id: actionGroup
24 property int busType
25 property int busType
25 property string busName
26 property string busName
26 property string objectPath
27 property string objectPath
@@ -78,6 +79,17 @@ QtObject {
78 'percent': 0.0
79 'percent': 0.0
79 }
80 }
80 }
81 }
82+ case "gps-detection-enabled":
83+ case "location-detection-enabled":
84+ return Qt.createQmlObject("
85+import QtQuick 2.3
86+QtObject {
87+ property bool valid: true
88+ property bool state: false
89+ function activate() {
90+ state = !state;
91+ }
92+}", actionGroup);
81 default:
93 default:
82 break;
94 break;
83 }
95 }
tests/mocks/QMenuModel/dbus-enums.hnew file+52
@@ -0,0 +1,52 @@
1+/*
2+ * Copyright 2012 Canonical Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU Lesser General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU Lesser General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU Lesser General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Authors:
17+ * Olivier Tilloy <olivier.tilloy@canonical.com>
18+ */
19+
20+#ifndef __DBUS_ENUMS__
21+#define __DBUS_ENUMS__
22+
23+#include <QObject>
24+
25+// This class acts as a namespace only, with the addition that its enums
26+// are registered to be exposed on the QML side.
27+class DBusEnums : public QObject
28+{
29+ Q_OBJECT
30+
31+ Q_ENUMS(BusType)
32+ Q_ENUMS(ConnectionStatus)
33+
34+public:
35+ enum BusType {
36+ None = 0,
37+ SessionBus,
38+ SystemBus,
39+ LastBusType
40+ };
41+
42+ enum ConnectionStatus {
43+ Disconnected = 0,
44+ Connecting,
45+ Connected
46+ };
47+
48+private:
49+ DBusEnums() {}
50+};
51+
52+#endif // __DBUS_ENUMS__
tests/mocks/QMenuModel/plugin.cpp+3
@@ -19,12 +19,15 @@
19#include "plugin.h"
19#include "plugin.h"
20#include "unitymenumodel.h"
20#include "unitymenumodel.h"
21#include "actionstateparser.h"
21#include "actionstateparser.h"
22+#include "dbus-enums.h"
22
23
23#include <QtQml/qqml.h>
24#include <QtQml/qqml.h>
24
25
25void QMenuModelPlugin::registerTypes(const char *uri)
26void QMenuModelPlugin::registerTypes(const char *uri)
26{
27{
27 Q_ASSERT(uri == QLatin1String("QMenuModel"));
28 Q_ASSERT(uri == QLatin1String("QMenuModel"));
29+ qmlRegisterUncreatableType<DBusEnums>(uri, 0, 1, "DBus",
30+ "DBus is only a namespace");
28 qmlRegisterType<UnityMenuModel>(uri, 0, 1, "UnityMenuModel");
31 qmlRegisterType<UnityMenuModel>(uri, 0, 1, "UnityMenuModel");
29 qmlRegisterType<ActionStateParser>(uri, 0, 1, "ActionStateParser");
32 qmlRegisterType<ActionStateParser>(uri, 0, 1, "ActionStateParser");
30}
33}
tests/mocks/Ubuntu/CMakeLists.txt+1
@@ -2,5 +2,6 @@ add_subdirectory(Connectivity)
2add_subdirectory(DownloadDaemonListener)
2add_subdirectory(DownloadDaemonListener)
3add_subdirectory(Payments)
3add_subdirectory(Payments)
4add_subdirectory(SystemImage)
4add_subdirectory(SystemImage)
5+add_subdirectory(SystemSettings)
5add_subdirectory(Telephony)
6add_subdirectory(Telephony)
6add_subdirectory(Thumbnailer)
7add_subdirectory(Thumbnailer)
tests/mocks/Ubuntu/SystemSettings/CMakeLists.txtnew file+2
@@ -0,0 +1,2 @@
1+add_subdirectory(LanguagePlugin)
2+add_subdirectory(SecurityPrivacy)
tests/mocks/Ubuntu/SystemSettings/LanguagePlugin/CMakeLists.txtnew file+1
@@ -0,0 +1 @@
1+add_unity8_mock(Ubuntu.SystemSettings.LanguagePlugin 1.0 Ubuntu/SystemSettings/LanguagePlugin)
tests/mocks/Ubuntu/SystemSettings/LanguagePlugin/MockLanguagePlugin.qmlnew file+23
@@ -0,0 +1,23 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+
19+Item {
20+ property var languageNames: ["English", "French", "Spanish"]
21+ property var languageCodes: ["en", "fr", "es"]
22+ property int currentLanguage: 0
23+}
tests/mocks/Ubuntu/SystemSettings/LanguagePlugin/qmldirnew file+2
@@ -0,0 +1,2 @@
1+module Ubuntu.SystemSettings.LanguagePlugin
2+UbuntuLanguagePlugin 1.0 MockLanguagePlugin.qml
tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/CMakeLists.txtnew file+10
@@ -0,0 +1,10 @@
1+set(MOCK_SECURITYPRIVACY_SOURCES
2+ plugin.cpp
3+ MockSecurityPrivacy.cpp
4+)
5+
6+add_library(MockSecurityPrivacy MODULE ${MOCK_SECURITYPRIVACY_SOURCES})
7+
8+qt5_use_modules(MockSecurityPrivacy Qml Quick Core)
9+
10+add_unity8_mock(Ubuntu.SystemSettings.SecurityPrivacy 1.0 Ubuntu/SystemSettings/SecurityPrivacy TARGETS MockSecurityPrivacy)
tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/MockSecurityPrivacy.cppnew file+28
@@ -0,0 +1,28 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "MockSecurityPrivacy.h"
18+
19+MockSecurityPrivacy::MockSecurityPrivacy(QObject *parent)
20+ : QObject(parent)
21+{
22+}
23+
24+QString MockSecurityPrivacy::setSecurity(const QString &oldPasswd, const QString &newPasswd, SecurityType newType)
25+{
26+ Q_EMIT setSecurityCalled(oldPasswd, newPasswd, newType);
27+ return "";
28+}
tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/MockSecurityPrivacy.hnew file+42
@@ -0,0 +1,42 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef MOCK_SECURITYPRIVACY_H
18+#define MOCK_SECURITYPRIVACY_H
19+
20+#include <QObject>
21+
22+class MockSecurityPrivacy : public QObject
23+{
24+ Q_OBJECT
25+ Q_ENUMS(SecurityType)
26+
27+public:
28+ enum SecurityType {
29+ Swipe,
30+ Passcode,
31+ Passphrase,
32+ };
33+
34+ MockSecurityPrivacy(QObject *parent = 0);
35+
36+ Q_INVOKABLE QString setSecurity(const QString &oldPasswd, const QString &newPasswd, SecurityType newType);
37+
38+Q_SIGNALS:
39+ void setSecurityCalled(const QString &oldPasswd, const QString &newPasswd, SecurityType newType); // only in mock
40+};
41+
42+#endif // MOCK_SECURITYPRIVACY_H
tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/plugin.cppnew file+26
@@ -0,0 +1,26 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "plugin.h"
18+#include "MockSecurityPrivacy.h"
19+
20+#include <QtQml>
21+
22+void BackendPlugin::registerTypes(const char *uri)
23+{
24+ Q_ASSERT(uri == QLatin1String("Ubuntu.SystemSettings.SecurityPrivacy"));
25+ qmlRegisterType<MockSecurityPrivacy>(uri, 1, 0, "UbuntuSecurityPrivacyPanel");
26+}
tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/plugin.hnew file+31
@@ -0,0 +1,31 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef MOCK_SECURITYPRIVACY_PLUGIN_H
18+#define MOCK_SECURITYPRIVACY_PLUGIN_H
19+
20+#include <QQmlExtensionPlugin>
21+
22+class BackendPlugin : public QQmlExtensionPlugin
23+{
24+ Q_OBJECT
25+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
26+
27+public:
28+ void registerTypes(const char *uri);
29+};
30+
31+#endif // MOCK_SECURITYPRIVACY_PLUGIN_H
tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/qmldirnew file+2
@@ -0,0 +1,2 @@
1+module Ubuntu.SystemSettings.SecurityPrivacy
2+plugin MockSecurityPrivacy
tests/mocks/Unity/CMakeLists.txt+1−1
@@ -6,7 +6,7 @@ add_subdirectory(Notifications)
6add_subdirectory(DashCommunicator)
6add_subdirectory(DashCommunicator)
7
7
8pkg_search_module(GOBJECT gobject-2.0 REQUIRED)
8pkg_search_module(GOBJECT gobject-2.0 REQUIRED)
9−pkg_check_modules(SCOPES_API REQUIRED unity-shell-scopes=4)
9+pkg_check_modules(SCOPES_API REQUIRED unity-shell-scopes=5)
10
10
11include_directories(
11include_directories(
12 ${CMAKE_CURRENT_BINARY_DIR}
12 ${CMAKE_CURRENT_BINARY_DIR}
tests/mocks/Unity/fake_scopes.cpp+57−3
@@ -165,14 +165,68 @@ unity::shell::scopes::ScopeInterface* Scopes::overviewScope() const
165 return m_scopesOverview;
165 return m_scopesOverview;
166}
166}
167
167
168+void Scopes::setFavorite(const QString& scopeId, bool favorite)
169+{
170+ if (favorite) {
171+ for (Scope *scope : m_scopes) {
172+ // Check it's not already there
173+ Q_ASSERT(scope->id() != scopeId);
174+ }
175+ for (Scope *scope : m_allScopes) {
176+ if (scope->id() == scopeId) {
177+ const int index = rowCount();
178+ beginInsertRows(QModelIndex(), index, index);
179+ m_scopes << scope;
180+ endInsertRows();
181+ m_scopesOverview->setFavorite(scope, true);
182+ return;
183+ }
184+ }
185+ Q_ASSERT(false && "Unknown scopeId");
186+ } else {
187+ for (Scope *scope : m_scopes) {
188+ if (scope->id() == scopeId) {
189+ const int index = m_scopes.indexOf(scope);
190+ beginRemoveRows(QModelIndex(), index, index);
191+ m_scopes.removeAt(index);
192+ endRemoveRows();
193+ m_scopesOverview->setFavorite(scope, false);
194+ return;
195+ }
196+ }
197+ Q_ASSERT(false && "Unknown scopeId");
198+ }
199+}
200+
201+void Scopes::moveFavoriteTo(const QString& scopeId, int to)
202+{
203+ int from = -1;
204+ for (int i = 0; i < m_scopes.count(); ++i) {
205+ if (m_scopes[i]->id() == scopeId) {
206+ from = i;
207+ break;
208+ }
209+ }
210+ Q_ASSERT(from != -1);
211+ beginMoveRows(QModelIndex(), from, from, QModelIndex(), to + (to > from ? 1 : 0));
212+ m_scopes.move(from, to);
213+ endMoveRows();
214+ m_scopesOverview->moveFavoriteTo(m_scopes[to], to);
215+}
216+
168−QList<Scope*> Scopes::scopes() const
217+QList<Scope*> Scopes::favScopes() const
169{
218{
170 return m_scopes;
219 return m_scopes;
171}
220}
172
221
173−QList<Scope*> Scopes::allScopes() const
222+QList<Scope*> Scopes::nonFavScopes() const
174{
223{
224+ QList<Scope*> res;
175− return m_allScopes;
225+ for (Scope *scope : m_allScopes) {
226+ if (!m_scopes.contains(scope))
227+ res << scope;
228+ }
229+ return res;
176}
230}
177
231
178void Scopes::addScope(Scope* scope)
232void Scopes::addScope(Scope* scope)
tests/mocks/Unity/fake_scopes.h+8−3
@@ -28,6 +28,8 @@
28#include <QList>
28#include <QList>
29#include <QTimer>
29#include <QTimer>
30
30
31+class ScopesOverview;
32+
31class Scopes : public unity::shell::scopes::ScopesInterface
33class Scopes : public unity::shell::scopes::ScopesInterface
32{
34{
33 Q_OBJECT
35 Q_OBJECT
@@ -53,9 +55,12 @@ public:
53 int count() const override;
55 int count() const override;
54 unity::shell::scopes::ScopeInterface* overviewScope() const override;
56 unity::shell::scopes::ScopeInterface* overviewScope() const override;
55
57
58+ Q_INVOKABLE void setFavorite(const QString& scopeId, bool favorite) override;
59+ Q_INVOKABLE void moveFavoriteTo(const QString& scopeId, int index) override;
60+
56 // This is used as part of implementation of the other C++ code, not API
61 // This is used as part of implementation of the other C++ code, not API
57− QList<Scope*> scopes() const;
62+ QList<Scope*> favScopes() const;
58− QList<Scope*> allScopes() const;
63+ QList<Scope*> nonFavScopes() const;
59 Q_INVOKABLE Scope* getScopeFromAll(const QString& scope_id) const;
64 Q_INVOKABLE Scope* getScopeFromAll(const QString& scope_id) const;
60
65
61private Q_SLOTS:
66private Q_SLOTS:
@@ -64,7 +69,7 @@ private Q_SLOTS:
64private:
69private:
65 QList<Scope*> m_scopes; // the favorite ones
70 QList<Scope*> m_scopes; // the favorite ones
66 QList<Scope*> m_allScopes;
71 QList<Scope*> m_allScopes;
67− Scope *m_scopesOverview;
72+ ScopesOverview *m_scopesOverview;
68 bool m_loaded;
73 bool m_loaded;
69 QTimer timer;
74 QTimer timer;
70};
75};
tests/mocks/Unity/fake_scopesoverview.cpp+77−11
@@ -44,8 +44,22 @@ void ScopesOverview::setSearchQuery(const QString& search_query)
44Q_INVOKABLE void ScopesOverview::activate(QVariant const& result)
44Q_INVOKABLE void ScopesOverview::activate(QVariant const& result)
45{
45{
46 Scopes *scopes = dynamic_cast<Scopes*>(parent());
46 Scopes *scopes = dynamic_cast<Scopes*>(parent());
47+ if (scopes->getScope(result.toString())) {
48+ Q_EMIT gotoScope(result.toString());
49+ } else {
47− m_openScope = scopes->getScopeFromAll(result.toString());
50+ m_openScope = scopes->getScopeFromAll(result.toString());
48− Q_EMIT openScope(m_openScope);
51+ Q_EMIT openScope(m_openScope);
52+ }
53+}
54+
55+void ScopesOverview::setFavorite(Scope *scope, bool favorite)
56+{
57+ m_scopesOverviewCategories->setFavorite(scope, favorite);
58+}
59+
60+void ScopesOverview::moveFavoriteTo(Scope *scope, int index)
61+{
62+ m_scopesOverviewCategories->moveFavoriteTo(scope, index);
49}
63}
50
64
51ScopesOverviewCategories::ScopesOverviewCategories(Scopes *scopes, QObject* parent)
65ScopesOverviewCategories::ScopesOverviewCategories(Scopes *scopes, QObject* parent)
@@ -69,19 +83,41 @@ bool ScopesOverviewCategories::overrideCategoryJson(QString const& /* categoryId
69 qFatal("Using un-implemented ScopesOverviewCategories::overrideCategoryJson");
83 qFatal("Using un-implemented ScopesOverviewCategories::overrideCategoryJson");
70}
84}
71
85
72−QVariant
86+void ScopesOverviewCategories::setFavorite(Scope *scope, bool favorite)
87+{
88+ if (m_resultsModels.value(0)) {
89+ if (favorite) {
90+ m_resultsModels[0]->appendScope(scope);
91+ } else {
92+ m_resultsModels[0]->removeScope(scope);
93+ }
94+ }
95+ if (m_resultsModels.value(1)) {
96+ if (favorite) {
97+ m_resultsModels[1]->removeScope(scope);
98+ } else {
99+ m_resultsModels[1]->appendScope(scope);
100+ }
101+ }
102+}
103+
104+void ScopesOverviewCategories::moveFavoriteTo(Scope *scope, int index)
105+{
106+ m_resultsModels[0]->moveScopeTo(scope, index);
107+}
108+
73−ScopesOverviewCategories::data(const QModelIndex& index, int role) const
109+QVariant ScopesOverviewCategories::data(const QModelIndex& index, int role) const
74{
110{
75 if (!index.isValid()) {
111 if (!index.isValid()) {
76 return QVariant();
112 return QVariant();
77 }
113 }
78
114
79− const QString categoryId = index.row() == 0 ? "favorites" : "all";
115+ const QString categoryId = index.row() == 0 ? "favorites" : "other";
80
116
81− unity::shell::scopes::ResultsModelInterface *resultsModel = m_resultsModels[index.row()];
117+ ScopesOverviewResultsModel *resultsModel = m_resultsModels[index.row()];
82 if (!resultsModel) {
118 if (!resultsModel) {
83 QObject *that = const_cast<ScopesOverviewCategories*>(this);
119 QObject *that = const_cast<ScopesOverviewCategories*>(this);
84− QList<Scope*> scopes = index.row() == 0 ? m_scopes->scopes() : m_scopes->allScopes();
120+ QList<Scope*> scopes = index.row() == 0 ? m_scopes->favScopes() : m_scopes->nonFavScopes();
85 resultsModel = new ScopesOverviewResultsModel(scopes, categoryId, that);
121 resultsModel = new ScopesOverviewResultsModel(scopes, categoryId, that);
86 m_resultsModels[index.row()] = resultsModel;
122 m_resultsModels[index.row()] = resultsModel;
87 }
123 }
@@ -89,7 +125,7 @@ ScopesOverviewCategories::data(const QModelIndex& index, int role) const
89 case RoleCategoryId:
125 case RoleCategoryId:
90 return categoryId;
126 return categoryId;
91 case RoleName:
127 case RoleName:
92− return index.row() == 0 ? "Favorites" : "All";
128+ return index.row() == 0 ? "Favorites" : "Non Favorites";
93 case RoleIcon:
129 case RoleIcon:
94 return QVariant();
130 return QVariant();
95 case RoleRawRendererTemplate:
131 case RoleRawRendererTemplate:
@@ -157,7 +193,7 @@ ScopesOverviewSearchCategories::data(const QModelIndex& index, int role) const
157
193
158 const QString categoryId = index.row() == 0 ? "searchA" : "searchB";
194 const QString categoryId = index.row() == 0 ? "searchA" : "searchB";
159
195
160− unity::shell::scopes::ResultsModelInterface *resultsModel = m_resultsModels[index.row()];
196+ ScopesOverviewResultsModel *resultsModel = m_resultsModels[index.row()];
161 if (!resultsModel) {
197 if (!resultsModel) {
162 QObject *that = const_cast<ScopesOverviewSearchCategories*>(this);
198 QObject *that = const_cast<ScopesOverviewSearchCategories*>(this);
163 QList<Scope *> scopes;
199 QList<Scope *> scopes;
@@ -256,8 +292,7 @@ int ScopesOverviewResultsModel::count() const
256 return rowCount();
292 return rowCount();
257}
293}
258
294
259−QVariant
260−ScopesOverviewResultsModel::data(const QModelIndex& index, int role) const
295+QVariant ScopesOverviewResultsModel::data(const QModelIndex& index, int role) const
261{
296{
262 unity::shell::scopes::ScopeInterface *scope = m_scopes[index.row()];
297 unity::shell::scopes::ScopeInterface *scope = m_scopes[index.row()];
263 switch (role) {
298 switch (role) {
@@ -269,6 +304,8 @@ ScopesOverviewResultsModel::data(const QModelIndex& index, int role) const
269 return scope ? scope->id() : QString("Result.%1.%2").arg(categoryId()).arg(index.row());
304 return scope ? scope->id() : QString("Result.%1.%2").arg(categoryId()).arg(index.row());
270 case RoleTitle:
305 case RoleTitle:
271 return scope ? scope->name() : QString("Title.%1.%2").arg(categoryId()).arg(index.row());
306 return scope ? scope->name() : QString("Title.%1.%2").arg(categoryId()).arg(index.row());
307+ case RoleSubtitle:
308+ return scope && scope->name() == "Videos" ? "tube, movies, cinema" : QString();
272 case RoleArt:
309 case RoleArt:
273 return qmlDirectory() + "graphics/applicationIcons/dash.png";
310 return qmlDirectory() + "graphics/applicationIcons/dash.png";
274 case RoleMascot:
311 case RoleMascot:
@@ -281,3 +318,32 @@ ScopesOverviewResultsModel::data(const QModelIndex& index, int role) const
281 return QVariant();
318 return QVariant();
282 }
319 }
283}
320}
321+
322+void ScopesOverviewResultsModel::appendScope(Scope *scope)
323+{
324+ Q_ASSERT(!m_scopes.contains(scope));
325+ const int index = rowCount();
326+ beginInsertRows(QModelIndex(), index, index);
327+ m_scopes << scope;
328+ endInsertRows();
329+ Q_EMIT countChanged();
330+}
331+
332+void ScopesOverviewResultsModel::removeScope(Scope *scope)
333+{
334+ const int index = m_scopes.indexOf(scope);
335+ Q_ASSERT(index != -1);
336+ beginRemoveRows(QModelIndex(), index, index);
337+ m_scopes.removeAt(index);
338+ endRemoveRows();
339+ Q_EMIT countChanged();
340+}
341+
342+void ScopesOverviewResultsModel::moveScopeTo(Scope *scope, int to)
343+{
344+ const int from = m_scopes.indexOf(scope);
345+ Q_ASSERT(from!= -1);
346+ beginMoveRows(QModelIndex(), from, from, QModelIndex(), to + (to > from ? 1 : 0));
347+ m_scopes.move(from, to);
348+ endMoveRows();
349+}
tests/mocks/Unity/fake_scopesoverview.h+18−3
@@ -21,6 +21,8 @@
21#include <unity/shell/scopes/ResultsModelInterface.h>
21#include <unity/shell/scopes/ResultsModelInterface.h>
22
22
23class Scopes;
23class Scopes;
24+class ScopesOverviewCategories;
25+class ScopesOverviewResultsModel;
24
26
25class ScopesOverview : public Scope
27class ScopesOverview : public Scope
26{
28{
@@ -32,8 +34,12 @@ public:
32 void setSearchQuery(const QString& search_query) override;
34 void setSearchQuery(const QString& search_query) override;
33 Q_INVOKABLE void activate(QVariant const& result) override;
35 Q_INVOKABLE void activate(QVariant const& result) override;
34
36
37+ // This is implementation detail
38+ void setFavorite(Scope *scope, bool favorite);
39+ void moveFavoriteTo(Scope *scope, int index);
40+
35private:
41private:
36− unity::shell::scopes::CategoriesInterface *m_scopesOverviewCategories;
42+ ScopesOverviewCategories *m_scopesOverviewCategories;
37 unity::shell::scopes::CategoriesInterface *m_searchCategories;
43 unity::shell::scopes::CategoriesInterface *m_searchCategories;
38};
44};
39
45
@@ -50,8 +56,12 @@ public:
50 Q_INVOKABLE void addSpecialCategory(QString const& categoryId, QString const& name, QString const& icon, QString const& rawTemplate, QObject* countObject) override;
56 Q_INVOKABLE void addSpecialCategory(QString const& categoryId, QString const& name, QString const& icon, QString const& rawTemplate, QObject* countObject) override;
51 Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
57 Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
52
58
59+ // This is implementation detail
60+ void setFavorite(Scope *scope, bool favorite);
61+ void moveFavoriteTo(Scope *scope, int index);
62+
53private:
63private:
54− mutable QHash<int, unity::shell::scopes::ResultsModelInterface*> m_resultsModels;
64+ mutable QHash<int, ScopesOverviewResultsModel*> m_resultsModels;
55
65
56 Scopes *m_scopes;
66 Scopes *m_scopes;
57};
67};
@@ -70,7 +80,7 @@ public:
70 Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
80 Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
71
81
72private:
82private:
73− mutable QHash<int, unity::shell::scopes::ResultsModelInterface*> m_resultsModels;
83+ mutable QHash<int, ScopesOverviewResultsModel*> m_resultsModels;
74
84
75 Scopes *m_scopes;
85 Scopes *m_scopes;
76};
86};
@@ -96,6 +106,11 @@ public:
96 Q_INVOKABLE int scopeIndex(QString const& id) const;
106 Q_INVOKABLE int scopeIndex(QString const& id) const;
97 QHash<int, QByteArray> roleNames() const override;
107 QHash<int, QByteArray> roleNames() const override;
98
108
109+ // This is implementation detail
110+ void appendScope(Scope *scope);
111+ void removeScope(Scope *scope);
112+ void moveScopeTo(Scope *scope, int index);
113+
99private:
114private:
100 QList<Scope *> m_scopes;
115 QList<Scope *> m_scopes;
101 QString m_categoryId;
116 QString m_categoryId;
tests/mocks/Wizard/CMakeLists.txtnew file+12
@@ -0,0 +1,12 @@
1+include_directories(
2+ ${CMAKE_SOURCE_DIR}/plugins/Wizard
3+)
4+
5+add_library(MockWizard-qml MODULE
6+ mockplugin.cpp
7+ MockSystem.cpp
8+ ${CMAKE_SOURCE_DIR}/plugins/Wizard/PageList.cpp
9+)
10+
11+qt5_use_modules(MockWizard-qml Qml)
12+add_unity8_mock(Wizard 0.1 Wizard TARGETS MockWizard-qml)
tests/mocks/Wizard/MockSystem.cppnew file+39
@@ -0,0 +1,39 @@
1+/*
2+ * Copyright (C) 2014 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "MockSystem.h"
18+
19+MockSystem::MockSystem()
20+ : QObject(),
21+ m_wizardEnabled(false)
22+{
23+}
24+
25+bool MockSystem::wizardEnabled() const
26+{
27+ return m_wizardEnabled;
28+}
29+
30+void MockSystem::setWizardEnabled(bool enabled)
31+{
32+ m_wizardEnabled = enabled;
33+ Q_EMIT wizardEnabledChanged();
34+}
35+
36+void MockSystem::updateSessionLanguage(const QString &locale)
37+{
38+ Q_EMIT updateSessionLanguageCalled(locale);
39+}
tests/mocks/Wizard/MockSystem.hnew file+47
@@ -0,0 +1,47 @@
1+/*
2+ * Copyright (C) 2014 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef WIZARD_MOCK_SYSTEM_H
18+#define WIZARD_MOCK_SYSTEM_H
19+
20+#include <QObject>
21+#include <QString>
22+
23+class MockSystem : public QObject
24+{
25+ Q_OBJECT
26+ Q_PROPERTY(bool wizardEnabled READ wizardEnabled WRITE setWizardEnabled NOTIFY wizardEnabledChanged)
27+
28+public:
29+ MockSystem();
30+
31+ bool wizardEnabled() const;
32+ void setWizardEnabled(bool enabled);
33+
34+public Q_SLOTS:
35+ void updateSessionLanguage(const QString &locale);
36+
37+Q_SIGNALS:
38+ void wizardEnabledChanged();
39+ void updateSessionLanguageCalled(const QString &locale); // only in mock
40+
41+private:
42+ Q_DISABLE_COPY(MockSystem)
43+
44+ bool m_wizardEnabled;
45+};
46+
47+#endif
tests/mocks/Wizard/Wizard.qmltypesnew file+36
@@ -0,0 +1,36 @@
1+import QtQuick.tooling 1.1
2+
3+// This file describes the plugin-supplied types contained in the library.
4+// It is used for QML tooling purposes only.
5+//
6+// This file was auto-generated by:
7+// 'qmlplugindump -notrelocatable Wizard 0.1 tests/mocks'
8+
9+Module {
10+ Component {
11+ name: "MockSystem"
12+ prototype: "QObject"
13+ exports: ["Wizard/System 0.1"]
14+ isCreatable: false
15+ isSingleton: true
16+ exportMetaObjectRevisions: [0]
17+ Property { name: "wizardEnabled"; type: "bool" }
18+ Method {
19+ name: "updateSessionLanguage"
20+ Parameter { name: "locale"; type: "string" }
21+ }
22+ }
23+ Component {
24+ name: "PageList"
25+ prototype: "QObject"
26+ exports: ["Wizard/PageList 0.1"]
27+ isCreatable: false
28+ isSingleton: true
29+ exportMetaObjectRevisions: [0]
30+ Property { name: "index"; type: "int"; isReadonly: true }
31+ Property { name: "numPages"; type: "int"; isReadonly: true }
32+ Method { name: "prev"; type: "string" }
33+ Method { name: "next"; type: "string" }
34+ }
35+}
36+
tests/mocks/Wizard/mockplugin.cppnew file+35
@@ -0,0 +1,35 @@
1+/*
2+ * Copyright (C) 2012,2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "mockplugin.h"
18+#include "MockSystem.h"
19+#include "PageList.h"
20+
21+#include <QtQml/qqml.h>
22+
23+static QObject *system_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
24+{
25+ Q_UNUSED(engine)
26+ Q_UNUSED(scriptEngine)
27+ return new MockSystem();
28+}
29+
30+void MockWizardPlugin::registerTypes(const char *uri)
31+{
32+ Q_ASSERT(uri == QLatin1String("Wizard"));
33+ qmlRegisterType<PageList>(uri, 0, 1, "PageList");
34+ qmlRegisterSingletonType<MockSystem>(uri, 0, 1, "System", system_provider);
35+}
tests/mocks/Wizard/mockplugin.hnew file+32
@@ -0,0 +1,32 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef MOCK_WIZARD_PLUGIN_H
18+#define MOCK_WIZARD_PLUGIN_H
19+
20+#include <QtQml/QQmlEngine>
21+#include <QtQml/QQmlExtensionPlugin>
22+
23+class MockWizardPlugin : public QQmlExtensionPlugin
24+{
25+ Q_OBJECT
26+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
27+
28+public:
29+ void registerTypes(const char *uri);
30+};
31+
32+#endif
tests/mocks/Wizard/qmldirnew file+3
@@ -0,0 +1,3 @@
1+module Wizard
2+plugin MockWizard-qml
3+typeinfo Wizard.qmltypes
tests/plugins/CMakeLists.txt+1
@@ -4,3 +4,4 @@ add_subdirectory(Dash)
4add_subdirectory(Ubuntu)
4add_subdirectory(Ubuntu)
5add_subdirectory(Unity)
5add_subdirectory(Unity)
6add_subdirectory(Utils)
6add_subdirectory(Utils)
7+add_subdirectory(Wizard)
tests/plugins/Dash/CMakeLists.txt+1
@@ -80,3 +80,4 @@ set(qmltest_DEFAULT_PROPERTIES ENVIRONMENT "LC_ALL=C")
80add_qml_test(. ScopeStyle IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
80add_qml_test(. ScopeStyle IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
81add_qml_test(. ListViewWithPageHeaderQML IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
81add_qml_test(. ListViewWithPageHeaderQML IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
82add_qml_test(. CardAttributes IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
82add_qml_test(. CardAttributes IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
83+add_qml_test(. CroppedImageMinimumSourceSize IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
tests/plugins/Dash/cardcreator/1.res+4−4
@@ -46,16 +46,16 @@ Item {
46 height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height });
46 height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height });
47 }
47 }
48 }
48 }
49− image: CroppedImageMinimumSourceSize {
49+ CroppedImageMinimumSourceSize {
50+ id: artImage;
50 objectName: "artImage";
51 objectName: "artImage";
51− property bool doLoadSource: !NetworkingStatus.limitedBandwith;
52− source: { if (root.visible) doLoadSource = true; return doLoadSource && cardData && cardData["art"] || ""; }
52+ source: cardData && cardData["art"] || "";
53− cache: true;
54 asynchronous: root.asynchronous;
53 asynchronous: root.asynchronous;
55 visible: false;
54 visible: false;
56 width: root.width;
55 width: root.width;
57 height: width / artShape.aspect;
56 height: width / artShape.aspect;
58 }
57 }
58+ image: artImage.image;
59 }
59 }
60 }
60 }
61 }
61 }
tests/plugins/Dash/cardcreator/2.res+2−3
@@ -68,13 +68,12 @@ CroppedImageMinimumSourceSize {
68 id: mascotImage;
68 id: mascotImage;
69 objectName: "mascotImage";
69 objectName: "mascotImage";
70 anchors { verticalCenter: parent.verticalCenter; }
70 anchors { verticalCenter: parent.verticalCenter; }
71− property bool doLoadSource: !NetworkingStatus.limitedBandwith;
72− source: { if (root.visible) doLoadSource = true; return doLoadSource && cardData && cardData["mascot"] || ""; }
71+ source: cardData && cardData["mascot"] || "";
73 width: units.gu(6);
72 width: units.gu(6);
74 height: units.gu(5.625);
73 height: units.gu(5.625);
75 horizontalAlignment: Image.AlignHCenter;
74 horizontalAlignment: Image.AlignHCenter;
76 verticalAlignment: Image.AlignVCenter;
75 verticalAlignment: Image.AlignVCenter;
77− visible: showHeader && resized;
76+ visible: showHeader;
78 }
77 }
79,Item {
78,Item {
80 id: headerTitleContainer;
79 id: headerTitleContainer;
tests/plugins/Dash/cardcreator/3.res+10−10
@@ -46,16 +46,16 @@ Item {
46 height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height });
46 height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height });
47 }
47 }
48 }
48 }
49− image: CroppedImageMinimumSourceSize {
49+ CroppedImageMinimumSourceSize {
50+ id: artImage;
50− objectName: "artImage";
51+ objectName: "artImage";
51− property bool doLoadSource: !NetworkingStatus.limitedBandwith;
52− source: { if (root.visible) doLoadSource = true; return doLoadSource && cardData && cardData["art"] || ""; }
52+ source: cardData && cardData["art"] || "";
53− cache: true;
54− asynchronous: root.asynchronous;
53+ asynchronous: root.asynchronous;
55− visible: false;
54+ visible: false;
56− width: root.width;
55+ width: root.width;
57− height: width / artShape.aspect;
56+ height: width / artShape.aspect;
58− }
57+ }
58+ image: artImage.image;
59 }
59 }
60 }
60 }
61 }
61 }
tests/plugins/Dash/cardcreator/4.res+3−4
@@ -35,11 +35,11 @@ Loader {
35 id: mascotShapeLoader;
35 id: mascotShapeLoader;
36 objectName: "mascotShapeLoader";
36 objectName: "mascotShapeLoader";
37 asynchronous: root.asynchronous;
37 asynchronous: root.asynchronous;
38− active: mascotImage.status === Image.Ready;
38+ active: mascotImage.image.status === Image.Ready;
39 visible: showHeader && active && status == Loader.Ready;
39 visible: showHeader && active && status == Loader.Ready;
40 width: units.gu(6);
40 width: units.gu(6);
41 height: units.gu(5.625);
41 height: units.gu(5.625);
42− sourceComponent: UbuntuShape { image: mascotImage }
42+ sourceComponent: UbuntuShape { image: mascotImage.image }
43 anchors { verticalCenter: parent.verticalCenter; }
43 anchors { verticalCenter: parent.verticalCenter; }
44 }
44 }
45
45
@@ -47,8 +47,7 @@ Loader {
47 id: mascotImage;
47 id: mascotImage;
48 objectName: "mascotImage";
48 objectName: "mascotImage";
49 anchors { verticalCenter: parent.verticalCenter; }
49 anchors { verticalCenter: parent.verticalCenter; }
50− property bool doLoadSource: !NetworkingStatus.limitedBandwith;
51− source: { if (root.visible) doLoadSource = true; return doLoadSource && cardData && cardData["mascot"] || ""; }
50+ source: cardData && cardData["mascot"] || "";
52 width: units.gu(6);
51 width: units.gu(6);
53 height: units.gu(5.625);
52 height: units.gu(5.625);
54 horizontalAlignment: Image.AlignHCenter;
53 horizontalAlignment: Image.AlignHCenter;
tests/plugins/Dash/cardcreator/5.res+10−10
@@ -46,16 +46,16 @@ Item {
46 height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height });
46 height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height });
47 }
47 }
48 }
48 }
49− image: CroppedImageMinimumSourceSize {
49+ CroppedImageMinimumSourceSize {
50+ id: artImage;
50− objectName: "artImage";
51+ objectName: "artImage";
51− property bool doLoadSource: !NetworkingStatus.limitedBandwith;
52− source: { if (root.visible) doLoadSource = true; return doLoadSource && cardData && cardData["art"] || ""; }
52+ source: cardData && cardData["art"] || "";
53− cache: true;
54− asynchronous: root.asynchronous;
53+ asynchronous: root.asynchronous;
55− visible: false;
54+ visible: false;
56− width: root.width;
55+ width: root.width;
57− height: width / artShape.aspect;
56+ height: width / artShape.aspect;
58− }
57+ }
58+ image: artImage.image;
59 }
59 }
60 }
60 }
61 }
61 }
tests/plugins/Dash/cardcreator/7.res+2−3
@@ -68,13 +68,12 @@ CroppedImageMinimumSourceSize {
68 id: mascotImage;
68 id: mascotImage;
69 objectName: "mascotImage";
69 objectName: "mascotImage";
70 anchors { verticalCenter: parent.verticalCenter; }
70 anchors { verticalCenter: parent.verticalCenter; }
71− property bool doLoadSource: !NetworkingStatus.limitedBandwith;
72− source: { if (root.visible) doLoadSource = true; return doLoadSource && cardData && cardData["mascot"] || ""; }
71+ source: cardData && cardData["mascot"] || "";
73 width: units.gu(6);
72 width: units.gu(6);
74 height: units.gu(5.625);
73 height: units.gu(5.625);
75 horizontalAlignment: Image.AlignHCenter;
74 horizontalAlignment: Image.AlignHCenter;
76 verticalAlignment: Image.AlignVCenter;
75 verticalAlignment: Image.AlignVCenter;
77− visible: showHeader && resized;
76+ visible: showHeader;
78 }
77 }
79
78
80,Item {
79,Item {
tests/plugins/Dash/tst_CroppedImageMinimumSourceSize.qmlnew file+56
@@ -0,0 +1,56 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.3
18+import QtTest 1.0
19+import Ubuntu.Components 1.1
20+import Dash 0.1
21+
22+Rectangle {
23+ width: 500
24+ height: 300
25+
26+ color: "red"
27+
28+ CroppedImageMinimumSourceSize {
29+ id: cimss
30+ x: 100
31+ y: 100
32+ width: 100
33+ height: 100
34+ source: Qt.resolvedUrl("../../qmltests/Dash/artwork/music-player-design.png")
35+ asynchronous: true
36+ }
37+
38+ TestCase {
39+ id: testCase
40+ name: "ScopeStyle"
41+ when: windowShown
42+
43+ function test_croppedSource() {
44+ tryCompare(cimss.image.sourceSize, "width", 100);
45+ tryCompare(cimss.image.sourceSize, "height", 0);
46+
47+ cimss.width = 40;
48+ tryCompare(cimss.image.sourceSize, "width", 0);
49+ tryCompare(cimss.image.sourceSize, "height", 100);
50+
51+ cimss.width = 100;
52+ tryCompare(cimss.image.sourceSize, "width", 100);
53+ tryCompare(cimss.image.sourceSize, "height", 0);
54+ }
55+ }
56+}
tests/plugins/Dash/tst_ScopeStyle.qml+1−1
@@ -174,7 +174,7 @@ Rectangle {
174
174
175 function test_previewButtonColor_data() {
175 function test_previewButtonColor_data() {
176 return [
176 return [
177− { tag: "default", index: 0, previewButtonColor: Theme.palette.selected.foreground },
177+ { tag: "default", index: 0, previewButtonColor: UbuntuColors.orange },
178 { tag: "red", index: 1, previewButtonColor: "red" },
178 { tag: "red", index: 1, previewButtonColor: "red" },
179 ];
179 ];
180 }
180 }
tests/plugins/Wizard/CMakeLists.txtnew file+18
@@ -0,0 +1,18 @@
1+include_directories(
2+ ${CMAKE_CURRENT_BINARY_DIR}
3+ ${CMAKE_SOURCE_DIR}/plugins/Wizard
4+)
5+
6+add_executable(tst-wizard-pagelist
7+ tst_pagelist.cpp
8+ ${CMAKE_SOURCE_DIR}/plugins/Wizard/PageList.cpp
9+)
10+qt5_use_modules(tst-wizard-pagelist Core Qml Test)
11+add_test(NAME wizardpagelisttest COMMAND env UNITY_TEST_ENV=1 ${CMAKE_CURRENT_BINARY_DIR}/tst-wizard-pagelist)
12+
13+add_executable(tst-wizard-system
14+ tst_system.cpp
15+ ${CMAKE_SOURCE_DIR}/plugins/Wizard/System.cpp
16+)
17+qt5_use_modules(tst-wizard-system Core DBus Qml Test)
18+add_test(NAME wizardsystemtest COMMAND ${CMAKE_CURRENT_BINARY_DIR}/tst-wizard-system)
tests/plugins/Wizard/tst_pagelist.cppnew file+154
@@ -0,0 +1,154 @@
1+/*
2+ * Copyright (C) 2014 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "PageList.h"
18+
19+#include <QDebug>
20+#include <QObject>
21+#include <QTemporaryDir>
22+#include <QTest>
23+
24+#define PAGES_PATH "Wizard/Pages"
25+
26+class PageListTest: public QObject
27+{
28+ Q_OBJECT
29+
30+public:
31+ PageListTest() {};
32+
33+private Q_SLOTS:
34+ void testCollect();
35+ void testIterate();
36+ void testIgnoreNonNumbered();
37+ void testIgnoreNonQml();
38+ void testIgnoreDuplicates();
39+ void testDisabled();
40+
41+private:
42+ void fillRoot(const QTemporaryDir &root);
43+ void makeFile(const QTemporaryDir &root, const QString &dir, const QString &filename);
44+};
45+
46+void PageListTest::fillRoot(const QTemporaryDir &root)
47+{
48+ QVERIFY(root.isValid());
49+ QDir rootDir = root.path();
50+ QVERIFY(rootDir.mkpath(QString("a/") + PAGES_PATH));
51+ QVERIFY(rootDir.mkpath(QString("b/") + PAGES_PATH));
52+ QVERIFY(rootDir.mkpath(QString("c/") + PAGES_PATH));
53+ qputenv("XDG_DATA_DIRS", QString(rootDir.path() + "/a:" +
54+ rootDir.path() + "/b:" +
55+ rootDir.path() + "/c").toLatin1());
56+}
57+
58+void PageListTest::makeFile(const QTemporaryDir &root, const QString &dir, const QString &filename)
59+{
60+ QFile file(root.path() + "/" + dir + "/" + PAGES_PATH + "/" + filename);
61+ QVERIFY(file.open(QIODevice::WriteOnly));
62+ file.close();
63+ QVERIFY(file.exists());
64+}
65+
66+void PageListTest::testCollect()
67+{
68+ QTemporaryDir root;
69+ fillRoot(root);
70+ makeFile(root, "a", "3.qml");
71+ makeFile(root, "b", "1.qml");
72+ makeFile(root, "c", "2.qml");
73+
74+ PageList pageList;
75+ QCOMPARE(pageList.entries(), QStringList() << "1.qml" << "2.qml" << "3.qml");
76+ QCOMPARE(pageList.paths(), QStringList() << root.path() + "/b/" + PAGES_PATH + "/1.qml"
77+ << root.path() + "/c/" + PAGES_PATH + "/2.qml"
78+ << root.path() + "/a/" + PAGES_PATH + "/3.qml");
79+}
80+
81+void PageListTest::testIterate()
82+{
83+ QTemporaryDir root;
84+ fillRoot(root);
85+ makeFile(root, "a", "1.qml");
86+ makeFile(root, "a", "2.qml");
87+ makeFile(root, "a", "3.qml");
88+
89+ PageList pageList;
90+ QCOMPARE(pageList.index(), -1);
91+ QCOMPARE(pageList.next(), root.path() + "/a/" + PAGES_PATH + "/1.qml");
92+ QCOMPARE(pageList.prev(), QString());
93+ QCOMPARE(pageList.next(), root.path() + "/a/" + PAGES_PATH + "/2.qml");
94+ QCOMPARE(pageList.prev(), root.path() + "/a/" + PAGES_PATH + "/1.qml");
95+ QCOMPARE(pageList.index(), 0);
96+ QCOMPARE(pageList.next(), root.path() + "/a/" + PAGES_PATH + "/2.qml");
97+ QCOMPARE(pageList.next(), root.path() + "/a/" + PAGES_PATH + "/3.qml");
98+ QCOMPARE(pageList.index(), 2);
99+ QCOMPARE(pageList.next(), QString());
100+ QCOMPARE(pageList.index(), 2);
101+}
102+
103+void PageListTest::testIgnoreNonNumbered()
104+{
105+ QTemporaryDir root;
106+ fillRoot(root);
107+ makeFile(root, "a", "1.qml");
108+ makeFile(root, "a", "nope.qml");
109+
110+ PageList pageList;
111+ QCOMPARE(pageList.entries(), QStringList() << "1.qml");
112+}
113+
114+void PageListTest::testIgnoreNonQml()
115+{
116+ QTemporaryDir root;
117+ fillRoot(root);
118+ makeFile(root, "a", "1.qml");
119+ makeFile(root, "a", "2");
120+ makeFile(root, "a", "2.txt");
121+
122+ PageList pageList;
123+ QCOMPARE(pageList.entries(), QStringList() << "1.qml");
124+}
125+
126+void PageListTest::testIgnoreDuplicates()
127+{
128+ QTemporaryDir root;
129+ fillRoot(root);
130+ makeFile(root, "a", "1.qml");
131+ makeFile(root, "b", "1.qml");
132+
133+ PageList pageList;
134+ QCOMPARE(pageList.paths(), QStringList() << root.path() + "/a/" + PAGES_PATH + "/1.qml");
135+}
136+
137+void PageListTest::testDisabled()
138+{
139+ QTemporaryDir root;
140+ fillRoot(root);
141+ makeFile(root, "a", "1.qml.disabled"); // before the fact
142+ makeFile(root, "b", "1.qml");
143+ makeFile(root, "b", "2.qml");
144+ makeFile(root, "b", "2.qml.disabled"); // same dir
145+ makeFile(root, "b", "3.qml");
146+ makeFile(root, "b", "4.qml"); // only survivor
147+ makeFile(root, "c", "3.qml.disabled"); // after the fact
148+
149+ PageList pageList;
150+ QCOMPARE(pageList.entries(), QStringList() << "4.qml");
151+}
152+
153+QTEST_MAIN(PageListTest)
154+#include "tst_pagelist.moc"
tests/plugins/Wizard/tst_system.cppnew file+124
@@ -0,0 +1,124 @@
1+/*
2+ * Copyright (C) 2014 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "System.h"
18+
19+#include <QDebug>
20+#include <QObject>
21+#include <QSignalSpy>
22+#include <QTemporaryDir>
23+#include <QTest>
24+
25+class SystemTest: public QObject
26+{
27+ Q_OBJECT
28+
29+public:
30+ SystemTest();
31+
32+private Q_SLOTS:
33+ void testEnable();
34+ void testDisable();
35+ void testNoticeChanges();
36+
37+private:
38+ void enable();
39+ void disable();
40+ bool isEnabled();
41+
42+ QTemporaryDir dir;
43+ QDir enableDir;
44+ QFile enableFile;
45+};
46+
47+SystemTest::SystemTest()
48+{
49+ qputenv("HOME", dir.path().toUtf8());
50+ enableDir.setPath(dir.path() + "/.config/ubuntu-system-settings");
51+ enableFile.setFileName(enableDir.filePath("wizard-has-run"));
52+}
53+
54+void SystemTest::enable()
55+{
56+ enableFile.remove();
57+ QCOMPARE(isEnabled(), true);
58+}
59+
60+void SystemTest::disable()
61+{
62+ enableDir.mkpath(".");
63+ enableFile.open(QIODevice::WriteOnly);
64+ enableFile.close();
65+ QCOMPARE(isEnabled(), false);
66+}
67+
68+bool SystemTest::isEnabled()
69+{
70+ return !enableFile.exists();
71+}
72+
73+void SystemTest::testEnable()
74+{
75+ disable();
76+
77+ System system;
78+ QVERIFY(!system.wizardEnabled());
79+
80+ system.setWizardEnabled(true);
81+ QVERIFY(system.wizardEnabled());
82+ QVERIFY(isEnabled());
83+}
84+
85+void SystemTest::testDisable()
86+{
87+ enable();
88+
89+ System system;
90+ QVERIFY(system.wizardEnabled());
91+
92+ system.setWizardEnabled(false);
93+ QVERIFY(!system.wizardEnabled());
94+ QVERIFY(!isEnabled());
95+}
96+
97+void SystemTest::testNoticeChanges()
98+{
99+ enable();
100+
101+ System system;
102+ QSignalSpy spy(&system, SIGNAL(wizardEnabledChanged()));
103+
104+ // System only guarantees its signals work correcty when using its own set
105+ // methods (i.e. it won't necessarily notice if we modify the file behind
106+ // the scenes). This is because watching all parent directories of the
107+ // wizard-has-run file with QFileSystemWatcher is a nightmare and waste of
108+ // resources for the corner case it is. So we'll just test the set method.
109+
110+ system.setWizardEnabled(false);
111+ QTRY_COMPARE(spy.count(), 1);
112+
113+ system.setWizardEnabled(true);
114+ QTRY_COMPARE(spy.count(), 2);
115+
116+ system.setWizardEnabled(false);
117+ QTRY_COMPARE(spy.count(), 3);
118+
119+ system.setWizardEnabled(true);
120+ QTRY_COMPARE(spy.count(), 4);
121+}
122+
123+QTEST_MAIN(SystemTest)
124+#include "tst_system.moc"
tests/qmltests/CMakeLists.txt+1
@@ -87,3 +87,4 @@ add_qml_test(Stages SpreadDelegate ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_D
87add_qml_test(Stages SurfaceContainer ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/single")
87add_qml_test(Stages SurfaceContainer ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/single")
88add_qml_test(Stages SessionContainer ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/single")
88add_qml_test(Stages SessionContainer ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/single")
89add_qml_test(Stages Splash)
89add_qml_test(Stages Splash)
90+add_qml_test(Wizard Wizard)
tests/qmltests/Dash/tst_Card.qml−22
@@ -17,7 +17,6 @@
17import QtQuick 2.0
17import QtQuick 2.0
18import QtTest 1.0
18import QtTest 1.0
19import Ubuntu.Components 0.1
19import Ubuntu.Components 0.1
20−import Ubuntu.Connectivity 1.0
21import Unity.Test 0.1 as UT
20import Unity.Test 0.1 as UT
22import "../../../qml/Dash"
21import "../../../qml/Dash"
23import "CardHelpers.js" as Helpers
22import "CardHelpers.js" as Helpers
@@ -221,7 +220,6 @@ Rectangle {
221
220
222 function init() {
221 function init() {
223 loader.visible = true;
222 loader.visible = true;
224− NetworkingStatus.limitedBandwith = false;
225 }
223 }
226
224
227 function cleanup() {
225 function cleanup() {
@@ -585,25 +583,5 @@ Rectangle {
585 verify((card.width - titleToCard.x - titleToCard.width) === units.gu(1));
583 verify((card.width - titleToCard.x - titleToCard.width) === units.gu(1));
586 }
584 }
587 }
585 }
588−
589− function test_load_images_visibility_network_data() {
590− return [
591− { tag: "Visible, network", visible: true, limitedBandwith: false },
592− { tag: "Visible, no network", visible: true, limitedBandwith: true },
593− { tag: "Not Visible, network", visible: false, limitedBandwith: false },
594− { tag: "Not Visible, no network", visible: false, limitedBandwith: true }
595− ];
596− }
597−
598− function test_load_images_visibility_network(data) {
599− loader.visible = data.visible;
600− NetworkingStatus.limitedBandwith = data.limitedBandwith;
601−
602− selector.selectedIndex = 0;
603− waitForRendering(selector);
604− waitForRendering(card);
605−
606− verify(data.visible || !data.limitedBandwith || artImage.source == "");
607− }
608 }
586 }
609}
587}
tests/qmltests/Dash/tst_Dash.qml+83−137
@@ -79,173 +79,108 @@ Item {
79 return get_scope_data()
79 return get_scope_data()
80 }
80 }
81
81
82− function test_dash_overview_show_select_same_favorite() {
82+ function test_manage_dash_select_same_favorite() {
83− // Show the overview
83+ // Show the manage dash
84− touchFlick(dash, dash.width / 2, dash.height - 1, dash.width / 2, dash.height - units.gu(18));
84+ touchFlick(dash, dash.width / 2, dash.height - 1, dash.width / 2, units.gu(2));
85− var overviewController = findInvisibleChild(dash, "overviewController");
85+ var bottomEdgeController = findInvisibleChild(dash, "bottomEdgeController");
86− tryCompare(overviewController, "progress", 1);
86+ tryCompare(bottomEdgeController, "progress", 1);
87−
88− // Make sure tab is where it should
89− var scopesOverview = findChild(dash, "scopesOverview");
90− compare(scopesOverview.currentTab, 0);
91
87
92 // Make sure stuff is loaded
88 // Make sure stuff is loaded
93− var scopesOverviewFavoritesRepeater = findChild(dash, "scopesOverviewFavoritesRepeater");
89+ var favScopesListCategory = findChild(dash, "scopesListCategoryfavorites");
94− tryCompare(scopesOverviewFavoritesRepeater, "count", 6);
90+ var favScopesListCategoryList = findChild(favScopesListCategory, "scopesListCategoryInnerList");
95− tryCompareFunction(function() { return scopesOverviewFavoritesRepeater.itemAt(0).item != null; }, true);
91+ tryCompare(favScopesListCategoryList, "currentIndex", 0);
96− waitForRendering(scopesOverviewFavoritesRepeater.itemAt(0).item);
97
92
98 // Click in first item
93 // Click in first item
99− mouseClick(scopesOverviewFavoritesRepeater.itemAt(0).item, 0, 0);
94+ mouseClick(favScopesListCategoryList.currentItem, 0, 0);
100
95
101 // Make sure animation went back
96 // Make sure animation went back
102− tryCompare(overviewController, "progress", 0);
97+ tryCompare(bottomEdgeController, "progress", 0);
103
98
104 var dashContentList = findChild(dash, "dashContentList");
99 var dashContentList = findChild(dash, "dashContentList");
105 compare(dashContentList.currentIndex, 0);
100 compare(dashContentList.currentIndex, 0);
106 }
101 }
107
102
108− function test_dash_overview_show_select_different_favorite() {
103+ function test_manage_dash_select_different_favorite() {
109− // Show the overview
104+ // Show the manage dash
110− touchFlick(dash, dash.width / 2, dash.height - 1, dash.width / 2, dash.height - units.gu(18));
105+ touchFlick(dash, dash.width / 2, dash.height - 1, dash.width / 2, units.gu(2));
111− var overviewController = findInvisibleChild(dash, "overviewController");
106+ var bottomEdgeController = findInvisibleChild(dash, "bottomEdgeController");
112− tryCompare(overviewController, "progress", 1);
107+ tryCompare(bottomEdgeController, "progress", 1);
113−
114− // Make sure tab is where it should
115− var scopesOverview = findChild(dash, "scopesOverview");
116− compare(scopesOverview.currentTab, 0);
117
108
118 // Make sure stuff is loaded
109 // Make sure stuff is loaded
119− var scopesOverviewFavoritesRepeater = findChild(dash, "scopesOverviewFavoritesRepeater");
110+ var favScopesListCategory = findChild(dash, "scopesListCategoryfavorites");
120− tryCompare(scopesOverviewFavoritesRepeater, "count", 6);
111+ var favScopesListCategoryList = findChild(favScopesListCategory, "scopesListCategoryInnerList");
121− tryCompareFunction(function() { return scopesOverviewFavoritesRepeater.itemAt(0).item != null; }, true);
112+ tryCompare(favScopesListCategoryList, "currentIndex", 0);
122− waitForRendering(scopesOverviewFavoritesRepeater.itemAt(1).item);
123
113
124− // Click in first item
114+ // Click in second item
125− mouseClick(scopesOverviewFavoritesRepeater.itemAt(1).item, 0, 0);
115+ favScopesListCategoryList.currentIndex = 1;
116+ mouseClick(favScopesListCategoryList.currentItem, 0, 0);
126
117
127 // Make sure animation went back
118 // Make sure animation went back
128− tryCompare(overviewController, "progress", 0);
119+ tryCompare(bottomEdgeController, "progress", 0);
129 var dashContentList = findChild(dash, "dashContentList");
120 var dashContentList = findChild(dash, "dashContentList");
130 compare(dashContentList.currentIndex, 1);
121 compare(dashContentList.currentIndex, 1);
131 }
122 }
132
123
133− function test_dash_overview_all_temp_scope_done_from_all() {
124+ function test_manage_dash_select_non_favorite() {
134− // Show the overview
125+ // Show the manage dash
135− touchFlick(dash, dash.width / 2, dash.height - 1, dash.width / 2, dash.height - units.gu(18));
126+ touchFlick(dash, dash.width / 2, dash.height - 1, dash.width / 2, units.gu(2));
136− var overviewController = findInvisibleChild(dash, "overviewController");
127+ var bottomEdgeController = findInvisibleChild(dash, "bottomEdgeController");
137− tryCompare(overviewController, "progress", 1);
128+ tryCompare(bottomEdgeController, "progress", 1);
138−
139− // Make sure tab is where it should
140− var scopesOverview = findChild(dash, "scopesOverview");
141− compare(scopesOverview.currentTab, 0);
142
129
143 // Make sure stuff is loaded
130 // Make sure stuff is loaded
144− var scopesOverviewFavoritesRepeater = findChild(dash, "scopesOverviewFavoritesRepeater");
131+ var nonfavScopesListCategory = findChild(dash, "scopesListCategoryother");
145− tryCompare(scopesOverviewFavoritesRepeater, "count", 6);
132+ var nonfavScopesListCategoryList = findChild(nonfavScopesListCategory, "scopesListCategoryInnerList");
146− tryCompareFunction(function() { return scopesOverviewFavoritesRepeater.itemAt(0).item != null; }, true);
133+ tryCompare(nonfavScopesListCategoryList, "currentIndex", 0);
147− waitForRendering(scopesOverviewFavoritesRepeater.itemAt(1).item);
148−
149− // Click on the all tab
150− var scopesOverviewAllTabButton = findChild(dash, "scopesOverviewAllTabButton");
151− mouseClick(scopesOverviewAllTabButton, 0, 0);
152−
153− // Wait for all tab to be enabled (animation finish)
154− var scopesOverviewAllView = findChild(dash, "scopesOverviewRepeaterChild1");
155− tryCompare(scopesOverviewAllView, "enabled", true);
156−
157− // Click in the middle of the black bar (nothing happens)
158− var bottomBar = findChild(scopesOverview, "bottomBar");
159− mouseClick(bottomBar, bottomBar.width / 2, bottomBar.height / 2);
160− // Check temp scope is not there
161− var scopesOverviewTempScopeItem = findChild(dash, "scopesOverviewTempScopeItem");
162− expectFailContinue("", "Clicking in the middle of bottom bar should not open a temp scope");
163− tryCompareFunction( function() { return scopesOverviewTempScopeItem.scope != null; }, true);
164−
165− // Click on a temp scope
166− var tempScopeCard = findChild(scopesOverviewAllView, "delegate1");
167− mouseClick(tempScopeCard, 0, 0);
168
134
135+ // Click on a non favorite scope
136+ mouseClick(nonfavScopesListCategoryList.currentItem, 0, 0);
137+
169− // Check the bottom edge (overview) is disabled from temp scope
138+ // Check the bottom edge (manage dash) is disabled from temp scope
170 var overviewDragHandle = findChild(dash, "overviewDragHandle");
139 var overviewDragHandle = findChild(dash, "overviewDragHandle");
171 compare(overviewDragHandle.enabled, false);
140 compare(overviewDragHandle.enabled, false);
172
141
173 // Check temp scope is there
142 // Check temp scope is there
174− tryCompareFunction( function() { return scopesOverviewTempScopeItem.scope != null; }, true);
143+ var dashTempScopeItem = findChild(dash, "dashTempScopeItem");
175− tryCompare(scopesOverviewTempScopeItem, "enabled", true);
144+ tryCompare(dashTempScopeItem, "x", 0);
145+ tryCompare(dashTempScopeItem, "visible", true);
146+
147+ // Check the manage dash is gone
148+ tryCompare(bottomEdgeController, "progress", 0);
176
149
177 // Go back
150 // Go back
178− var scopesOverviewTempScopeItemHeader = findChild(scopesOverviewTempScopeItem, "scopePageHeader");
151+ var dashTempScopeItemHeader = findChild(dashTempScopeItem, "scopePageHeader");
179− var backButton = findChild(findChild(scopesOverviewTempScopeItemHeader, "innerPageHeader"), "backButton");
152+ var backButton = findChild(findChild(dashTempScopeItemHeader, "innerPageHeader"), "backButton");
180 mouseClick(backButton, 0, 0);
153 mouseClick(backButton, 0, 0);
181
154
182 // Check temp scope is gone
155 // Check temp scope is gone
183− var scopesOverviewTempScopeItem = findChild(dash, "scopesOverviewTempScopeItem");
156+ tryCompare(dashTempScopeItem, "x", dash.width);
184− tryCompareFunction( function() { return scopesOverviewTempScopeItem.scope == null; }, true);
157+ tryCompare(dashTempScopeItem, "visible", false);
185− tryCompare(scopesOverviewTempScopeItem, "enabled", false);
186−
187− // Press on done
188− var scopesOverviewDoneButton = findChild(scopesOverview, "scopesOverviewDoneButton");
189− mouseClick(scopesOverviewDoneButton, 0, 0);
190−
191− // Check the dash overview is gone
192− tryCompare(overviewController, "progress", 0);
193
158
194 // Original list is still on 0
159 // Original list is still on 0
195 var dashContentList = findChild(dash, "dashContentList");
160 var dashContentList = findChild(dash, "dashContentList");
196 compare(dashContentList.currentIndex, 0);
161 compare(dashContentList.currentIndex, 0);
197 }
162 }
198
163
199− function test_temp_scope_dash_overview_all_search_temp_scope_favorite_from_all() {
164+ function test_manage_dash_search_temp_scope() {
200− // Swipe right to Apps scope
201− var dashContentList = findChild(dash, "dashContentList");
202− touchFlick(dash, dash.width - 1, units.gu(1), dash.width - units.gu(10), units.gu(1));
203− tryCompare(dashContentList, "contentX", dashContentList.width);
204− tryCompare(dashContentList, "currentIndex", 1);
205−
206− // Click on card that opens temp scope
207− var categoryListView = findChild(dashContentList.currentItem, "categoryListView");
208− var dashCategory2 = findChild(categoryListView, "dashCategory2");
209− tryCompareFunction(function() {
210− if (dashCategory2.y < 200) return true;
211− categoryListView.contentY += 100;
212− return false;
213− }, true);
214− var card2 = findChild(dashCategory2, "delegate2");
215− waitForRendering(card2);
216− mouseClick(card2, card2.width / 2, card2.height / 2);
217−
218− // Wait for temp scope to be there
219− var dashTempScopeItem = findChild(dash, "dashTempScopeItem");
220− tryCompare(dashTempScopeItem, "x", 0);
221−
222− // Show the overview
165+ // Show the manage dash
223− touchFlick(dash, dash.width / 2, dash.height - 1, dash.width / 2, dash.height - units.gu(18));
166+ touchFlick(dash, dash.width / 2, dash.height - 1, dash.width / 2, units.gu(2));
224− var overviewController = findInvisibleChild(dash, "overviewController");
167+ var bottomEdgeController = findInvisibleChild(dash, "bottomEdgeController");
225− tryCompare(overviewController, "progress", 1);
168+ tryCompare(bottomEdgeController, "progress", 1);
226−
227− // Make sure tab is where it should
228− var scopesOverview = findChild(dash, "scopesOverview");
229− compare(scopesOverview.currentTab, 1);
230
169
231 // Do a search
170 // Do a search
232− var scopesOverviewPageHeader = findChild(scopesOverview, "scopesOverviewPageHeader");
171+ var scopesList = findChild(dash, "scopesList");
172+ var scopesListPageHeader = findChild(scopesList, "pageHeader");
233− var searchButton = findChild(scopesOverviewPageHeader, "search_header_button");
173+ var searchButton = findChild(scopesListPageHeader, "search_header_button");
234 mouseClick(searchButton, 0, 0);
174 mouseClick(searchButton, 0, 0);
235
175
236 // Type something
176 // Type something
237 keyClick(Qt.Key_H);
177 keyClick(Qt.Key_H);
238
178
239− // Check results grid is there and the other lists are not
240− var searchResultsViewer = findChild(scopesOverview, "searchResultsViewer");
241− var scopesOverviewRepeater = findChild(dash, "scopesOverviewRepeater");
242− tryCompare(searchResultsViewer, "opacity", 1);
243− tryCompare(scopesOverviewRepeater, "count", 0);
244−
245 // Click on a temp scope in the search
179 // Click on a temp scope in the search
180+ tryCompareFunction( function() { return findChild(scopesList, "scopesListCategorysearchA") != null; }, true);
246− var dashCategorysearchA = findChild(searchResultsViewer, "dashCategorysearchA");
181+ var dashCategorysearchA = findChild(scopesList, "scopesListCategorysearchA");
182+ tryCompareFunction( function() { return findChild(dashCategorysearchA, "delegate2") != null; }, true);
247 var cardTempScope = findChild(dashCategorysearchA, "delegate2");
183 var cardTempScope = findChild(dashCategorysearchA, "delegate2");
248− verify(cardTempScope, "Could not find delegate2");
249
184
250 waitForRendering(cardTempScope);
185 waitForRendering(cardTempScope);
251 mouseClick(cardTempScope, cardTempScope.width / 2, cardTempScope.height / 2);
186 mouseClick(cardTempScope, cardTempScope.width / 2, cardTempScope.height / 2);
@@ -255,29 +190,24 @@ Item {
255 compare(overviewDragHandle.enabled, false);
190 compare(overviewDragHandle.enabled, false);
256
191
257 // Check temp scope is there
192 // Check temp scope is there
258− var scopesOverviewTempScopeItem = findChild(dash, "scopesOverviewTempScopeItem");
193+ var dashTempScopeItem = findChild(dash, "dashTempScopeItem");
259− tryCompareFunction( function() { return scopesOverviewTempScopeItem.scope != null; }, true);
194+ tryCompare(dashTempScopeItem, "x", 0);
260− tryCompare(scopesOverviewTempScopeItem, "enabled", true);
195+ tryCompare(dashTempScopeItem, "visible", true);
196+
197+ // Check the manage dash is gone
198+ tryCompare(bottomEdgeController, "progress", 0);
261
199
262 // Go back
200 // Go back
263− var scopesOverviewTempScopeItemHeader = findChild(scopesOverviewTempScopeItem, "scopePageHeader");
201+ var dashTempScopeItemHeader = findChild(dashTempScopeItem, "scopePageHeader");
264− var backButton = findChild(findChild(scopesOverviewTempScopeItemHeader, "innerPageHeader"), "backButton");
202+ var backButton = findChild(findChild(dashTempScopeItemHeader, "innerPageHeader"), "backButton");
265 mouseClick(backButton, 0, 0);
203 mouseClick(backButton, 0, 0);
266
204
267 // Check temp scope is gone
205 // Check temp scope is gone
268− var scopesOverviewTempScopeItem = findChild(dash, "scopesOverviewTempScopeItem");
206+ tryCompare(dashTempScopeItem, "x", dash.width);
269− tryCompareFunction( function() { return scopesOverviewTempScopeItem.scope == null; }, true);
207+ tryCompare(dashTempScopeItem, "visible", false);
270− tryCompare(scopesOverviewTempScopeItem, "enabled", false);
271
208
272− // Press on a favorite
209+ // Original list is still on 0
273− var dashCategorysearchB = findChild(searchResultsViewer, "dashCategorysearchB");
210+ var dashContentList = findChild(dash, "dashContentList");
274− var cardFavSearch = findChild(dashCategorysearchB, "delegate3");
275− mouseClick(cardFavSearch, 0, 0);
276−
277− // Check the dash overview is gone
278− tryCompare(overviewController, "progress", 0);
279−
280− // Original list went to the favorite
281 compare(dashContentList.currentIndex, 0);
211 compare(dashContentList.currentIndex, 0);
282 }
212 }
283
213
@@ -298,6 +228,22 @@ Item {
298 tryCompare(dashContentList, "currentIndex", 1)
228 tryCompare(dashContentList, "currentIndex", 1)
299 }
229 }
300
230
231+ function test_setCurrentScopeClosesPreview() {
232+ var dashContent = findChild(dash, "dashContent");
233+ waitForRendering(dash)
234+
235+ var delegate0 = findChild(dash, "delegate0");
236+ mouseClick(delegate0, delegate0.width / 2, delegate0.height / 2);
237+
238+ tryCompare(dashContent, "subPageShown", true)
239+ waitForRendering(dash);
240+
241+ var dashCommunicatorService = findInvisibleChild(dash, "dashCommunicatorService");
242+ dashCommunicatorService.mockSetCurrentScope(0, true, false);
243+
244+ tryCompare(dashContent, "subPageShown", false)
245+ }
246+
301 function test_processing_indicator() {
247 function test_processing_indicator() {
302 var processingIndicator = findChild(dash, "processingIndicator");
248 var processingIndicator = findChild(dash, "processingIndicator");
303 verify(processingIndicator, "Can't find the processing indicator.");
249 verify(processingIndicator, "Can't find the processing indicator.");
tests/qmltests/Dash/tst_GenericScopeView.qml+1−1
@@ -293,6 +293,7 @@ Item {
293 },
293 },
294 true);
294 true);
295 var tile = findChild(findChild(genericScopeView, "dashCategory"+category), "delegate"+delegate);
295 var tile = findChild(findChild(genericScopeView, "dashCategory"+category), "delegate"+delegate);
296+ waitForRendering(tile);
296 mouseClick(tile, tile.width / 2, tile.height / 2);
297 mouseClick(tile, tile.width / 2, tile.height / 2);
297 tryCompare(testCase.subPageLoader, "open", true);
298 tryCompare(testCase.subPageLoader, "open", true);
298 tryCompare(testCase.subPageLoader, "x", 0);
299 tryCompare(testCase.subPageLoader, "x", 0);
@@ -573,7 +574,6 @@ Item {
573 var innerHeader = findChild(header, "innerPageHeader");
574 var innerHeader = findChild(header, "innerPageHeader");
574 verify(innerHeader, "Could not find the inner header");
575 verify(innerHeader, "Could not find the inner header");
575
576
576− expectFail("Apps", "Click scope should not have a favorite button");
577 var favoriteAction = findChild(innerHeader, "favorite_header_button");
577 var favoriteAction = findChild(innerHeader, "favorite_header_button");
578 verify(favoriteAction, "Could not find the favorite action.");
578 verify(favoriteAction, "Could not find the favorite action.");
579 mouseClick(favoriteAction, favoriteAction.width / 2, favoriteAction.height / 2);
579 mouseClick(favoriteAction, favoriteAction.width / 2, favoriteAction.height / 2);
tests/qmltests/Panel/tst_IndicatorsMenu.qml+3−3
@@ -174,7 +174,7 @@ IndicatorTest {
174 // and expose the header
174 // and expose the header
175 function test_hint() {
175 function test_hint() {
176 var indicatorItem = get_indicator_item(0);
176 var indicatorItem = get_indicator_item(0);
177− var mappedPosition = root.mapFromItem(indicatorItem, indicatorItem.width/2, indicatorItem.height/2);
177+ var mappedPosition = indicatorsMenu.mapFromItem(indicatorItem, indicatorItem.width/2, indicatorItem.height/2);
178
178
179 touchPress(indicatorsMenu, mappedPosition.x, indicatorsMenu.minimizedPanelHeight / 2);
179 touchPress(indicatorsMenu, mappedPosition.x, indicatorsMenu.minimizedPanelHeight / 2);
180
180
@@ -195,7 +195,7 @@ IndicatorTest {
195 for (var i = 0; i < root.originalModelData.length; i++) {
195 for (var i = 0; i < root.originalModelData.length; i++) {
196 var indicatorItem = get_indicator_item(i);
196 var indicatorItem = get_indicator_item(i);
197
197
198− var mappedPosition = root.mapFromItem(indicatorItem, indicatorItem.width/2, indicatorItem.height/2);
198+ var mappedPosition = indicatorsMenu.mapFromItem(indicatorItem, indicatorItem.width/2, indicatorItem.height/2);
199
199
200 touchFlick(indicatorsMenu,
200 touchFlick(indicatorsMenu,
201 mappedPosition.x, mappedPosition.y,
201 mappedPosition.x, mappedPosition.y,
@@ -227,7 +227,7 @@ IndicatorTest {
227
227
228 // Get the first indicator
228 // Get the first indicator
229 var firstItem = get_indicator_item(0);
229 var firstItem = get_indicator_item(0);
230− var firstItemMappedPosition = root.mapFromItem(firstItem, firstItem.width/2, firstItem.height/2);
230+ var firstItemMappedPosition = indicatorsMenu.mapFromItem(firstItem, firstItem.width/2, firstItem.height/2);
231
231
232 // 1) Drag the mouse down to hint a bit
232 // 1) Drag the mouse down to hint a bit
233 touchFlick(indicatorsMenu,
233 touchFlick(indicatorsMenu,
tests/qmltests/Panel/tst_Panel.qml+5−10
@@ -186,11 +186,10 @@ IndicatorTest {
186 for (var i = 0; i < root.originalModelData.length; i++) {
186 for (var i = 0; i < root.originalModelData.length; i++) {
187 var indicatorItem = get_indicator_item(i);
187 var indicatorItem = get_indicator_item(i);
188
188
189− var startXPosition = root.mapFromItem(indicatorItem, indicatorItem.width / 2, 0).x;
189+ var startXPosition = panel.mapFromItem(indicatorItem, indicatorItem.width / 2, 0).x;
190− var startYPosition = root.mapFromItem(panel, 0, 0).y;
191
190
192 touchFlick(panel,
191 touchFlick(panel,
193− startXPosition, startYPosition,
192+ startXPosition, 0,
194 startXPosition, panel.height,
193 startXPosition, panel.height,
195 true /* beginTouch */, false /* endTouch */, units.gu(5), 15);
194 true /* beginTouch */, false /* endTouch */, units.gu(5), 15);
196
195
@@ -244,17 +243,13 @@ IndicatorTest {
244 // (switches between normal and fullscreen modes are animated)
243 // (switches between normal and fullscreen modes are animated)
245 tryCompareFunction(function() { return indicatorArea.y }, data.indicatorY);
244 tryCompareFunction(function() { return indicatorArea.y }, data.indicatorY);
246
245
247− var startXPosition = root.mapFromItem(panel.indicators, panel.indicators.width / 2, 0).x;
248− var startYPosition = root.mapFromItem(panel, 0, panel.height).y;
249−
250 panel.indicators.show();
246 panel.indicators.show();
251 tryCompare(panel.indicators.showAnimation, "running", false);
247 tryCompare(panel.indicators.showAnimation, "running", false);
252 tryCompare(panel.indicators, "unitProgress", 1);
248 tryCompare(panel.indicators, "unitProgress", 1);
253
249
254−
255 touchFlick(panel.indicators,
250 touchFlick(panel.indicators,
256− startXPosition, startYPosition,
251+ panel.indicators.width / 2, panel.height,
257− startXPosition, 0,
252+ panel.indicators.width / 2, 0,
258 true /* beginTouch */, false /* endTouch */, units.gu(5), 15);
253 true /* beginTouch */, false /* endTouch */, units.gu(5), 15);
259
254
260 // Indicators height should follow the drag, and therefore increase accordingly.
255 // Indicators height should follow the drag, and therefore increase accordingly.
@@ -263,7 +258,7 @@ IndicatorTest {
263 function() {return panel.indicators.height <= panel.height * 0.5},
258 function() {return panel.indicators.height <= panel.height * 0.5},
264 true);
259 true);
265
260
266− touchRelease(panel.indicators, startXPosition, 0);
261+ touchRelease(panel.indicators, panel.indicators.width / 2, 0);
267
262
268 tryCompare(panel.indicators.hideAnimation, "running", true);
263 tryCompare(panel.indicators.hideAnimation, "running", true);
269 tryCompare(panel.indicators.hideAnimation, "running", false);
264 tryCompare(panel.indicators.hideAnimation, "running", false);
tests/qmltests/Stages/tst_PhoneStage.qml+8−3
@@ -128,17 +128,20 @@ Item {
128 var startX = phoneStage.width - 2;
128 var startX = phoneStage.width - 2;
129 var startY = phoneStage.height / 2;
129 var startY = phoneStage.height / 2;
130 var endY = startY;
130 var endY = startY;
131− var endX = units.gu(2);
131+ var endX = phoneStage.width / 2;
132
132
133 touchFlick(phoneStage, startX, startY, endX, endY,
133 touchFlick(phoneStage, startX, startY, endX, endY,
134 true /* beginTouch */, true /* endTouch */, units.gu(10), 50);
134 true /* beginTouch */, true /* endTouch */, units.gu(10), 50);
135+
136+ tryCompare(spreadView, "phase", 2);
137+ waitForRendering(phoneStage);
135 }
138 }
136
139
137 function test_shortFlick() {
140 function test_shortFlick() {
138 addApps(2)
141 addApps(2)
139 var startX = phoneStage.width - units.gu(1);
142 var startX = phoneStage.width - units.gu(1);
140 var startY = phoneStage.height / 2;
143 var startY = phoneStage.height / 2;
141− var endX = phoneStage.width / 2;
144+ var endX = startX - units.gu(4);
142 var endY = startY;
145 var endY = startY;
143
146
144 var activeApp = ApplicationManager.get(0);
147 var activeApp = ApplicationManager.get(0);
@@ -164,7 +167,7 @@ Item {
164 {tag: "<position2 (non-linear)", positionMarker: "positionMarker2", linear: false, offset: -1, endPhase: 0, targetPhase: 0, newFocusedIndex: 1 },
167 {tag: "<position2 (non-linear)", positionMarker: "positionMarker2", linear: false, offset: -1, endPhase: 0, targetPhase: 0, newFocusedIndex: 1 },
165 {tag: ">position2", positionMarker: "positionMarker2", linear: true, offset: +1, endPhase: 1, targetPhase: 0, newFocusedIndex: 1 },
168 {tag: ">position2", positionMarker: "positionMarker2", linear: true, offset: +1, endPhase: 1, targetPhase: 0, newFocusedIndex: 1 },
166 {tag: "<position3", positionMarker: "positionMarker3", linear: true, offset: -1, endPhase: 1, targetPhase: 0, newFocusedIndex: 1 },
169 {tag: "<position3", positionMarker: "positionMarker3", linear: true, offset: -1, endPhase: 1, targetPhase: 0, newFocusedIndex: 1 },
167− {tag: ">position3", positionMarker: "positionMarker3", linear: true, offset: +1, endPhase: 2, targetPhase: 2, newFocusedIndex: 2 },
170+ {tag: ">position3", positionMarker: "positionMarker3", linear: true, offset: +1, endPhase: 1, targetPhase: 2, newFocusedIndex: 2 },
168 ];
171 ];
169 }
172 }
170
173
@@ -386,6 +389,8 @@ Item {
386 compare(dragArea0.enabled, false);
389 compare(dragArea0.enabled, false);
387 compare(dragArea1.enabled, false);
390 compare(dragArea1.enabled, false);
388 compare(dragArea2.enabled, false);
391 compare(dragArea2.enabled, false);
392+
393+ tryCompare(spreadView, "contentX", -spreadView.shift)
389 }
394 }
390 }
395 }
391}
396}
tests/qmltests/Stages/tst_SpreadDelegate.qml+10−7
@@ -110,7 +110,7 @@ Rectangle {
110 {tag: "swipeToClose=true closeable=true -> appWindow moves away",
110 {tag: "swipeToClose=true closeable=true -> appWindow moves away",
111 swipeToClose: true, closeable: true },
111 swipeToClose: true, closeable: true },
112
112
113− {tag: "swipeToClose=true closeable=alse -> appWindow bounces back",
113+ {tag: "swipeToClose=true closeable=false -> appWindow bounces back",
114 swipeToClose: true, closeable: false },
114 swipeToClose: true, closeable: false },
115
115
116 {tag: "swipeToClose=false -> appWindow stays put",
116 {tag: "swipeToClose=false -> appWindow stays put",
@@ -126,21 +126,24 @@ Rectangle {
126 swipeToCloseCheckbox.checked = data.swipeToClose;
126 swipeToCloseCheckbox.checked = data.swipeToClose;
127 closeableCheckbox.checked = data.closeable;
127 closeableCheckbox.checked = data.closeable;
128
128
129− var dragDistance = spreadDelegateLoader.item.height / 2;
129+ var dragDistance = spreadDelegateLoader.item.height * 0.8;
130 var touchX = spreadDelegateLoader.item.width / 2;
130 var touchX = spreadDelegateLoader.item.width / 2;
131− var fromY = spreadDelegateLoader.item.height / 2;
131+ var fromY = spreadDelegateLoader.item.height * 0.9;
132 var toY = fromY - dragDistance;
132 var toY = fromY - dragDistance;
133 touchFlick(spreadDelegateLoader.item,
133 touchFlick(spreadDelegateLoader.item,
134 touchX /* fromX */, fromY, touchX /* toX */, toY,
134 touchX /* fromX */, fromY, touchX /* toX */, toY,
135 true /* beginTouch */, false /* endTouch */, dragArea.minSpeedToClose * 1.1 /* speed */);
135 true /* beginTouch */, false /* endTouch */, dragArea.minSpeedToClose * 1.1 /* speed */);
136
136
137−
138 if (data.swipeToClose) {
137 if (data.swipeToClose) {
139 verify(appWindowWithShadow.y < 0);
138 verify(appWindowWithShadow.y < 0);
140 var threshold = findChild(spreadDelegateLoader.item, "dragArea").threshold
139 var threshold = findChild(spreadDelegateLoader.item, "dragArea").threshold
140+ if (data.closeable) {
141− // Verify that the delegate started moving exactly "threshold" after the finger movement
141+ // Verify that the delegate started moving exactly "threshold" after the finger movement
142− // and did not jump up to the finger, but lags the threshold behind
142+ // and did not jump up to the finger, but lags the threshold behind
143− compare(Math.abs(Math.abs(appWindowWithShadow.y) - dragDistance), threshold);
143+ compare(Math.abs(Math.abs(appWindowWithShadow.y) - dragDistance), threshold);
144+ } else {
145+ verify(Math.abs(Math.abs(appWindowWithShadow.y) - dragDistance) > threshold);
146+ }
144
147
145 touchRelease(spreadDelegateLoader.item, touchX, toY - units.gu(1));
148 touchRelease(spreadDelegateLoader.item, touchX, toY - units.gu(1));
146
149
tests/qmltests/Wizard/licenses/en_US.htmlnew file+1
@@ -0,0 +1 @@
1+en_US
tests/qmltests/Wizard/licenses/fr_CA.htmlnew file+1
@@ -0,0 +1 @@
1+fr_CA
tests/qmltests/Wizard/licenses/fr_FR.htmlnew file+1
@@ -0,0 +1 @@
1+fr_FR
tests/qmltests/Wizard/tst_Wizard.qmlnew file+479

This diff is too big to show here.

tests/qmltests/tst_Shell.qml+3−2

This diff is too big to show here.

tests/qmltests/tst_ShellWithPin.qml+1

This diff is too big to show here.

tests/qmltests/tst_TabletShell.qml+1

This diff is too big to show here.

tests/utils/modules/Unity/Test/UnityTestCase.qml+11−7

This diff is too big to show here.