on xenial help sign in
Merge trunk

[ Albert Astals Cid ] * Add some context to tr calls (LP: #1431497) * Require binaries and .pc files we call from code * Test: More stubborn flick to the end [ Andrea Cimitan ] * Refactor PreviewOverlay to fix weird zoom out/in animations when previewing images from the Previews [ CI Train Bot ] * Resync trunk. [ Charles Kerr ] * Re-enable a rotation lock test now that the bug that broke that test has been fixed. (LP: #1410915) [ Daniel d'Andrada ] * Darkened area behind indicators menu should eat input until it fully disappears (LP: #1417967) * DesktopStage - fix focus switch when user taps on window (LP: #1431325) * Fix warnings when launching tutorial * Make MouseTouchAdaptor controllable from within QML * Make tst_Shell absorb tst_TabletShell [ Leo Arias ] * Changed the autopilot dependencies so they do not require qt4. (LP: #1429158) * Drop the support for python2 in autopilot tests. (LP: #1429163) * Stop using the deprecated toolkit emulators namespace in autopilot tests. (LP: #1341681) [ Michael Terry ] * Don't close wizard & edge tutorial when the unity8-dash closes (LP: #1425484) * Don't let the wizard sit indefinitely, waiting for a wizard page to finish preparing itself. (LP: #1425737) * Fix two broken qmluitest files by waiting for everything to settle before starting the tests. * Only call unlockAllModems once the wizard is done. (LP: #1425161) (LP: #1425161) * When we are locking the user out from too many login failures, notice when time passes even if the device is suspended. (LP: #1396817) (LP: #1396817) [ Michael Zanetti ] * Add a mouse area to the indicators panel so we can open them by clicking. (LP: #1417650) * fix launcher not reacting to first click when revealed by mouse hover, add tests * performance improvements (LP: #1430233, #1425087) [ Michał Sawicz ] * Remove the activity indicator from tests * Use targets instead of custom ld arguments for linking [ Mirco Müller ] * Updated the visuals of the SwipeToAct-widget for incoming-call snap- decision notifications according to new design-spec. * Updated the visuals of the SwipeToAct-widget for incoming-call snap- decision notifications according to new design-spec. * No-change rebuild against Qt 5.4.1.

commite0c46f5cf948d3c68bee3b51e55d5545909a233e authorDaniel d'Andrada <daniel.dandrada@canonical.com> dateThu 19 Mar 2015, 10:47 (12 years ago) parentd43eea34d5d38e
111 files changed+3275−2574
CODING+5−5 cmake/modules/autopilot.cmake−8 debian/changelog+72 debian/control+6−10 debian/rules+2−2 plugins/AccountsService/AccountsService.cpp+1−1 plugins/AccountsService/AccountsServiceDBusAdaptor.cpp+11−2 plugins/AccountsService/AccountsServiceDBusAdaptor.h+2 plugins/Unity/Launcher/gsettings.cpp+8−1 plugins/Unity/Launcher/gsettings.h+1 plugins/Utils/windowstatestorage.cpp+22−1 plugins/Utils/windowstatestorage.h+4 po/br.po+71−70 po/ca.po+69−68 po/de.po+66−65 po/el.po+71−69 po/en_AU.po+56−55 po/es.po+63−62 po/fa.po+70−69 po/fi.po+56−55 po/gd.po+55−54 po/gl.po+56−55 po/hu.po+56−55 po/it.po+65−64 po/nb.po+56−55 po/nl.po+56−55 po/pa.po+166−154 po/pt.po+56−55 po/pt_BR.po+109−97 po/sl.po+56−55 po/sr.po+128−118 po/sv.po+56−55 po/unity8.pot+50−22 po/update-unity-pot+1 po/zh_TW.po+126−124 qml/Components/Dialogs.qml+10−10 qml/Dash/GenericScopeView.qml+1−1 qml/Dash/PageHeader.qml+3−3 qml/Dash/Previews/PreviewImageGallery.qml+25−6 qml/Dash/Previews/PreviewOverlay.qml+77−26 qml/Dash/Previews/PreviewZoomableImage.qml+3−3 qml/Greeter/Greeter.qml+28−17 qml/Launcher/Launcher.qml+1−1 qml/Notifications/SwipeToAct.qml+178−247 qml/Notifications/grip-large.svg+150 qml/Panel/Indicators/MessageMenuItemFactory.qml+1−1 qml/Panel/IndicatorsMenu.qml+16 qml/Panel/Panel.qml+1−1 qml/Panel/SearchIndicator.qml−82 qml/Shell.qml+12−1 qml/Stages/DecoratedWindow.qml+5−4 qml/Stages/DesktopStage.qml+14−2 qml/Stages/WindowDecoration.qml+1 qml/Stages/WindowMoveResizeArea.qml+5−3 qml/Wizard/Page.qml+1−1 qml/Wizard/Pages.qml+14−1 qml/Wizard/Pages/30-passwd-type.qml+6−6 qml/Wizard/Wizard.qml+6−1 src/Dash/main.cpp+2−2 src/MouseTouchAdaptor.cpp+40−4 src/MouseTouchAdaptor.h+18−5 src/main.cpp+1−2 tests/autopilot/setup.py+2−2 tests/autopilot/unity8/application_lifecycle/tests/__init__.py+2−2 tests/autopilot/unity8/application_lifecycle/tests/test_application_lifecycle.py+2−4 tests/autopilot/unity8/application_lifecycle/tests/test_url_dispatcher.py+2−2 tests/autopilot/unity8/fixture_setup.py+4−4 tests/autopilot/unity8/indicators/__init__.py+1−1 tests/autopilot/unity8/indicators/tests/__init__.py+1−1 tests/autopilot/unity8/indicators/tests/test_display_indicator.py−3 tests/autopilot/unity8/indicators/tests/test_indicators.py+2−4 tests/autopilot/unity8/process_helpers.py+2−9 tests/autopilot/unity8/shell/__init__.py+2−2 tests/autopilot/unity8/shell/emulators/__init__.py+3−3 tests/autopilot/unity8/shell/emulators/create_interactive_notification.py+2−3 tests/autopilot/unity8/shell/emulators/dash.py+4−5 tests/autopilot/unity8/shell/fixture_setup.py+2−2 tests/autopilot/unity8/shell/tests/__init__.py+3−3 tests/autopilot/unity8/shell/tests/test_emulators.py+4−4 tests/autopilot/unity8/shell/tests/test_lock_screen.py+1−9 tests/autopilot/unity8/shell/tests/test_notifications.py+4−12 tests/autopilot/unity8/shell/tests/test_tutorial.py+2−2 tests/autopilot/unity8/shell/tests/test_upstart.py+1−7 tests/mocks/LightDM/CMakeLists.txt+2−5 tests/mocks/Unity/Application/ApplicationManager.cpp−4 tests/mocks/Unity/Application/ApplicationManager.h+3−1 tests/mocks/Unity/Indicators/CMakeLists.txt+1−3 tests/plugins/LightDM/CMakeLists.txt+2−4 tests/qmltests/CMakeLists.txt+1−2 tests/qmltests/Dash/Previews/tst_Preview.qml+1−3 tests/qmltests/Dash/Previews/tst_PreviewImageGallery.qml+1−1 tests/qmltests/Dash/tst_Dash.qml+1−3 tests/qmltests/Greeter/tst_Greeter.qml+15 tests/qmltests/Greeter/tst_WideView.qml+10−3 tests/qmltests/Launcher/tst_Launcher.qml+51−6 tests/qmltests/Panel/tst_Panel.qml+62−2 tests/qmltests/Panel/tst_SearchIndicator.qml−61 tests/qmltests/Stages/ApplicationCheckBox.qml+20−1 tests/qmltests/Stages/tst_DesktopStage.qml+201 tests/qmltests/Stages/tst_PhoneStage.qml+1−1 tests/qmltests/Wizard/tst_Wizard.qml+18−1 tests/qmltests/tst_Shell.qml+380−80 tests/qmltests/tst_TabletShell.qml−305 tests/uqmlscene/CMakeLists.txt−1 tests/uqmlscene/main.cpp−4 tests/utils/modules/Unity/Test/CMakeLists.txt+2 tests/utils/modules/Unity/Test/MouseTouchEmulationCheckbox.qml+43 tests/utils/modules/Unity/Test/UnityTestCase.qml+29−6 tests/utils/modules/Unity/Test/plugin.cpp+15−2 tests/utils/modules/Unity/Test/qmldir+1 tools/registry-tracker.cpp+2
CODING+5−5
@@ -24,7 +24,7 @@ $ ./build.sh --setup
2424
2525 this will:
2626 - install the required dependencies to build, as well as run on the desktop
27− - it should also install unity-scope-home and unity-lens-application which
27+ - it should also install unity-scope-home and unity-lens-application which
2828 are technically "recommends", not strict dependencies
2929
3030build Unity 8
@@ -104,8 +104,8 @@ Notes
104104 - it's unsafe - anyone can connect to your device
105105 - with TCP the Nexus 10 doesn't drop the adb connection when locking
106106 the screen
107−- exporting ANDROID_SERIAL=$your_device_serial or
108− ANDROID_SERIAL=$your_device_ip:5555 will make adb not complain about
107+- exporting ANDROID_SERIAL=$your_device_serial or
108+ ANDROID_SERIAL=$your_device_ip:5555 will make adb not complain about
109109 multiple devices
110110- you can export TARGET_IP=$your_device_ip TARGET_SSH_PORT=22 for run_on_device.sh
111111 to not use adb forwarding - useful if you use multiple devices
@@ -190,8 +190,8 @@ $ PYTHONPATH=../tests/autopilot autopilot list unity8
190190
191191And then run a single test with
192192
193−$ PYTHONPATH=../tests/autopilot autopilot run unity8.some.very.long.test.name
193+$ PYTHONPATH=../tests/autopilot autopilot3 run unity8.some.very.long.test.name
194194
195195or run them all with
196196
197−$ PYTHONPATH=../tests/autopilot autopilot run unity8
197+$ PYTHONPATH=../tests/autopilot autopilot3 run unity8
cmake/modules/autopilot.cmake−8
@@ -13,12 +13,4 @@ function(declare_autopilot_test TEST_NAME TEST_SUITE WORKING_DIR)
1313
1414 add_dependencies(autopilot autopilot-${TEST_NAME})
1515
16− add_custom_target(autopilot2-${TEST_NAME}
17− COMMAND UNITY_TESTING=1 LANG=C QML2_IMPORT_PATH=${SHELL_INSTALL_QML}/mocks python2 -m autopilot.run run ${TEST_SUITE}
18− WORKING_DIRECTORY ${WORKING_DIR}
19− DEPENDS fake_install
20− )
21−
22− add_dependencies(autopilot autopilot2-${TEST_NAME})
23−
2416endfunction()
debian/changelog+72
@@ -1,3 +1,75 @@
1+unity8 (8.02+15.04.20150318-0ubuntu1) vivid; urgency=medium
2+
3+ [ Albert Astals Cid ]
4+ * Add some context to tr calls (LP: #1431497)
5+ * Require binaries and .pc files we call from code
6+ * Test: More stubborn flick to the end
7+
8+ [ Andrea Cimitan ]
9+ * Refactor PreviewOverlay to fix weird zoom out/in animations when
10+ previewing images from the Previews
11+
12+ [ CI Train Bot ]
13+ * Resync trunk.
14+
15+ [ Charles Kerr ]
16+ * Re-enable a rotation lock test now that the bug that broke that test
17+ has been fixed. (LP: #1410915)
18+
19+ [ Daniel d'Andrada ]
20+ * Darkened area behind indicators menu should eat input until it fully
21+ disappears (LP: #1417967)
22+ * DesktopStage - fix focus switch when user taps on window (LP:
23+ #1431325)
24+ * Fix warnings when launching tutorial
25+ * Make MouseTouchAdaptor controllable from within QML
26+ * Make tst_Shell absorb tst_TabletShell
27+
28+ [ Leo Arias ]
29+ * Changed the autopilot dependencies so they do not require qt4. (LP:
30+ #1429158)
31+ * Drop the support for python2 in autopilot tests. (LP: #1429163)
32+ * Stop using the deprecated toolkit emulators namespace in autopilot
33+ tests. (LP: #1341681)
34+
35+ [ Michael Terry ]
36+ * Don't close wizard & edge tutorial when the unity8-dash closes (LP:
37+ #1425484)
38+ * Don't let the wizard sit indefinitely, waiting for a wizard page to
39+ finish preparing itself. (LP: #1425737)
40+ * Fix two broken qmluitest files by waiting for everything to settle
41+ before starting the tests.
42+ * Only call unlockAllModems once the wizard is done. (LP: #1425161)
43+ (LP: #1425161)
44+ * When we are locking the user out from too many login failures,
45+ notice when time passes even if the device is suspended. (LP:
46+ #1396817) (LP: #1396817)
47+
48+ [ Michael Zanetti ]
49+ * Add a mouse area to the indicators panel so we can open them by
50+ clicking. (LP: #1417650)
51+ * fix launcher not reacting to first click when revealed by mouse
52+ hover, add tests
53+ * performance improvements (LP: #1430233, #1425087)
54+
55+ [ Michał Sawicz ]
56+ * Remove the activity indicator from tests
57+ * Use targets instead of custom ld arguments for linking
58+
59+ [ Mirco Müller ]
60+ * Updated the visuals of the SwipeToAct-widget for incoming-call snap-
61+ decision notifications according to new design-spec.
62+ * Updated the visuals of the SwipeToAct-widget for incoming-call snap-
63+ decision notifications according to new design-spec.
64+
65+ -- CI Train Bot <ci-train-bot@canonical.com> Wed, 18 Mar 2015 10:19:06 +0000
66+
67+unity8 (8.02+15.04.20150302-0ubuntu2) vivid; urgency=medium
68+
69+ * No-change rebuild against Qt 5.4.1.
70+
71+ -- Timo Jyrinki <timo-jyrinki@ubuntu.com> Wed, 11 Mar 2015 10:27:23 +0200
72+
173unity8 (8.02+15.04.20150302-0ubuntu1) vivid; urgency=medium
274
375 [ Albert Astals ]
debian/control+6−10
@@ -32,10 +32,8 @@ Build-Depends: cmake,
3232 libusermetricsoutput1-dev,
3333 libxcb1-dev,
3434 pkg-config,
35− python-setuptools,
3635 python3-all:any,
3736 python3-setuptools,
38− python:any (>= 2.7),
3937 qml-module-qt-labs-folderlistmodel,
4038 qml-module-qtquick-layouts,
4139 qml-module-qtquick-xmllistmodel,
@@ -79,6 +77,9 @@ Depends: unity8-common (= ${source:Version}),
7977 unity8-private (= ${binary:Version}),
8078 ${misc:Depends},
8179 ${shlibs:Depends},
80+# We do call pkg-config libunity-scopes from the code
81+ pkg-config,
82+ libunity-scopes-dev,
8283Description: Development tool for Unity scopes
8384 This package contains the development tool for new generation Unity scopes, based
8485 on Unity8.
@@ -140,20 +141,16 @@ Description: Unity 8 shell (common files)
140141
141142Package: unity8-autopilot
142143Architecture: all
143−Depends: gir1.2-glib-2.0,
144+Depends: autopilot-qt5 (>= 1.4),
145+ gir1.2-glib-2.0,
144146 gir1.2-notify-0.7,
145− libautopilot-qt (>= 1.4),
146147 libqt5test5,
147148 libqt5widgets5,
148− python-autopilot,
149− python-evdev,
150− python-fixtures,
151− python-gi,
152− python-mock,
153149 python3-autopilot,
154150 python3-evdev,
155151 python3-fixtures,
156152 python3-gi,
153+ qttestability-autopilot (>= 1.4),
157154 ubuntu-ui-toolkit-autopilot,
158155 unity-scope-click,
159156 unity8 (= ${source:Version}),
@@ -161,7 +158,6 @@ Depends: gir1.2-glib-2.0,
161158 url-dispatcher-tools,
162159 ${misc:Depends},
163160 ${python3:Depends},
164− ${python:Depends},
165161 ${shlibs:Depends},
166162Description: Test package for Unity 8 shell
167163 Autopilot tests for the unity8 package
debian/rules+2−2
@@ -14,7 +14,7 @@ export CC=$(DEB_HOST_GNU_TYPE)-gcc-4.9
1414export CXX=$(DEB_HOST_GNU_TYPE)-g++-4.9
1515
1616%:
17− dh $@ --parallel --fail-missing --with python2,python3
17+ dh $@ --parallel --fail-missing --with python3
1818
1919override_dh_auto_clean:
2020 dh_auto_clean
@@ -32,7 +32,7 @@ override_dh_auto_build:
3232override_dh_install:
3333 # install autopilot tests
3434 cd tests/autopilot; \
35− set -ex; for python in $(shell pyversions -r) $(shell py3versions -r); do \
35+ set -ex; for python in $(shell py3versions -r); do \
3636 $$python setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb; \
3737 done; \
3838 cd $(CURDIR)
plugins/AccountsService/AccountsService.cpp+1−1
@@ -152,7 +152,7 @@ void AccountsService::updateEnableIndicatorsWhileLocked()
152152
153153void AccountsService::updateBackgroundFile()
154154{
155− auto backgroundFile = m_service->getUserProperty(m_user, "org.freedesktop.Accounts.User", "BackgroundFile").toString();
155+ QString backgroundFile = m_service->getUserProperty(m_user, "org.freedesktop.Accounts.User", "BackgroundFile").toString();
156156 if (m_backgroundFile != backgroundFile) {
157157 m_backgroundFile = backgroundFile;
158158 Q_EMIT backgroundFileChanged();
plugins/AccountsService/AccountsServiceDBusAdaptor.cpp+11−2
@@ -25,7 +25,8 @@
2525AccountsServiceDBusAdaptor::AccountsServiceDBusAdaptor(QObject* parent)
2626 : QObject(parent),
2727 m_accountsManager(nullptr),
28− m_users()
28+ m_users(),
29+ m_ignoreNextChanged(false)
2930{
3031 QDBusConnection connection = QDBusConnection::SM_BUSNAME();
3132 QDBusConnectionInterface *interface = connection.interface();
@@ -75,11 +76,19 @@ void AccountsServiceDBusAdaptor::propertiesChangedSlot(const QString &interface,
7576 combined.removeDuplicates();
7677
7778 Q_EMIT propertiesChanged(getUserForPath(message().path()), interface, combined);
79+
80+ // In case a non-builtin property changes, we're getting propertiesChanged *and* changed
81+ // As the generic changed requires asking back over DBus, it's quite slow to process.
82+ // We don't want to trigger that when we know it's not a built-in property change.
83+ m_ignoreNextChanged = true;
7884}
7985
8086void AccountsServiceDBusAdaptor::maybeChangedSlot()
8187{
82− Q_EMIT maybeChanged(getUserForPath(message().path()));
88+ if (!m_ignoreNextChanged) {
89+ Q_EMIT maybeChanged(getUserForPath(message().path()));
90+ }
91+ m_ignoreNextChanged = false;
8392}
8493
8594QString AccountsServiceDBusAdaptor::getUserForPath(const QString &path)
plugins/AccountsService/AccountsServiceDBusAdaptor.h+2
@@ -61,6 +61,8 @@ private:
6161
6262 QDBusInterface *m_accountsManager;
6363 QMap<QString, QDBusInterface *> m_users;
64+
65+ bool m_ignoreNextChanged;
6466};
6567
6668#endif
plugins/Unity/Launcher/gsettings.cpp+8−1
@@ -59,12 +59,19 @@ void GSettings::setStoredApplications(const QStringList &storedApplications)
5959 Q_FOREACH(const QString &entry, storedApplications) {
6060 gSettingsList << QString("appid://%1").arg(entry);
6161 }
62+ // GSettings will emit a changed signal to ourselves. Let's cache the items
63+ // and only forward the changed signal when the list did actually change.
64+ m_cachedItems = gSettingsList;
6265 m_gSettings->set("items", gSettingsList);
6366}
6467
6568void GSettings::onSettingsChanged(const QString &key)
6669{
6770 if (key == "items") {
68− Q_EMIT changed();
71+ QStringList cachedItems = m_gSettings->get("items").toStringList();
72+ if (m_cachedItems != cachedItems) {
73+ m_cachedItems = cachedItems;
74+ Q_EMIT changed();
75+ }
6976 }
7077}
plugins/Unity/Launcher/gsettings.h+1
@@ -41,6 +41,7 @@ private Q_SLOTS:
4141
4242private:
4343 QGSettings *m_gSettings;
44+ QStringList m_cachedItems;
4445};
4546
4647#endif
plugins/Utils/windowstatestorage.cpp+22−1
@@ -18,6 +18,7 @@
1818
1919#include <QtConcurrent>
2020#include <QDebug>
21+#include <QFutureSynchronizer>
2122#include <QSqlQuery>
2223#include <QSqlError>
2324#include <QSqlResult>
@@ -36,8 +37,20 @@ WindowStateStorage::WindowStateStorage(QObject *parent):
3637 initdb();
3738}
3839
40+WindowStateStorage::~WindowStateStorage()
41+{
42+ QFutureSynchronizer<void> futureSync;
43+ for (int i = 0; i < m_asyncQueries.count(); ++i) {
44+ futureSync.addFuture(m_asyncQueries[i]);
45+ }
46+ futureSync.waitForFinished();
47+ m_db.close();
48+}
49+
3950void WindowStateStorage::saveGeometry(const QString &windowId, const QRect &rect)
4051{
52+ QMutexLocker mutexLocker(&s_mutex);
53+
4154 QString queryString = QString("INSERT OR REPLACE INTO geometry (windowId, x, y, width, height) values ('%1', '%2', '%3', '%4', '%5');")
4255 .arg(windowId)
4356 .arg(rect.x())
@@ -45,7 +58,15 @@ void WindowStateStorage::saveGeometry(const QString &windowId, const QRect &rect
4558 .arg(rect.width())
4659 .arg(rect.height());
4760
48− QtConcurrent::run(executeAsyncQuery, queryString);
61+ QFuture<void> future = QtConcurrent::run(executeAsyncQuery, queryString);
62+ m_asyncQueries.append(future);
63+
64+ QFutureWatcher<void> *futureWatcher = new QFutureWatcher<void>();
65+ futureWatcher->setFuture(future);
66+ connect(futureWatcher, &QFutureWatcher<void>::finished,
67+ this,
68+ [=](){ m_asyncQueries.removeAll(futureWatcher->future());
69+ futureWatcher->deleteLater(); });
4970}
5071
5172void WindowStateStorage::executeAsyncQuery(const QString &queryString)
plugins/Utils/windowstatestorage.h+4
@@ -17,12 +17,14 @@
1717#include <QObject>
1818#include <QSqlDatabase>
1919#include <QMutex>
20+#include <QFuture>
2021
2122class WindowStateStorage: public QObject
2223{
2324 Q_OBJECT
2425public:
2526 WindowStateStorage(QObject *parent = 0);
27+ virtual ~WindowStateStorage();
2628
2729 Q_INVOKABLE void saveGeometry(const QString &windowId, const QRect &rect);
2830 Q_INVOKABLE QRect getGeometry(const QString &windowId, const QRect &defaultValue);
@@ -35,4 +37,6 @@ private:
3537
3638 // NB: This is accessed from threads. Make sure to mutex it.
3739 QSqlDatabase m_db;
40+
41+ QList< QFuture<void> > m_asyncQueries;
3842};
po/br.po+71−70
@@ -8,106 +8,107 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2014-12-16 07:27+0000\n"
11+"PO-Revision-Date: 2015-03-13 13:01+0000\n"
1212"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
1313"Language-Team: Breton <br@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-14 05:32+0000\n"
19+"X-Generator: Launchpad (build 17389)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Ger-tremen : "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Spilhennañ ar verradenn"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Dispilhennañ ar verradenn"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Benveg prennet"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr ""
4141"Prennet eo bet ho penveg abalamour da re a daolioù-esae c'hwitet evit merkañ "
4242"ho frazenn-dremen."
4343
44−#: qml/Components/DelayedLockscreen.qml:65
44+#: qml/Components/DelayedLockscreen.qml:63
4545msgid "You have been locked out due to too many failed passcode attempts."
4646msgstr ""
4747"Prennet eo bet ho penveg abalamour da re a daolioù-esae evit merkañ ho kod-"
4848"tremen."
4949
50−#: qml/Components/DelayedLockscreen.qml:74
50+#: qml/Components/DelayedLockscreen.qml:72
5151#, qt-format
5252msgid "Please wait %1 minute and then try again…"
5353msgid_plural "Please wait %1 minutes and then try again…"
5454msgstr[0] "Gortozit %1 vunutenn, mar plij, hag esaeit en-dro..."
5555msgstr[1] "Gortozit %1 a vunutoù, mar plij, hag esaeit en-dro..."
5656
57−#: qml/Components/Dialogs.qml:87
57+#: qml/Components/Dialogs.qml:74
5858msgid "Log out"
5959msgstr "Digevreañ"
6060
61−#: qml/Components/Dialogs.qml:88
61+#: qml/Components/Dialogs.qml:75
6262msgid "Are you sure you want to log out?"
6363msgstr "Ha sur oc'h e fell deoc'h digevreañ ?"
6464
6565#: qml/Components/Dialogs.qml:90
6666msgid "Lock"
67−msgstr ""
67+msgstr "Prennañ"
6868
6969#: qml/Components/Dialogs.qml:97
7070msgid "Log Out"
71−msgstr ""
71+msgstr "Digevreañ"
7272
73−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
74−#: qml/Components/Dialogs.qml:191
73+#: qml/Components/Dialogs.qml:171
7574msgid "Cancel"
7675msgstr "Nullañ"
7776
78−#: qml/Components/Dialogs.qml:116
77+#: qml/Components/Dialogs.qml:98
7978msgid "Shut down"
8079msgstr "Lazhañ ar benveg"
8180
82−#: qml/Components/Dialogs.qml:117
81+#: qml/Components/Dialogs.qml:99
8382msgid "Are you sure you want to shut down?"
8483msgstr "Ha sur oc'h e fell deoc'h lazhañ ar benveg ?"
8584
86−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
85+#: qml/Components/Dialogs.qml:123
8786msgid "Reboot"
8887msgstr "Adloc'hañ"
8988
9089#: qml/Components/Dialogs.qml:127
9190msgid "Shutdown"
92−msgstr ""
91+msgstr "Lazhañ"
9392
94−#: qml/Components/Dialogs.qml:148
93+#: qml/Components/Dialogs.qml:124
9594msgid "Are you sure you want to reboot?"
9695msgstr "Ha sur oc'h e fell deoc'h adloc'hañ ?"
9796
98−#: qml/Components/Dialogs.qml:150
97+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
98+#: qml/Components/Dialogs.qml:126
9999msgid "No"
100100msgstr "N'on ket"
101101
102−#: qml/Components/Dialogs.qml:156
102+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
103+#: qml/Components/Dialogs.qml:133
103104msgid "Yes"
104105msgstr "Ya"
105106
106−#: qml/Components/Dialogs.qml:170
107+#: qml/Components/Dialogs.qml:148
107108msgid "Power"
108109msgstr "Tredan"
109110
110−#: qml/Components/Dialogs.qml:171
111+#: qml/Components/Dialogs.qml:149
111112msgid ""
112113"Are you sure you would like\n"
113114"to power off?"
@@ -115,52 +116,52 @@ msgstr ""
115116"Ha sur oc'h e fell deoc'h\n"
116117"troc'hañ an tredan ?"
117118
118−#: qml/Components/Dialogs.qml:173
119+#: qml/Components/Dialogs.qml:151
119120msgid "Power off"
120121msgstr "Lazhañ"
121122
122−#: qml/Components/Dialogs.qml:182
123+#: qml/Components/Dialogs.qml:161
123124msgid "Restart"
124125msgstr "Adloc'hañ"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Return to Call"
128129msgstr "Distreiñ d'ar bellgomzadenn"
129130
130−#: qml/Components/Lockscreen.qml:238
131+#: qml/Components/Lockscreen.qml:223
131132msgid "Emergency Call"
132133msgstr "Pellgomzadenn vallus"
133134
134−#: qml/Components/Lockscreen.qml:270
135+#: qml/Components/Lockscreen.qml:255
135136msgid "OK"
136137msgstr "Mat eo"
137138
138−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
139+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
139140msgid "See less"
140141msgstr "Gwelet nebeutoc'h"
141142
142−#: qml/Dash/GenericScopeView.qml:528
143+#: qml/Dash/GenericScopeView.qml:434
143144msgid "See all"
144145msgstr "Gwelet pep tra"
145146
146−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
147+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
147148#: qml/Panel/SearchIndicator.qml:27
148149msgid "Search"
149150msgstr "Klask"
150151
151−#: qml/Dash/PageHeader.qml:269
152+#: qml/Dash/PageHeader.qml:261
152153msgid "Store"
153154msgstr "Enrollañ"
154155
155−#: qml/Dash/PageHeader.qml:286
156+#: qml/Dash/PageHeader.qml:278
156157msgid "Settings"
157158msgstr "Arventennoù"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Remove from Favorites"
161162msgstr "Lemel eus ar sinedoù"
162163
163−#: qml/Dash/PageHeader.qml:293
164+#: qml/Dash/PageHeader.qml:285
164165msgid "Add to Favorites"
165166msgstr "Ouzhpennañ d'ar sinedoù"
166167
@@ -194,45 +195,45 @@ msgstr "Lezel da vont evit freskaat..."
194195
195196#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
196197msgid "Enable location data"
197−msgstr ""
198+msgstr "Gweredekaat ar roadennoù lec'hiañ"
198199
199−#: qml/Dash/ScopesList.qml:66
200+#: qml/Dash/ScopesList.qml:63
200201msgid "Manage"
201202msgstr "Merañ"
202203
203−#: qml/Dash/ScopesList.qml:112
204+#: qml/Dash/ScopesList.qml:107
204205msgid "Home"
205206msgstr "Er gêr"
206207
207−#: qml/Dash/ScopesList.qml:113
208+#: qml/Dash/ScopesList.qml:108
208209msgid "Also installed"
209210msgstr "Staliet ivez"
210211
211−#: qml/Greeter/CoverPage.qml:107
212+#: qml/Greeter/Greeter.qml:174
212213msgid "Unlock"
213214msgstr "Dibrennañ"
214215
215216#: qml/Greeter/LoginList.qml:236
216217msgid "Retry"
217−msgstr ""
218+msgstr "Esaeañ en-dro"
218219
219220#: qml/Greeter/LoginList.qml:237
220221msgid "Tap to unlock"
221−msgstr ""
222+msgstr "Pouezañ evit dibrennañ"
222223
223−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
224+#: qml/Shell.qml:444
224225msgid "Sorry, incorrect passphrase."
225226msgstr "Siwazh, frazenn-dremen direizh"
226227
227−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
228+#: qml/Shell.qml:445
228229msgid "Sorry, incorrect passcode."
229230msgstr "Siwazh, kod-tremen direizh"
230231
231−#: qml/Greeter/NarrowView.qml:55
232+#: qml/Shell.qml:446
232233msgid "This will be your last attempt."
233234msgstr "Ho taol-esae diwezhañ e vo."
234235
235−#: qml/Greeter/NarrowView.qml:57
236+#: qml/Shell.qml:448
236237msgid ""
237238"If passphrase is entered incorrectly, your phone will conduct a factory "
238239"reset and all personal data will be deleted."
@@ -240,7 +241,7 @@ msgstr ""
240241"Ma vez ebarzhet ur frazenn-dremen direizh, e vo adderaouekaet ho pellgomzer "
241242"gant arventennoù al labouradeg hag e vo diverket an holl roadennoù personel"
242243
243−#: qml/Greeter/NarrowView.qml:58
244+#: qml/Shell.qml:449
244245msgid ""
245246"If passcode is entered incorrectly, your phone will conduct a factory reset "
246247"and all personal data will be deleted."
@@ -248,33 +249,33 @@ msgstr ""
248249"Ma vez ebarzhet ur c'hod-tremen direizh, e vo adderaouekaet ho pellgomzer "
249250"gant arventennoù al labouradeg hag e vo diverket an holl roadennoù personel."
250251
251−#: qml/Greeter/NarrowView.qml:115
252+#: qml/Shell.qml:402
252253#, qt-format
253254msgid "Enter %1"
254255msgstr "Merkañ %1"
255256
256−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
257+#: qml/Shell.qml:394
257258msgid "Enter passphrase"
258259msgstr "Merkañ ar frazenn-dremen"
259260
260−#: qml/Greeter/NarrowView.qml:117
261+#: qml/Shell.qml:398
261262msgid "Enter passcode"
262263msgstr "Merkañ ar c'hod-tremen"
263264
264−#: qml/Greeter/NarrowView.qml:118
265+#: qml/Shell.qml:403
265266#, qt-format
266267msgid "Sorry, incorrect %1"
267268msgstr "Siwazh, %1 direizh"
268269
269−#: qml/Greeter/NarrowView.qml:119
270+#: qml/Shell.qml:395
270271msgid "Sorry, incorrect passphrase"
271272msgstr "Siwazh, frazenn-dremen direizh"
272273
273−#: qml/Greeter/NarrowView.qml:120
274+#: qml/Shell.qml:396
274275msgid "Please re-enter"
275276msgstr "Adverkañ, mar plij"
276277
277−#: qml/Greeter/NarrowView.qml:121
278+#: qml/Shell.qml:399
278279msgid "Sorry, incorrect passcode"
279280msgstr "Digarezit, kod-tremen direizh"
280281
@@ -320,7 +321,7 @@ msgstr "C'hwitet, touchit evit adkregiñ"
320321
321322#: qml/Panel/Indicators/MessageMenuItemFactory.qml:149
322323msgid "Reply"
323−msgstr ""
324+msgstr "Respont"
324325
325326#: qml/Panel/Indicators/ModemInfoItem.qml:105
326327msgid "Unlock SIM"
@@ -332,55 +333,55 @@ msgstr "O kantren"
332333
333334#: qml/Tutorial/TutorialBottomFinish.qml:24
334335msgid "This action does different things for different apps"
335−msgstr ""
336+msgstr "An ober-mañ a ra meur a dra evit meur a arload"
336337
337338#: qml/Tutorial/TutorialBottomFinish.qml:25
338339msgid "Tap here to finish."
339−msgstr ""
340+msgstr "Pouezañ amañ evit echuiñ."
340341
341342#: qml/Tutorial/TutorialBottom.qml:28
342343msgid "Open special menus"
343−msgstr ""
344+msgstr "Digeriñ al lañserioù ispisial"
344345
345346#: qml/Tutorial/TutorialBottom.qml:29
346347msgid "Swipe up from the bottom edge."
347−msgstr ""
348+msgstr "Riklit war-du an nec'h adalek an traoñ"
348349
349350#: qml/Tutorial/TutorialLeftFinish.qml:24
350351msgid "These are the shortcuts to favorite apps"
351−msgstr ""
352+msgstr "Berradennoù war-du hoc'h arloadoù gwellañ-deuet eo ar re-mañ"
352353
353354#: qml/Tutorial/TutorialLeftFinish.qml:25 qml/Tutorial/TutorialRight.qml:144
354355msgid "Tap here to continue."
355−msgstr ""
356+msgstr "Pouzañ amañ evit kenderc'hel"
356357
357358#: qml/Tutorial/TutorialLeft.qml:26
358359msgid "Open the launcher"
359−msgstr ""
360+msgstr "Digeriñ al lañser"
360361
361362#: qml/Tutorial/TutorialLeft.qml:27
362363msgid "Short swipe from the left edge."
363−msgstr ""
364+msgstr "Riklik dousik adalek ar bord kleiz."
364365
365366#: qml/Tutorial/TutorialPage.qml:178
366367msgid "You almost got it!"
367−msgstr ""
368+msgstr "Deuet eo ganeoc'h pe dost ?"
368369
369370#: qml/Tutorial/TutorialPage.qml:195
370371msgid "Try again."
371−msgstr ""
372+msgstr "Esaeit en-dro."
372373
373374#: qml/Tutorial/TutorialRight.qml:31
374375msgid "To view open apps"
375−msgstr ""
376+msgstr "Evit gwelet an arloadoù digor"
376377
377378#: qml/Tutorial/TutorialRight.qml:32
378379msgid "Long swipe from the right edge."
379−msgstr ""
380+msgstr "Riklit pell adalek ar bord dehoù."
380381
381382#: qml/Tutorial/TutorialRight.qml:122
382383msgid "View all your running tasks."
383−msgstr ""
384+msgstr "Gwelet an holl drevelloù a ya en-dro."
384385
385386#: qml/Wizard/Page.qml:89
386387msgid "Back"
po/ca.po+69−68
@@ -8,106 +8,107 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-19 11:33+0000\n"
11+"PO-Revision-Date: 2015-03-07 11:45+0000\n"
1212"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
1313"Language-Team: Catalan <ca@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-08 05:30+0000\n"
19+"X-Generator: Launchpad (build 17383)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Contrasenya: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Enganxa la drecera"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Desenganxa la drecera"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Dispositiu bloquejat"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr ""
4141"Se us ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
4242"d'intents d'introducció de la contrasenya."
4343
44−#: qml/Components/DelayedLockscreen.qml:65
44+#: qml/Components/DelayedLockscreen.qml:63
4545msgid "You have been locked out due to too many failed passcode attempts."
4646msgstr ""
4747"Se us ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
4848"d'intents d'introducció del codi d'accés."
4949
50−#: qml/Components/DelayedLockscreen.qml:74
50+#: qml/Components/DelayedLockscreen.qml:72
5151#, qt-format
5252msgid "Please wait %1 minute and then try again…"
5353msgid_plural "Please wait %1 minutes and then try again…"
5454msgstr[0] "Espereu %1 minut i torneu-ho a intentar..."
5555msgstr[1] "Espereu %1 minuts i torneu-ho a intentar..."
5656
57−#: qml/Components/Dialogs.qml:87
57+#: qml/Components/Dialogs.qml:74
5858msgid "Log out"
5959msgstr "Surt"
6060
61−#: qml/Components/Dialogs.qml:88
61+#: qml/Components/Dialogs.qml:75
6262msgid "Are you sure you want to log out?"
6363msgstr "Segur que voleu sortir?"
6464
6565#: qml/Components/Dialogs.qml:90
6666msgid "Lock"
67−msgstr ""
67+msgstr "Bloca"
6868
6969#: qml/Components/Dialogs.qml:97
7070msgid "Log Out"
71−msgstr ""
71+msgstr "Surt"
7272
73−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
74−#: qml/Components/Dialogs.qml:191
73+#: qml/Components/Dialogs.qml:171
7574msgid "Cancel"
7675msgstr "Cancel·la"
7776
78−#: qml/Components/Dialogs.qml:116
77+#: qml/Components/Dialogs.qml:98
7978msgid "Shut down"
8079msgstr "Apaga"
8180
82−#: qml/Components/Dialogs.qml:117
81+#: qml/Components/Dialogs.qml:99
8382msgid "Are you sure you want to shut down?"
8483msgstr "Segur que voleu apagar?"
8584
86−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
85+#: qml/Components/Dialogs.qml:123
8786msgid "Reboot"
8887msgstr "Reinicia"
8988
9089#: qml/Components/Dialogs.qml:127
9190msgid "Shutdown"
92−msgstr ""
91+msgstr "Atura"
9392
94−#: qml/Components/Dialogs.qml:148
93+#: qml/Components/Dialogs.qml:124
9594msgid "Are you sure you want to reboot?"
9695msgstr "Segur que voleu reiniciar?"
9796
98−#: qml/Components/Dialogs.qml:150
97+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
98+#: qml/Components/Dialogs.qml:126
9999msgid "No"
100100msgstr "No"
101101
102−#: qml/Components/Dialogs.qml:156
102+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
103+#: qml/Components/Dialogs.qml:133
103104msgid "Yes"
104105msgstr "Sí"
105106
106−#: qml/Components/Dialogs.qml:170
107+#: qml/Components/Dialogs.qml:148
107108msgid "Power"
108109msgstr "Energia"
109110
110−#: qml/Components/Dialogs.qml:171
111+#: qml/Components/Dialogs.qml:149
111112msgid ""
112113"Are you sure you would like\n"
113114"to power off?"
@@ -115,52 +116,52 @@ msgstr ""
115116"Segur que voleu\n"
116117"apagar?"
117118
118−#: qml/Components/Dialogs.qml:173
119+#: qml/Components/Dialogs.qml:151
119120msgid "Power off"
120121msgstr "Apaga"
121122
122−#: qml/Components/Dialogs.qml:182
123+#: qml/Components/Dialogs.qml:161
123124msgid "Restart"
124125msgstr "Reinicia"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Return to Call"
128129msgstr "Torna a la trucada"
129130
130−#: qml/Components/Lockscreen.qml:238
131+#: qml/Components/Lockscreen.qml:223
131132msgid "Emergency Call"
132133msgstr "Trucada d'emergència"
133134
134−#: qml/Components/Lockscreen.qml:270
135+#: qml/Components/Lockscreen.qml:255
135136msgid "OK"
136137msgstr "D'acord"
137138
138−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
139+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
139140msgid "See less"
140141msgstr "Mostra'n menys"
141142
142−#: qml/Dash/GenericScopeView.qml:528
143+#: qml/Dash/GenericScopeView.qml:434
143144msgid "See all"
144145msgstr "Mostra-ho tot"
145146
146−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
147+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
147148#: qml/Panel/SearchIndicator.qml:27
148149msgid "Search"
149150msgstr "Cerca"
150151
151−#: qml/Dash/PageHeader.qml:269
152+#: qml/Dash/PageHeader.qml:261
152153msgid "Store"
153154msgstr "Botiga"
154155
155−#: qml/Dash/PageHeader.qml:286
156+#: qml/Dash/PageHeader.qml:278
156157msgid "Settings"
157158msgstr "Paràmetres"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Remove from Favorites"
161162msgstr "Suprimeix dels preferits"
162163
163−#: qml/Dash/PageHeader.qml:293
164+#: qml/Dash/PageHeader.qml:285
164165msgid "Add to Favorites"
165166msgstr "Afegeix als preferits"
166167
@@ -196,43 +197,43 @@ msgstr "Deixeu anar per actualitzar..."
196197msgid "Enable location data"
197198msgstr "Habilita les dades d'ubicació"
198199
199−#: qml/Dash/ScopesList.qml:66
200+#: qml/Dash/ScopesList.qml:63
200201msgid "Manage"
201202msgstr "Gestiona"
202203
203−#: qml/Dash/ScopesList.qml:112
204+#: qml/Dash/ScopesList.qml:107
204205msgid "Home"
205206msgstr "Inici"
206207
207−#: qml/Dash/ScopesList.qml:113
208+#: qml/Dash/ScopesList.qml:108
208209msgid "Also installed"
209210msgstr "També instal·lat"
210211
211−#: qml/Greeter/CoverPage.qml:107
212+#: qml/Greeter/Greeter.qml:174
212213msgid "Unlock"
213214msgstr "Desbloca"
214215
215216#: qml/Greeter/LoginList.qml:236
216217msgid "Retry"
217−msgstr ""
218+msgstr "Torna-ho a provar"
218219
219220#: qml/Greeter/LoginList.qml:237
220221msgid "Tap to unlock"
221−msgstr ""
222+msgstr "Feu un toc per desblocar"
222223
223−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
224+#: qml/Shell.qml:444
224225msgid "Sorry, incorrect passphrase."
225226msgstr "La contrasenya és incorrecta"
226227
227−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
228+#: qml/Shell.qml:445
228229msgid "Sorry, incorrect passcode."
229230msgstr "El codi d'accés no és correcte"
230231
231−#: qml/Greeter/NarrowView.qml:55
232+#: qml/Shell.qml:446
232233msgid "This will be your last attempt."
233234msgstr "Aquest serà el darrer intent."
234235
235−#: qml/Greeter/NarrowView.qml:57
236+#: qml/Shell.qml:448
236237msgid ""
237238"If passphrase is entered incorrectly, your phone will conduct a factory "
238239"reset and all personal data will be deleted."
@@ -241,7 +242,7 @@ msgstr ""
241242"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
242243"personals."
243244
244−#: qml/Greeter/NarrowView.qml:58
245+#: qml/Shell.qml:449
245246msgid ""
246247"If passcode is entered incorrectly, your phone will conduct a factory reset "
247248"and all personal data will be deleted."
@@ -250,33 +251,33 @@ msgstr ""
250251"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
251252"personals."
252253
253−#: qml/Greeter/NarrowView.qml:115
254+#: qml/Shell.qml:402
254255#, qt-format
255256msgid "Enter %1"
256257msgstr "Introduïu: %1"
257258
258−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
259+#: qml/Shell.qml:394
259260msgid "Enter passphrase"
260261msgstr "Introduïu la contrasenya"
261262
262−#: qml/Greeter/NarrowView.qml:117
263+#: qml/Shell.qml:398
263264msgid "Enter passcode"
264265msgstr "Introduïu el codi d'accés"
265266
266−#: qml/Greeter/NarrowView.qml:118
267+#: qml/Shell.qml:403
267268#, qt-format
268269msgid "Sorry, incorrect %1"
269270msgstr "Incorrecte (%1)"
270271
271−#: qml/Greeter/NarrowView.qml:119
272+#: qml/Shell.qml:395
272273msgid "Sorry, incorrect passphrase"
273274msgstr "La contrasenya no és correcta"
274275
275−#: qml/Greeter/NarrowView.qml:120
276+#: qml/Shell.qml:396
276277msgid "Please re-enter"
277278msgstr "Torneu-ho a introduir"
278279
279−#: qml/Greeter/NarrowView.qml:121
280+#: qml/Shell.qml:399
280281msgid "Sorry, incorrect passcode"
281282msgstr "El codi d'accés no és correcte"
282283
@@ -334,55 +335,55 @@ msgstr "Itinerància"
334335
335336#: qml/Tutorial/TutorialBottomFinish.qml:24
336337msgid "This action does different things for different apps"
337−msgstr ""
338+msgstr "Aquesta acció fa coses diferents depenent de l'aplicació"
338339
339340#: qml/Tutorial/TutorialBottomFinish.qml:25
340341msgid "Tap here to finish."
341−msgstr ""
342+msgstr "Feu un toc per finalitzar."
342343
343344#: qml/Tutorial/TutorialBottom.qml:28
344345msgid "Open special menus"
345−msgstr ""
346+msgstr "Obre els menús especials"
346347
347348#: qml/Tutorial/TutorialBottom.qml:29
348349msgid "Swipe up from the bottom edge."
349−msgstr ""
350+msgstr "Llisqueu el dit des de la vora inferior."
350351
351352#: qml/Tutorial/TutorialLeftFinish.qml:24
352353msgid "These are the shortcuts to favorite apps"
353−msgstr ""
354+msgstr "Aquestes són les dreceres a les aplicacions preferides"
354355
355356#: qml/Tutorial/TutorialLeftFinish.qml:25 qml/Tutorial/TutorialRight.qml:144
356357msgid "Tap here to continue."
357−msgstr ""
358+msgstr "Feu un toc per continuar."
358359
359360#: qml/Tutorial/TutorialLeft.qml:26
360361msgid "Open the launcher"
361−msgstr ""
362+msgstr "Obre el llançador"
362363
363364#: qml/Tutorial/TutorialLeft.qml:27
364365msgid "Short swipe from the left edge."
365−msgstr ""
366+msgstr "Lliscament curt des de la vora esquerra."
366367
367368#: qml/Tutorial/TutorialPage.qml:178
368369msgid "You almost got it!"
369−msgstr ""
370+msgstr "Ja gairebé ho teniu!"
370371
371372#: qml/Tutorial/TutorialPage.qml:195
372373msgid "Try again."
373−msgstr ""
374+msgstr "Torneu-ho a provar."
374375
375376#: qml/Tutorial/TutorialRight.qml:31
376377msgid "To view open apps"
377−msgstr ""
378+msgstr "Per veure les aplicacions obertes"
378379
379380#: qml/Tutorial/TutorialRight.qml:32
380381msgid "Long swipe from the right edge."
381−msgstr ""
382+msgstr "Lliscament llarg des de la vora dreta."
382383
383384#: qml/Tutorial/TutorialRight.qml:122
384385msgid "View all your running tasks."
385−msgstr ""
386+msgstr "Mostra totes les tasques en execució."
386387
387388#: qml/Wizard/Page.qml:89
388389msgid "Back"
po/de.po+66−65
@@ -8,106 +8,107 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-27 13:29+0000\n"
11+"PO-Revision-Date: 2015-03-06 14:24+0000\n"
1212"Last-Translator: Niklas Wenzel <nikwen.developer@gmail.com>\n"
1313"Language-Team: German <de@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-07 05:45+0000\n"
19+"X-Generator: Launchpad (build 17383)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Passwort: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Verknüpfung anheften"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Verknüpfung entfernen"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Gerät gesperrt"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr ""
4141"Das Gerät wurde aufgrund zu vieler falscher Passworteingaben für längere "
4242"Zeit gesperrt."
4343
44−#: qml/Components/DelayedLockscreen.qml:65
44+#: qml/Components/DelayedLockscreen.qml:63
4545msgid "You have been locked out due to too many failed passcode attempts."
4646msgstr ""
4747"Das Gerät wurde aufgrund zu vieler falscher PIN-Eingaben für längere Zeit "
4848"gesperrt."
4949
50−#: qml/Components/DelayedLockscreen.qml:74
50+#: qml/Components/DelayedLockscreen.qml:72
5151#, qt-format
5252msgid "Please wait %1 minute and then try again…"
5353msgid_plural "Please wait %1 minutes and then try again…"
5454msgstr[0] "Bitte warten Sie %1 Minute und versuchen Sie es dann erneut..."
5555msgstr[1] "Bitte warten Sie %1 Minuten und versuchen Sie es dann erneut..."
5656
57−#: qml/Components/Dialogs.qml:87
57+#: qml/Components/Dialogs.qml:74
5858msgid "Log out"
5959msgstr "Abmelden"
6060
61−#: qml/Components/Dialogs.qml:88
61+#: qml/Components/Dialogs.qml:75
6262msgid "Are you sure you want to log out?"
6363msgstr "Sind Sie sicher, dass Sie sich abmelden wollen?"
6464
6565#: qml/Components/Dialogs.qml:90
6666msgid "Lock"
67−msgstr ""
67+msgstr "Sperren"
6868
6969#: qml/Components/Dialogs.qml:97
7070msgid "Log Out"
71−msgstr ""
71+msgstr "Abmelden"
7272
73−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
74−#: qml/Components/Dialogs.qml:191
73+#: qml/Components/Dialogs.qml:171
7574msgid "Cancel"
7675msgstr "Abbrechen"
7776
78−#: qml/Components/Dialogs.qml:116
77+#: qml/Components/Dialogs.qml:98
7978msgid "Shut down"
8079msgstr "Herunterfahren"
8180
82−#: qml/Components/Dialogs.qml:117
81+#: qml/Components/Dialogs.qml:99
8382msgid "Are you sure you want to shut down?"
8483msgstr "Sind Sie sicher, dass Sie herunterfahren wollen?"
8584
86−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
85+#: qml/Components/Dialogs.qml:123
8786msgid "Reboot"
8887msgstr "Neustart"
8988
9089#: qml/Components/Dialogs.qml:127
9190msgid "Shutdown"
92−msgstr ""
91+msgstr "Herunterfahren"
9392
94−#: qml/Components/Dialogs.qml:148
93+#: qml/Components/Dialogs.qml:124
9594msgid "Are you sure you want to reboot?"
9695msgstr "Sind Sie sicher, dass Sie neu starten wollen?"
9796
98−#: qml/Components/Dialogs.qml:150
97+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
98+#: qml/Components/Dialogs.qml:126
9999msgid "No"
100100msgstr "Nein"
101101
102−#: qml/Components/Dialogs.qml:156
102+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
103+#: qml/Components/Dialogs.qml:133
103104msgid "Yes"
104105msgstr "Ja"
105106
106−#: qml/Components/Dialogs.qml:170
107+#: qml/Components/Dialogs.qml:148
107108msgid "Power"
108109msgstr "Energie"
109110
110−#: qml/Components/Dialogs.qml:171
111+#: qml/Components/Dialogs.qml:149
111112msgid ""
112113"Are you sure you would like\n"
113114"to power off?"
@@ -115,52 +116,52 @@ msgstr ""
115116"Sind Sie sicher, dass Sie das\n"
116117"Gerät ausschalten wollen?"
117118
118−#: qml/Components/Dialogs.qml:173
119+#: qml/Components/Dialogs.qml:151
119120msgid "Power off"
120121msgstr "Ausschalten"
121122
122−#: qml/Components/Dialogs.qml:182
123+#: qml/Components/Dialogs.qml:161
123124msgid "Restart"
124125msgstr "Neustarten"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Return to Call"
128129msgstr "Zu Anruf zurückkehren"
129130
130−#: qml/Components/Lockscreen.qml:238
131+#: qml/Components/Lockscreen.qml:223
131132msgid "Emergency Call"
132133msgstr "Notruf"
133134
134−#: qml/Components/Lockscreen.qml:270
135+#: qml/Components/Lockscreen.qml:255
135136msgid "OK"
136137msgstr "OK"
137138
138−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
139+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
139140msgid "See less"
140141msgstr "Weniger ansehen"
141142
142−#: qml/Dash/GenericScopeView.qml:528
143+#: qml/Dash/GenericScopeView.qml:434
143144msgid "See all"
144145msgstr "Alle anzeigen"
145146
146−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
147+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
147148#: qml/Panel/SearchIndicator.qml:27
148149msgid "Search"
149150msgstr "Suchen"
150151
151−#: qml/Dash/PageHeader.qml:269
152+#: qml/Dash/PageHeader.qml:261
152153msgid "Store"
153154msgstr "Store"
154155
155−#: qml/Dash/PageHeader.qml:286
156+#: qml/Dash/PageHeader.qml:278
156157msgid "Settings"
157158msgstr "Einstellungen"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Remove from Favorites"
161162msgstr "Aus den Favoriten entfernen"
162163
163−#: qml/Dash/PageHeader.qml:293
164+#: qml/Dash/PageHeader.qml:285
164165msgid "Add to Favorites"
165166msgstr "Zu Favoriten hinzufügen"
166167
@@ -196,43 +197,43 @@ msgstr "Zum Aktualisieren loslassen …"
196197msgid "Enable location data"
197198msgstr "Standortdaten aktivieren"
198199
199−#: qml/Dash/ScopesList.qml:66
200+#: qml/Dash/ScopesList.qml:63
200201msgid "Manage"
201202msgstr "Verwalten"
202203
203−#: qml/Dash/ScopesList.qml:112
204+#: qml/Dash/ScopesList.qml:107
204205msgid "Home"
205206msgstr "Startseite"
206207
207−#: qml/Dash/ScopesList.qml:113
208+#: qml/Dash/ScopesList.qml:108
208209msgid "Also installed"
209210msgstr "Ebenfalls installiert"
210211
211−#: qml/Greeter/CoverPage.qml:107
212+#: qml/Greeter/Greeter.qml:174
212213msgid "Unlock"
213214msgstr "Entsperren"
214215
215216#: qml/Greeter/LoginList.qml:236
216217msgid "Retry"
217−msgstr ""
218+msgstr "Erneut versuchen"
218219
219220#: qml/Greeter/LoginList.qml:237
220221msgid "Tap to unlock"
221−msgstr ""
222+msgstr "Zum Entsperren tippen"
222223
223−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
224+#: qml/Shell.qml:444
224225msgid "Sorry, incorrect passphrase."
225226msgstr "Entschuldigung, falsches Passwort."
226227
227−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
228+#: qml/Shell.qml:445
228229msgid "Sorry, incorrect passcode."
229230msgstr "Falsche PIN"
230231
231−#: qml/Greeter/NarrowView.qml:55
232+#: qml/Shell.qml:446
232233msgid "This will be your last attempt."
233234msgstr "Dies ist Ihr letzter Versuch."
234235
235−#: qml/Greeter/NarrowView.qml:57
236+#: qml/Shell.qml:448
236237msgid ""
237238"If passphrase is entered incorrectly, your phone will conduct a factory "
238239"reset and all personal data will be deleted."
@@ -240,7 +241,7 @@ msgstr ""
240241"Wird das Passwort falsch eingegeben, wird das Telefon auf den Werkszustand "
241242"zurückgesetzt und alle Daten werden gelöscht."
242243
243−#: qml/Greeter/NarrowView.qml:58
244+#: qml/Shell.qml:449
244245msgid ""
245246"If passcode is entered incorrectly, your phone will conduct a factory reset "
246247"and all personal data will be deleted."
@@ -248,33 +249,33 @@ msgstr ""
248249"Wird die PIN falsch eingegeben, wird das Telefon auf den Werkszustand "
249250"zurückgesetzt und alle Daten werden gelöscht."
250251
251−#: qml/Greeter/NarrowView.qml:115
252+#: qml/Shell.qml:402
252253#, qt-format
253254msgid "Enter %1"
254255msgstr "%1 eingeben"
255256
256−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
257+#: qml/Shell.qml:394
257258msgid "Enter passphrase"
258259msgstr "Passwort eingeben"
259260
260−#: qml/Greeter/NarrowView.qml:117
261+#: qml/Shell.qml:398
261262msgid "Enter passcode"
262263msgstr "PIN eingeben"
263264
264−#: qml/Greeter/NarrowView.qml:118
265+#: qml/Shell.qml:403
265266#, qt-format
266267msgid "Sorry, incorrect %1"
267268msgstr "%1 falsch"
268269
269−#: qml/Greeter/NarrowView.qml:119
270+#: qml/Shell.qml:395
270271msgid "Sorry, incorrect passphrase"
271272msgstr "Das Passwort ist nicht korrekt"
272273
273−#: qml/Greeter/NarrowView.qml:120
274+#: qml/Shell.qml:396
274275msgid "Please re-enter"
275276msgstr "Bitte erneut eingeben"
276277
277−#: qml/Greeter/NarrowView.qml:121
278+#: qml/Shell.qml:399
278279msgid "Sorry, incorrect passcode"
279280msgstr "Falsches Passwort"
280281
@@ -337,35 +338,35 @@ msgstr ""
337338
338339#: qml/Tutorial/TutorialBottomFinish.qml:25
339340msgid "Tap here to finish."
340−msgstr ""
341+msgstr "Zum Beenden hier tippen."
341342
342343#: qml/Tutorial/TutorialBottom.qml:28
343344msgid "Open special menus"
344−msgstr ""
345+msgstr "Spezielle Menüs öffnen"
345346
346347#: qml/Tutorial/TutorialBottom.qml:29
347348msgid "Swipe up from the bottom edge."
348−msgstr ""
349+msgstr "Wischen Sie von der unteren Bildschirmkante nach oben."
349350
350351#: qml/Tutorial/TutorialLeftFinish.qml:24
351352msgid "These are the shortcuts to favorite apps"
352−msgstr ""
353+msgstr "Dies sind die Verknüpfungen zu Ihren favorisierten Anwendungen."
353354
354355#: qml/Tutorial/TutorialLeftFinish.qml:25 qml/Tutorial/TutorialRight.qml:144
355356msgid "Tap here to continue."
356−msgstr ""
357+msgstr "Zum Fortfahren hier tippen."
357358
358359#: qml/Tutorial/TutorialLeft.qml:26
359360msgid "Open the launcher"
360−msgstr ""
361+msgstr "Öffnen Sie den Starter."
361362
362363#: qml/Tutorial/TutorialLeft.qml:27
363364msgid "Short swipe from the left edge."
364−msgstr ""
365+msgstr "Kurzer Wisch von der linken Bildschirmkante."
365366
366367#: qml/Tutorial/TutorialPage.qml:178
367368msgid "You almost got it!"
368−msgstr ""
369+msgstr "Fast geschafft!"
369370
370371#: qml/Tutorial/TutorialPage.qml:195
371372msgid "Try again."
@@ -373,11 +374,11 @@ msgstr "Versuchen Sie es noch einmal."
373374
374375#: qml/Tutorial/TutorialRight.qml:31
375376msgid "To view open apps"
376−msgstr ""
377+msgstr "Zum Ansehen offener Anwendungen"
377378
378379#: qml/Tutorial/TutorialRight.qml:32
379380msgid "Long swipe from the right edge."
380−msgstr ""
381+msgstr "Langer Wisch von der rechten Bildschirmkante."
381382
382383#: qml/Tutorial/TutorialRight.qml:122
383384msgid "View all your running tasks."
po/el.po+71−69
@@ -8,106 +8,107 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-15 20:45+0000\n"
12−"Last-Translator: Filippos Kolyvas <Unknown>\n"
11+"PO-Revision-Date: 2015-03-15 22:25+0000\n"
12+"Last-Translator: Simos Xenitellis <Unknown>\n"
1313"Language-Team: Greek <el@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-16 06:02+0000\n"
19+"X-Generator: Launchpad (build 17389)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Κωδικός πρόσβασης: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Καρφίτσωμα συντόμευσης"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Ξεκαρφίτσωμα συντόμευσης"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Κλειδωμένη συσκευή"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr ""
4141"Δεν σας επιτρέπεται η πρόσβαση καθώς προσπαθήσατε επανηλλημένως να "
4242"συνδεθείτε με λάθος κωδικό."
4343
44−#: qml/Components/DelayedLockscreen.qml:65
44+#: qml/Components/DelayedLockscreen.qml:63
4545msgid "You have been locked out due to too many failed passcode attempts."
4646msgstr ""
4747"Δεν σας επιτρέπεται η πρόσβαση καθώς προσπαθήσατε επανηλλημένως να "
4848"συνδεθείτε με λάθος κωδικό."
4949
50−#: qml/Components/DelayedLockscreen.qml:74
50+#: qml/Components/DelayedLockscreen.qml:72
5151#, qt-format
5252msgid "Please wait %1 minute and then try again…"
5353msgid_plural "Please wait %1 minutes and then try again…"
5454msgstr[0] "Παρακαλώ περιμένετε %1 λεπτό και δοκιμάστε ξανά..."
5555msgstr[1] "Παρακαλώ περιμένετε %1 λεπτά και δοκιμάστε ξανά..."
5656
57−#: qml/Components/Dialogs.qml:87
57+#: qml/Components/Dialogs.qml:74
5858msgid "Log out"
5959msgstr "Αποσύνδεση"
6060
61−#: qml/Components/Dialogs.qml:88
61+#: qml/Components/Dialogs.qml:75
6262msgid "Are you sure you want to log out?"
6363msgstr "Επιθυμείτε σίγουρα να αποσυνδεθείτε;"
6464
6565#: qml/Components/Dialogs.qml:90
6666msgid "Lock"
67−msgstr ""
67+msgstr "Κλείδωμα"
6868
6969#: qml/Components/Dialogs.qml:97
7070msgid "Log Out"
71−msgstr ""
71+msgstr "Αποσύνδεση"
7272
73−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
74−#: qml/Components/Dialogs.qml:191
73+#: qml/Components/Dialogs.qml:171
7574msgid "Cancel"
7675msgstr "Ακύρωση"
7776
78−#: qml/Components/Dialogs.qml:116
77+#: qml/Components/Dialogs.qml:98
7978msgid "Shut down"
8079msgstr "Τερματισμός λειτουργίας"
8180
82−#: qml/Components/Dialogs.qml:117
81+#: qml/Components/Dialogs.qml:99
8382msgid "Are you sure you want to shut down?"
8483msgstr "Επιθυμείτε σίγουρα τερματισμό;"
8584
86−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
85+#: qml/Components/Dialogs.qml:123
8786msgid "Reboot"
8887msgstr "Επανεκκίνηση"
8988
9089#: qml/Components/Dialogs.qml:127
9190msgid "Shutdown"
92−msgstr ""
91+msgstr "Τερματισμός"
9392
94−#: qml/Components/Dialogs.qml:148
93+#: qml/Components/Dialogs.qml:124
9594msgid "Are you sure you want to reboot?"
9695msgstr "Επιθυμείτε σίγουρα επανεκκίνηση;"
9796
98−#: qml/Components/Dialogs.qml:150
97+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
98+#: qml/Components/Dialogs.qml:126
9999msgid "No"
100100msgstr "Όχι"
101101
102−#: qml/Components/Dialogs.qml:156
102+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
103+#: qml/Components/Dialogs.qml:133
103104msgid "Yes"
104105msgstr "Ναι"
105106
106−#: qml/Components/Dialogs.qml:170
107+#: qml/Components/Dialogs.qml:148
107108msgid "Power"
108109msgstr "Ενέργεια"
109110
110−#: qml/Components/Dialogs.qml:171
111+#: qml/Components/Dialogs.qml:149
111112msgid ""
112113"Are you sure you would like\n"
113114"to power off?"
@@ -115,52 +116,52 @@ msgstr ""
115116"Επιθυμείτε σίγουρα τον\n"
116117"τερματισμό λειτουργίας;"
117118
118−#: qml/Components/Dialogs.qml:173
119+#: qml/Components/Dialogs.qml:151
119120msgid "Power off"
120121msgstr "Τερματισμός"
121122
122−#: qml/Components/Dialogs.qml:182
123+#: qml/Components/Dialogs.qml:161
123124msgid "Restart"
124125msgstr "Επανεκκίνηση"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Return to Call"
128129msgstr "Επιστροφή στην κλήση"
129130
130−#: qml/Components/Lockscreen.qml:238
131+#: qml/Components/Lockscreen.qml:223
131132msgid "Emergency Call"
132133msgstr "Κλήση έκτακτης ανάγκης"
133134
134−#: qml/Components/Lockscreen.qml:270
135+#: qml/Components/Lockscreen.qml:255
135136msgid "OK"
136137msgstr "OK"
137138
138−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
139+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
139140msgid "See less"
140141msgstr "Λιγότερα"
141142
142−#: qml/Dash/GenericScopeView.qml:528
143+#: qml/Dash/GenericScopeView.qml:434
143144msgid "See all"
144145msgstr "Εμφάνιση όλων"
145146
146−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
147+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
147148#: qml/Panel/SearchIndicator.qml:27
148149msgid "Search"
149150msgstr "Αναζήτηση"
150151
151−#: qml/Dash/PageHeader.qml:269
152+#: qml/Dash/PageHeader.qml:261
152153msgid "Store"
153154msgstr "Κατάστημα"
154155
155−#: qml/Dash/PageHeader.qml:286
156+#: qml/Dash/PageHeader.qml:278
156157msgid "Settings"
157158msgstr "Ρυθμίσεις"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Remove from Favorites"
161162msgstr "Αφαίρεση από τα αγαπημένα"
162163
163−#: qml/Dash/PageHeader.qml:293
164+#: qml/Dash/PageHeader.qml:285
164165msgid "Add to Favorites"
165166msgstr "Προσθήκη στα αγαπημένα"
166167
@@ -194,45 +195,45 @@ msgstr "Αφήστε για ανανέωση…"
194195
195196#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
196197msgid "Enable location data"
197−msgstr ""
198+msgstr "Ενεργοποίηση δεδομένων τοποθεσίας"
198199
199−#: qml/Dash/ScopesList.qml:66
200+#: qml/Dash/ScopesList.qml:63
200201msgid "Manage"
201202msgstr "Διαχείριση"
202203
203−#: qml/Dash/ScopesList.qml:112
204+#: qml/Dash/ScopesList.qml:107
204205msgid "Home"
205206msgstr "Αρχή"
206207
207−#: qml/Dash/ScopesList.qml:113
208+#: qml/Dash/ScopesList.qml:108
208209msgid "Also installed"
209210msgstr "Επίσης εγκατεστημένα"
210211
211−#: qml/Greeter/CoverPage.qml:107
212+#: qml/Greeter/Greeter.qml:174
212213msgid "Unlock"
213214msgstr "Ξεκλείδωμα"
214215
215216#: qml/Greeter/LoginList.qml:236
216217msgid "Retry"
217−msgstr ""
218+msgstr "Επανάληψη"
218219
219220#: qml/Greeter/LoginList.qml:237
220221msgid "Tap to unlock"
221−msgstr ""
222+msgstr "Ακουμπήστε για να ξεκλειδώσετε"
222223
223−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
224+#: qml/Shell.qml:444
224225msgid "Sorry, incorrect passphrase."
225226msgstr "Συγνώμη, μη έγκυρη συνθηματική φράση."
226227
227−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
228+#: qml/Shell.qml:445
228229msgid "Sorry, incorrect passcode."
229230msgstr "Συγνώμη, μη έγκυρος κωδικός πρόσβασης."
230231
231−#: qml/Greeter/NarrowView.qml:55
232+#: qml/Shell.qml:446
232233msgid "This will be your last attempt."
233234msgstr "Αυτή θα είναι η τελευταία σας προσπάθεια."
234235
235−#: qml/Greeter/NarrowView.qml:57
236+#: qml/Shell.qml:448
236237msgid ""
237238"If passphrase is entered incorrectly, your phone will conduct a factory "
238239"reset and all personal data will be deleted."
@@ -241,7 +242,7 @@ msgstr ""
241242"κάνει επαναφορά των εργοστασιακών ρυθμίσεων και όλα τα δεδομένα σας θα "
242243"διαγραφούν."
243244
244−#: qml/Greeter/NarrowView.qml:58
245+#: qml/Shell.qml:449
245246msgid ""
246247"If passcode is entered incorrectly, your phone will conduct a factory reset "
247248"and all personal data will be deleted."
@@ -250,33 +251,33 @@ msgstr ""
250251"κάνει επαναφορά των εργοστασιακών ρυθμίσεων και όλα τα δεδομένα σας θα "
251252"διαγραφούν."
252253
253−#: qml/Greeter/NarrowView.qml:115
254+#: qml/Shell.qml:402
254255#, qt-format
255256msgid "Enter %1"
256257msgstr "Εισάγετε %1"
257258
258−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
259+#: qml/Shell.qml:394
259260msgid "Enter passphrase"
260261msgstr "Εισαγωγή συνθηματικού"
261262
262−#: qml/Greeter/NarrowView.qml:117
263+#: qml/Shell.qml:398
263264msgid "Enter passcode"
264265msgstr "Εισαγωγή κωδικού"
265266
266−#: qml/Greeter/NarrowView.qml:118
267+#: qml/Shell.qml:403
267268#, qt-format
268269msgid "Sorry, incorrect %1"
269270msgstr "Συγνώμη, μη έγκυρο %1"
270271
271−#: qml/Greeter/NarrowView.qml:119
272+#: qml/Shell.qml:395
272273msgid "Sorry, incorrect passphrase"
273274msgstr "Συγνώμη, μη έγκυρο συνθηματικό"
274275
275−#: qml/Greeter/NarrowView.qml:120
276+#: qml/Shell.qml:396
276277msgid "Please re-enter"
277278msgstr "Παρακαλώ πληκτρολογήστε ξανά"
278279
279−#: qml/Greeter/NarrowView.qml:121
280+#: qml/Shell.qml:399
280281msgid "Sorry, incorrect passcode"
281282msgstr "Συγνώμη, μη έγκυρος κωδικός πρόσβασης"
282283
@@ -335,54 +336,55 @@ msgstr "Περιαγωγή"
335336#: qml/Tutorial/TutorialBottomFinish.qml:24
336337msgid "This action does different things for different apps"
337338msgstr ""
339+"Αυτή η ενέργεια κάνει διαφορετικά πράγματα για διαφορετικές εφαρμογές"
338340
339341#: qml/Tutorial/TutorialBottomFinish.qml:25
340342msgid "Tap here to finish."
341−msgstr ""
343+msgstr "Πατήστε εδώ για τέλος."
342344
343345#: qml/Tutorial/TutorialBottom.qml:28
344346msgid "Open special menus"
345−msgstr ""
347+msgstr "Άνοιγμα ειδικών μενού"
346348
347349#: qml/Tutorial/TutorialBottom.qml:29
348350msgid "Swipe up from the bottom edge."
349−msgstr ""
351+msgstr "Σύρετε από την κάτω άκρη προς τα πάνω."
350352
351353#: qml/Tutorial/TutorialLeftFinish.qml:24
352354msgid "These are the shortcuts to favorite apps"
353−msgstr ""
355+msgstr "Είναι συντομεύσεις για αγαπημένες εφαρμογές"
354356
355357#: qml/Tutorial/TutorialLeftFinish.qml:25 qml/Tutorial/TutorialRight.qml:144
356358msgid "Tap here to continue."
357−msgstr ""
359+msgstr "Πατήστε εδώ για συνέχεια."
358360
359361#: qml/Tutorial/TutorialLeft.qml:26
360362msgid "Open the launcher"
361−msgstr ""
363+msgstr "Άνοιγμα του εκκινητή"
362364
363365#: qml/Tutorial/TutorialLeft.qml:27
364366msgid "Short swipe from the left edge."
365−msgstr ""
367+msgstr "Σύρετε ελάχιστα από την αριστερή άκρη."
366368
367369#: qml/Tutorial/TutorialPage.qml:178
368370msgid "You almost got it!"
369−msgstr ""
371+msgstr "Σχεδόν το είχατε!"
370372
371373#: qml/Tutorial/TutorialPage.qml:195
372374msgid "Try again."
373−msgstr ""
375+msgstr "Δοκιμάστε πάλι."
374376
375377#: qml/Tutorial/TutorialRight.qml:31
376378msgid "To view open apps"
377−msgstr ""
379+msgstr "Για να δείτε τις ανοιχτές εφαρμογές"
378380
379381#: qml/Tutorial/TutorialRight.qml:32
380382msgid "Long swipe from the right edge."
381−msgstr ""
383+msgstr "Σύρετε παρατεταμένα από την δεξιά άκρη."
382384
383385#: qml/Tutorial/TutorialRight.qml:122
384386msgid "View all your running tasks."
385−msgstr ""
387+msgstr "Δείτε όλες τις εργασίες που εκτελούνται."
386388
387389#: qml/Wizard/Page.qml:89
388390msgid "Back"
po/en_AU.po+56−55
@@ -8,102 +8,103 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-20 18:14+0000\n"
11+"PO-Revision-Date: 2015-03-07 08:00+0000\n"
1212"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
1313"Language-Team: English (Australia) <en_AU@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:57+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-08 05:30+0000\n"
19+"X-Generator: Launchpad (build 17383)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Password: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Pin shortcut"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Unpin shortcut"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Device Locked"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr "You have been locked out due to too many failed passphrase attempts."
4141
42−#: qml/Components/DelayedLockscreen.qml:65
42+#: qml/Components/DelayedLockscreen.qml:63
4343msgid "You have been locked out due to too many failed passcode attempts."
4444msgstr "You have been locked out due to too many failed passcode attempts."
4545
46−#: qml/Components/DelayedLockscreen.qml:74
46+#: qml/Components/DelayedLockscreen.qml:72
4747#, qt-format
4848msgid "Please wait %1 minute and then try again…"
4949msgid_plural "Please wait %1 minutes and then try again…"
5050msgstr[0] "Please wait %1 minute and then try again…"
5151msgstr[1] "Please wait %1 minutes and then try again…"
5252
53−#: qml/Components/Dialogs.qml:87
53+#: qml/Components/Dialogs.qml:74
5454msgid "Log out"
5555msgstr "Log out"
5656
57−#: qml/Components/Dialogs.qml:88
57+#: qml/Components/Dialogs.qml:75
5858msgid "Are you sure you want to log out?"
5959msgstr "Are you sure you want to log out?"
6060
6161#: qml/Components/Dialogs.qml:90
6262msgid "Lock"
63−msgstr ""
63+msgstr "Lock"
6464
6565#: qml/Components/Dialogs.qml:97
6666msgid "Log Out"
67−msgstr ""
67+msgstr "Log Out"
6868
69−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
70−#: qml/Components/Dialogs.qml:191
69+#: qml/Components/Dialogs.qml:171
7170msgid "Cancel"
7271msgstr "Cancel"
7372
74−#: qml/Components/Dialogs.qml:116
73+#: qml/Components/Dialogs.qml:98
7574msgid "Shut down"
7675msgstr "Shut down"
7776
78−#: qml/Components/Dialogs.qml:117
77+#: qml/Components/Dialogs.qml:99
7978msgid "Are you sure you want to shut down?"
8079msgstr "Are you sure you want to shut down?"
8180
82−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
81+#: qml/Components/Dialogs.qml:123
8382msgid "Reboot"
8483msgstr "Reboot"
8584
8685#: qml/Components/Dialogs.qml:127
8786msgid "Shutdown"
88−msgstr ""
87+msgstr "Shutdown"
8988
90−#: qml/Components/Dialogs.qml:148
89+#: qml/Components/Dialogs.qml:124
9190msgid "Are you sure you want to reboot?"
9291msgstr "Are you sure you want to reboot?"
9392
94−#: qml/Components/Dialogs.qml:150
93+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
94+#: qml/Components/Dialogs.qml:126
9595msgid "No"
9696msgstr "No"
9797
98−#: qml/Components/Dialogs.qml:156
98+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
99+#: qml/Components/Dialogs.qml:133
99100msgid "Yes"
100101msgstr "Yes"
101102
102−#: qml/Components/Dialogs.qml:170
103+#: qml/Components/Dialogs.qml:148
103104msgid "Power"
104105msgstr "Power"
105106
106−#: qml/Components/Dialogs.qml:171
107+#: qml/Components/Dialogs.qml:149
107108msgid ""
108109"Are you sure you would like\n"
109110"to power off?"
@@ -111,52 +112,52 @@ msgstr ""
111112"Are you sure you would like\n"
112113"to power off?"
113114
114−#: qml/Components/Dialogs.qml:173
115+#: qml/Components/Dialogs.qml:151
115116msgid "Power off"
116117msgstr "Power off"
117118
118−#: qml/Components/Dialogs.qml:182
119+#: qml/Components/Dialogs.qml:161
119120msgid "Restart"
120121msgstr "Restart"
121122
122−#: qml/Components/Lockscreen.qml:238
123+#: qml/Components/Lockscreen.qml:223
123124msgid "Return to Call"
124125msgstr "Return to Call"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Emergency Call"
128129msgstr "Emergency Call"
129130
130−#: qml/Components/Lockscreen.qml:270
131+#: qml/Components/Lockscreen.qml:255
131132msgid "OK"
132133msgstr "OK"
133134
134−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
135+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
135136msgid "See less"
136137msgstr "See less"
137138
138−#: qml/Dash/GenericScopeView.qml:528
139+#: qml/Dash/GenericScopeView.qml:434
139140msgid "See all"
140141msgstr "See all"
141142
142−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
143+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
143144#: qml/Panel/SearchIndicator.qml:27
144145msgid "Search"
145146msgstr "Search"
146147
147−#: qml/Dash/PageHeader.qml:269
148+#: qml/Dash/PageHeader.qml:261
148149msgid "Store"
149150msgstr "Store"
150151
151−#: qml/Dash/PageHeader.qml:286
152+#: qml/Dash/PageHeader.qml:278
152153msgid "Settings"
153154msgstr "Settings"
154155
155−#: qml/Dash/PageHeader.qml:293
156+#: qml/Dash/PageHeader.qml:285
156157msgid "Remove from Favorites"
157158msgstr "Remove from Favourites"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Add to Favorites"
161162msgstr "Add to Favourites"
162163
@@ -192,43 +193,43 @@ msgstr "Release to refresh…"
192193msgid "Enable location data"
193194msgstr "Enable location data"
194195
195−#: qml/Dash/ScopesList.qml:66
196+#: qml/Dash/ScopesList.qml:63
196197msgid "Manage"
197198msgstr "Manage"
198199
199−#: qml/Dash/ScopesList.qml:112
200+#: qml/Dash/ScopesList.qml:107
200201msgid "Home"
201202msgstr "Home"
202203
203−#: qml/Dash/ScopesList.qml:113
204+#: qml/Dash/ScopesList.qml:108
204205msgid "Also installed"
205206msgstr "Also installed"
206207
207−#: qml/Greeter/CoverPage.qml:107
208+#: qml/Greeter/Greeter.qml:174
208209msgid "Unlock"
209210msgstr "Unlock"
210211
211212#: qml/Greeter/LoginList.qml:236
212213msgid "Retry"
213−msgstr ""
214+msgstr "Retry"
214215
215216#: qml/Greeter/LoginList.qml:237
216217msgid "Tap to unlock"
217−msgstr ""
218+msgstr "Tap to unlock"
218219
219−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
220+#: qml/Shell.qml:444
220221msgid "Sorry, incorrect passphrase."
221222msgstr "Sorry, incorrect passphrase."
222223
223−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
224+#: qml/Shell.qml:445
224225msgid "Sorry, incorrect passcode."
225226msgstr "Sorry, incorrect passcode."
226227
227−#: qml/Greeter/NarrowView.qml:55
228+#: qml/Shell.qml:446
228229msgid "This will be your last attempt."
229230msgstr "This will be your last attempt."
230231
231−#: qml/Greeter/NarrowView.qml:57
232+#: qml/Shell.qml:448
232233msgid ""
233234"If passphrase is entered incorrectly, your phone will conduct a factory "
234235"reset and all personal data will be deleted."
@@ -236,7 +237,7 @@ msgstr ""
236237"If passphrase is entered incorrectly, your phone will conduct a factory "
237238"reset and all personal data will be deleted."
238239
239−#: qml/Greeter/NarrowView.qml:58
240+#: qml/Shell.qml:449
240241msgid ""
241242"If passcode is entered incorrectly, your phone will conduct a factory reset "
242243"and all personal data will be deleted."
@@ -244,33 +245,33 @@ msgstr ""
244245"If passcode is entered incorrectly, your phone will conduct a factory reset "
245246"and all personal data will be deleted."
246247
247−#: qml/Greeter/NarrowView.qml:115
248+#: qml/Shell.qml:402
248249#, qt-format
249250msgid "Enter %1"
250251msgstr "Enter %1"
251252
252−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
253+#: qml/Shell.qml:394
253254msgid "Enter passphrase"
254255msgstr "Enter passphrase"
255256
256−#: qml/Greeter/NarrowView.qml:117
257+#: qml/Shell.qml:398
257258msgid "Enter passcode"
258259msgstr "Enter passcode"
259260
260−#: qml/Greeter/NarrowView.qml:118
261+#: qml/Shell.qml:403
261262#, qt-format
262263msgid "Sorry, incorrect %1"
263264msgstr "Sorry, incorrect %1"
264265
265−#: qml/Greeter/NarrowView.qml:119
266+#: qml/Shell.qml:395
266267msgid "Sorry, incorrect passphrase"
267268msgstr "Sorry, incorrect passphrase"
268269
269−#: qml/Greeter/NarrowView.qml:120
270+#: qml/Shell.qml:396
270271msgid "Please re-enter"
271272msgstr "Please re-enter"
272273
273−#: qml/Greeter/NarrowView.qml:121
274+#: qml/Shell.qml:399
274275msgid "Sorry, incorrect passcode"
275276msgstr "Sorry, incorrect passcode"
276277
po/es.po+63−62
@@ -8,106 +8,107 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-17 06:57+0000\n"
12−"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
11+"PO-Revision-Date: 2015-03-09 18:21+0000\n"
12+"Last-Translator: Jose Luis Tirado <Unknown>\n"
1313"Language-Team: Spanish <es@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:57+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-10 05:47+0000\n"
19+"X-Generator: Launchpad (build 17389)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Contraseña: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Anclar"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Desanclar"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Dispositivo bloqueado"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr ""
4141"Se ha proporcionado una contraseña errónea demasiadas veces. Se ha bloqueado "
4242"el dispositivo."
4343
44−#: qml/Components/DelayedLockscreen.qml:65
44+#: qml/Components/DelayedLockscreen.qml:63
4545msgid "You have been locked out due to too many failed passcode attempts."
4646msgstr ""
4747"Se ha bloqueado el dispositivo debido al gran número de intentos fallidos de "
4848"desbloqueo."
4949
50−#: qml/Components/DelayedLockscreen.qml:74
50+#: qml/Components/DelayedLockscreen.qml:72
5151#, qt-format
5252msgid "Please wait %1 minute and then try again…"
5353msgid_plural "Please wait %1 minutes and then try again…"
5454msgstr[0] "Espere %1 minuto e inténtelo de nuevo..."
5555msgstr[1] "Espere %1 minutos e inténtelo de nuevo..."
5656
57−#: qml/Components/Dialogs.qml:87
57+#: qml/Components/Dialogs.qml:74
5858msgid "Log out"
5959msgstr "Cerrar la sesión"
6060
61−#: qml/Components/Dialogs.qml:88
61+#: qml/Components/Dialogs.qml:75
6262msgid "Are you sure you want to log out?"
6363msgstr "̉¿Está seguro de que quiere cerrar la sesión?"
6464
6565#: qml/Components/Dialogs.qml:90
6666msgid "Lock"
67−msgstr ""
67+msgstr "Bloquear"
6868
6969#: qml/Components/Dialogs.qml:97
7070msgid "Log Out"
71−msgstr ""
71+msgstr "Cerrar sesión"
7272
73−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
74−#: qml/Components/Dialogs.qml:191
73+#: qml/Components/Dialogs.qml:171
7574msgid "Cancel"
7675msgstr "Cancelar"
7776
78−#: qml/Components/Dialogs.qml:116
77+#: qml/Components/Dialogs.qml:98
7978msgid "Shut down"
8079msgstr "Apagar"
8180
82−#: qml/Components/Dialogs.qml:117
81+#: qml/Components/Dialogs.qml:99
8382msgid "Are you sure you want to shut down?"
8483msgstr "¿Está seguro de que quiere apagar?"
8584
86−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
85+#: qml/Components/Dialogs.qml:123
8786msgid "Reboot"
8887msgstr "Reiniciar"
8988
9089#: qml/Components/Dialogs.qml:127
9190msgid "Shutdown"
92−msgstr ""
91+msgstr "Apagar"
9392
94−#: qml/Components/Dialogs.qml:148
93+#: qml/Components/Dialogs.qml:124
9594msgid "Are you sure you want to reboot?"
9695msgstr "¿Esta seguro de que quiere reiniciar?"
9796
98−#: qml/Components/Dialogs.qml:150
97+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
98+#: qml/Components/Dialogs.qml:126
9999msgid "No"
100100msgstr "No"
101101
102−#: qml/Components/Dialogs.qml:156
102+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
103+#: qml/Components/Dialogs.qml:133
103104msgid "Yes"
104105msgstr "Sí"
105106
106−#: qml/Components/Dialogs.qml:170
107+#: qml/Components/Dialogs.qml:148
107108msgid "Power"
108109msgstr "Apagar"
109110
110−#: qml/Components/Dialogs.qml:171
111+#: qml/Components/Dialogs.qml:149
111112msgid ""
112113"Are you sure you would like\n"
113114"to power off?"
@@ -115,52 +116,52 @@ msgstr ""
115116"¿Está seguro de que quiere\n"
116117"apagar?"
117118
118−#: qml/Components/Dialogs.qml:173
119+#: qml/Components/Dialogs.qml:151
119120msgid "Power off"
120121msgstr "Apagar"
121122
122−#: qml/Components/Dialogs.qml:182
123+#: qml/Components/Dialogs.qml:161
123124msgid "Restart"
124125msgstr "Reiniciar"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Return to Call"
128129msgstr "Volver a la llamada"
129130
130−#: qml/Components/Lockscreen.qml:238
131+#: qml/Components/Lockscreen.qml:223
131132msgid "Emergency Call"
132133msgstr "Llamada de emergencia"
133134
134−#: qml/Components/Lockscreen.qml:270
135+#: qml/Components/Lockscreen.qml:255
135136msgid "OK"
136137msgstr "Aceptar"
137138
138−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
139+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
139140msgid "See less"
140141msgstr "Ver menos"
141142
142−#: qml/Dash/GenericScopeView.qml:528
143+#: qml/Dash/GenericScopeView.qml:434
143144msgid "See all"
144145msgstr "Ver todo"
145146
146−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
147+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
147148#: qml/Panel/SearchIndicator.qml:27
148149msgid "Search"
149150msgstr "Buscar"
150151
151−#: qml/Dash/PageHeader.qml:269
152+#: qml/Dash/PageHeader.qml:261
152153msgid "Store"
153154msgstr "Tienda"
154155
155−#: qml/Dash/PageHeader.qml:286
156+#: qml/Dash/PageHeader.qml:278
156157msgid "Settings"
157158msgstr "Configuración"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Remove from Favorites"
161162msgstr "Quitar de favoritos"
162163
163−#: qml/Dash/PageHeader.qml:293
164+#: qml/Dash/PageHeader.qml:285
164165msgid "Add to Favorites"
165166msgstr "Añadir a favoritos"
166167
@@ -196,43 +197,43 @@ msgstr "Suelte para actualizar…"
196197msgid "Enable location data"
197198msgstr "Activar datos de ubicación"
198199
199−#: qml/Dash/ScopesList.qml:66
200+#: qml/Dash/ScopesList.qml:63
200201msgid "Manage"
201202msgstr "Administrar"
202203
203−#: qml/Dash/ScopesList.qml:112
204+#: qml/Dash/ScopesList.qml:107
204205msgid "Home"
205206msgstr "Inicio"
206207
207−#: qml/Dash/ScopesList.qml:113
208+#: qml/Dash/ScopesList.qml:108
208209msgid "Also installed"
209210msgstr "También instalados"
210211
211−#: qml/Greeter/CoverPage.qml:107
212+#: qml/Greeter/Greeter.qml:174
212213msgid "Unlock"
213214msgstr "Desbloquear"
214215
215216#: qml/Greeter/LoginList.qml:236
216217msgid "Retry"
217−msgstr ""
218+msgstr "Reintentar"
218219
219220#: qml/Greeter/LoginList.qml:237
220221msgid "Tap to unlock"
221−msgstr ""
222+msgstr "Toque para desbloquear"
222223
223−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
224+#: qml/Shell.qml:444
224225msgid "Sorry, incorrect passphrase."
225226msgstr "La contraseña es incorrecta."
226227
227−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
228+#: qml/Shell.qml:445
228229msgid "Sorry, incorrect passcode."
229230msgstr "Código de acceso incorrecto."
230231
231−#: qml/Greeter/NarrowView.qml:55
232+#: qml/Shell.qml:446
232233msgid "This will be your last attempt."
233234msgstr "Este será su último intento."
234235
235−#: qml/Greeter/NarrowView.qml:57
236+#: qml/Shell.qml:448
236237msgid ""
237238"If passphrase is entered incorrectly, your phone will conduct a factory "
238239"reset and all personal data will be deleted."
@@ -240,7 +241,7 @@ msgstr ""
240241"Si se introduce la frase incorrectamente, el teléfono volverá a la "
241242"configuración de fábrica y se perderán todos los datos personales."
242243
243−#: qml/Greeter/NarrowView.qml:58
244+#: qml/Shell.qml:449
244245msgid ""
245246"If passcode is entered incorrectly, your phone will conduct a factory reset "
246247"and all personal data will be deleted."
@@ -248,33 +249,33 @@ msgstr ""
248249"Si se introduce el código incorrectamente, el teléfono volverá a la "
249250"configuración de fábrica y se perderán todos los datos personales."
250251
251−#: qml/Greeter/NarrowView.qml:115
252+#: qml/Shell.qml:402
252253#, qt-format
253254msgid "Enter %1"
254255msgstr "Introduzca %1"
255256
256−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
257+#: qml/Shell.qml:394
257258msgid "Enter passphrase"
258259msgstr "Introduzca la contraseña"
259260
260−#: qml/Greeter/NarrowView.qml:117
261+#: qml/Shell.qml:398
261262msgid "Enter passcode"
262263msgstr "Introduzca el código"
263264
264−#: qml/Greeter/NarrowView.qml:118
265+#: qml/Shell.qml:403
265266#, qt-format
266267msgid "Sorry, incorrect %1"
267268msgstr "Incorrecto (%1)"
268269
269−#: qml/Greeter/NarrowView.qml:119
270+#: qml/Shell.qml:395
270271msgid "Sorry, incorrect passphrase"
271272msgstr "La contraseña es incorrecta"
272273
273−#: qml/Greeter/NarrowView.qml:120
274+#: qml/Shell.qml:396
274275msgid "Please re-enter"
275276msgstr "Reintroduzca"
276277
277−#: qml/Greeter/NarrowView.qml:121
278+#: qml/Shell.qml:399
278279msgid "Sorry, incorrect passcode"
279280msgstr "El código es incorrecto"
280281
@@ -344,11 +345,11 @@ msgstr "Abrir menús especiales"
344345
345346#: qml/Tutorial/TutorialBottom.qml:29
346347msgid "Swipe up from the bottom edge."
347−msgstr ""
348+msgstr "Deslizar hacia arriba desde el borde inferior."
348349
349350#: qml/Tutorial/TutorialLeftFinish.qml:24
350351msgid "These are the shortcuts to favorite apps"
351−msgstr ""
352+msgstr "Esto son atajos a las aplicaciones favoritas"
352353
353354#: qml/Tutorial/TutorialLeftFinish.qml:25 qml/Tutorial/TutorialRight.qml:144
354355msgid "Tap here to continue."
@@ -360,11 +361,11 @@ msgstr "Abrir el lanzador"
360361
361362#: qml/Tutorial/TutorialLeft.qml:27
362363msgid "Short swipe from the left edge."
363−msgstr ""
364+msgstr "Deslizamiento corto desde el borde izquierdo."
364365
365366#: qml/Tutorial/TutorialPage.qml:178
366367msgid "You almost got it!"
367−msgstr ""
368+msgstr "¡Casi lo tiene!"
368369
369370#: qml/Tutorial/TutorialPage.qml:195
370371msgid "Try again."
@@ -376,11 +377,11 @@ msgstr "Para ver las aplicaciones abiertas"
376377
377378#: qml/Tutorial/TutorialRight.qml:32
378379msgid "Long swipe from the right edge."
379−msgstr ""
380+msgstr "Deslizamiento largo desde el borde derecho."
380381
381382#: qml/Tutorial/TutorialRight.qml:122
382383msgid "View all your running tasks."
383−msgstr ""
384+msgstr "Ver todas las tareas en ejecución."
384385
385386#: qml/Wizard/Page.qml:89
386387msgid "Back"
po/fa.po+70−69
@@ -8,102 +8,103 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-04 01:20+0000\n"
11+"PO-Revision-Date: 2015-03-08 04:40+0000\n"
1212"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
1313"Language-Team: Persian <fa@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-09 06:00+0000\n"
19+"X-Generator: Launchpad (build 17383)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "گذرواژه: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "سنجاق کردن میانبر"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "برداشتن سنجاق میانبر"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "دستگاه قفل شد"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr ""
4141"شما به دلیل تلاش‌های بسیار زیاد شکست خورده برای عبارت‌عبور قفل شده‌اید."
4242
43−#: qml/Components/DelayedLockscreen.qml:65
43+#: qml/Components/DelayedLockscreen.qml:63
4444msgid "You have been locked out due to too many failed passcode attempts."
4545msgstr "شما به دلیل تلاش‌های بسیار زیاد شکست خورده برای رمزعبور قفل شده‌اید."
4646
47−#: qml/Components/DelayedLockscreen.qml:74
47+#: qml/Components/DelayedLockscreen.qml:72
4848#, qt-format
4949msgid "Please wait %1 minute and then try again…"
5050msgid_plural "Please wait %1 minutes and then try again…"
5151msgstr[0] "لطفاُ %1 دقیقه صبر نموده و سپس مجدّداً تلاش نمایید…"
5252
53−#: qml/Components/Dialogs.qml:87
53+#: qml/Components/Dialogs.qml:74
5454msgid "Log out"
5555msgstr "خروج از حساب"
5656
57−#: qml/Components/Dialogs.qml:88
57+#: qml/Components/Dialogs.qml:75
5858msgid "Are you sure you want to log out?"
5959msgstr "مطمئنید که می‌خواهید از حساب خارج شوید"
6060
6161#: qml/Components/Dialogs.qml:90
6262msgid "Lock"
63−msgstr ""
63+msgstr "قفل"
6464
6565#: qml/Components/Dialogs.qml:97
6666msgid "Log Out"
67−msgstr ""
67+msgstr "خروج"
6868
69−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
70−#: qml/Components/Dialogs.qml:191
69+#: qml/Components/Dialogs.qml:171
7170msgid "Cancel"
7271msgstr "لغو"
7372
74−#: qml/Components/Dialogs.qml:116
73+#: qml/Components/Dialogs.qml:98
7574msgid "Shut down"
7675msgstr "خاموش کردن"
7776
78−#: qml/Components/Dialogs.qml:117
77+#: qml/Components/Dialogs.qml:99
7978msgid "Are you sure you want to shut down?"
8079msgstr "مطمئنید که می‌خواهید خاموش کنید؟"
8180
82−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
81+#: qml/Components/Dialogs.qml:123
8382msgid "Reboot"
8483msgstr "راه‌اندازی مجدّد"
8584
8685#: qml/Components/Dialogs.qml:127
8786msgid "Shutdown"
88−msgstr ""
87+msgstr "خاموش کردن"
8988
90−#: qml/Components/Dialogs.qml:148
89+#: qml/Components/Dialogs.qml:124
9190msgid "Are you sure you want to reboot?"
9291msgstr "مطمئنید که می‌خواهید مجدّداً راه‌اندازی کنسد؟"
9392
94−#: qml/Components/Dialogs.qml:150
93+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
94+#: qml/Components/Dialogs.qml:126
9595msgid "No"
9696msgstr "خیر"
9797
98−#: qml/Components/Dialogs.qml:156
98+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
99+#: qml/Components/Dialogs.qml:133
99100msgid "Yes"
100101msgstr "بله"
101102
102−#: qml/Components/Dialogs.qml:170
103+#: qml/Components/Dialogs.qml:148
103104msgid "Power"
104105msgstr "توان"
105106
106−#: qml/Components/Dialogs.qml:171
107+#: qml/Components/Dialogs.qml:149
107108msgid ""
108109"Are you sure you would like\n"
109110"to power off?"
@@ -111,52 +112,52 @@ msgstr ""
111112"آیا مطمئن هستید که\n"
112113"می‌خواهید خاموش کنید؟"
113114
114−#: qml/Components/Dialogs.qml:173
115+#: qml/Components/Dialogs.qml:151
115116msgid "Power off"
116117msgstr "خاموش کردن"
117118
118−#: qml/Components/Dialogs.qml:182
119+#: qml/Components/Dialogs.qml:161
119120msgid "Restart"
120121msgstr "شروع مجدّد"
121122
122−#: qml/Components/Lockscreen.qml:238
123+#: qml/Components/Lockscreen.qml:223
123124msgid "Return to Call"
124125msgstr "بازگشت به تماس"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Emergency Call"
128129msgstr "تماس اضطراری"
129130
130−#: qml/Components/Lockscreen.qml:270
131+#: qml/Components/Lockscreen.qml:255
131132msgid "OK"
132133msgstr "قبول"
133134
134−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
135+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
135136msgid "See less"
136137msgstr "کم‌تر ببینید"
137138
138−#: qml/Dash/GenericScopeView.qml:528
139+#: qml/Dash/GenericScopeView.qml:434
139140msgid "See all"
140141msgstr "دیدن همه"
141142
142−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
143+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
143144#: qml/Panel/SearchIndicator.qml:27
144145msgid "Search"
145146msgstr "جست‌وجو"
146147
147−#: qml/Dash/PageHeader.qml:269
148+#: qml/Dash/PageHeader.qml:261
148149msgid "Store"
149150msgstr "فروشگاه"
150151
151−#: qml/Dash/PageHeader.qml:286
152+#: qml/Dash/PageHeader.qml:278
152153msgid "Settings"
153154msgstr "تنظیمات"
154155
155−#: qml/Dash/PageHeader.qml:293
156+#: qml/Dash/PageHeader.qml:285
156157msgid "Remove from Favorites"
157158msgstr "برداشتن از برگزیده‌ها"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Add to Favorites"
161162msgstr "افزودن به برگزیده‌ها"
162163
@@ -190,45 +191,45 @@ msgstr "برای تازه‌سازی رها کنید…"
190191
191192#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
192193msgid "Enable location data"
193−msgstr ""
194+msgstr "فعّال کردن داده‌های موقعیّت"
194195
195−#: qml/Dash/ScopesList.qml:66
196+#: qml/Dash/ScopesList.qml:63
196197msgid "Manage"
197198msgstr "مدیریت"
198199
199−#: qml/Dash/ScopesList.qml:112
200+#: qml/Dash/ScopesList.qml:107
200201msgid "Home"
201202msgstr "خانه"
202203
203−#: qml/Dash/ScopesList.qml:113
204+#: qml/Dash/ScopesList.qml:108
204205msgid "Also installed"
205206msgstr "هم‌چنین نصب شده"
206207
207−#: qml/Greeter/CoverPage.qml:107
208+#: qml/Greeter/Greeter.qml:174
208209msgid "Unlock"
209210msgstr "بازکردن قفل"
210211
211212#: qml/Greeter/LoginList.qml:236
212213msgid "Retry"
213−msgstr ""
214+msgstr "تلاش دوباره"
214215
215216#: qml/Greeter/LoginList.qml:237
216217msgid "Tap to unlock"
217−msgstr ""
218+msgstr "برای باز کردن قفل ضربه بزنید"
218219
219−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
220+#: qml/Shell.qml:444
220221msgid "Sorry, incorrect passphrase."
221222msgstr "متأسّفیم، عبارت‌عبور نادرست است."
222223
223−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
224+#: qml/Shell.qml:445
224225msgid "Sorry, incorrect passcode."
225226msgstr "متأسّفیم، رمزعبور نادرست است."
226227
227−#: qml/Greeter/NarrowView.qml:55
228+#: qml/Shell.qml:446
228229msgid "This will be your last attempt."
229230msgstr "این آخرین تلاش شما خواهد بود."
230231
231−#: qml/Greeter/NarrowView.qml:57
232+#: qml/Shell.qml:448
232233msgid ""
233234"If passphrase is entered incorrectly, your phone will conduct a factory "
234235"reset and all personal data will be deleted."
@@ -236,7 +237,7 @@ msgstr ""
236237"اگر عبارت‌عبور نادرست وارد شود، تلفن شما بازنشانی کارخانه خواهد شد و تمامی "
237238"اطّلاعات شخصی حذف خواهند شد."
238239
239−#: qml/Greeter/NarrowView.qml:58
240+#: qml/Shell.qml:449
240241msgid ""
241242"If passcode is entered incorrectly, your phone will conduct a factory reset "
242243"and all personal data will be deleted."
@@ -244,33 +245,33 @@ msgstr ""
244245"اگر رمزعبور نادرست وارد شود، تلفن شما بازنشانی کارخانه خواهد شد و تمامی "
245246"اطّلاعات شخصی حذف خواهند شد."
246247
247−#: qml/Greeter/NarrowView.qml:115
248+#: qml/Shell.qml:402
248249#, qt-format
249250msgid "Enter %1"
250251msgstr "%1 را وارد کنید"
251252
252−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
253+#: qml/Shell.qml:394
253254msgid "Enter passphrase"
254255msgstr "عبارت‌عبور را وارد کنید"
255256
256−#: qml/Greeter/NarrowView.qml:117
257+#: qml/Shell.qml:398
257258msgid "Enter passcode"
258259msgstr "رمزعبور را وارد کنید"
259260
260−#: qml/Greeter/NarrowView.qml:118
261+#: qml/Shell.qml:403
261262#, qt-format
262263msgid "Sorry, incorrect %1"
263264msgstr "متأسّفیم، %1 نادرست بود"
264265
265−#: qml/Greeter/NarrowView.qml:119
266+#: qml/Shell.qml:395
266267msgid "Sorry, incorrect passphrase"
267268msgstr "متأسّفیم، عبارت‌عبور نادرست بود"
268269
269−#: qml/Greeter/NarrowView.qml:120
270+#: qml/Shell.qml:396
270271msgid "Please re-enter"
271272msgstr "لطفاً دوباره وارد کنید"
272273
273−#: qml/Greeter/NarrowView.qml:121
274+#: qml/Shell.qml:399
274275msgid "Sorry, incorrect passcode"
275276msgstr "متأسّفیم، رمزعبور نادرست بود"
276277
@@ -328,55 +329,55 @@ msgstr "رومینگ"
328329
329330#: qml/Tutorial/TutorialBottomFinish.qml:24
330331msgid "This action does different things for different apps"
331−msgstr ""
332+msgstr "این عمل برای اپ‌های مختلف، کارهای متفاوتی انجام می‌دهد"
332333
333334#: qml/Tutorial/TutorialBottomFinish.qml:25
334335msgid "Tap here to finish."
335−msgstr ""
336+msgstr "برای پایان این‌جا را بزنید"
336337
337338#: qml/Tutorial/TutorialBottom.qml:28
338339msgid "Open special menus"
339−msgstr ""
340+msgstr "باز کردن فهرست‌های مخصوص"
340341
341342#: qml/Tutorial/TutorialBottom.qml:29
342343msgid "Swipe up from the bottom edge."
343−msgstr ""
344+msgstr "از لبه‌ی پایینی به سمت بالا بکشید."
344345
345346#: qml/Tutorial/TutorialLeftFinish.qml:24
346347msgid "These are the shortcuts to favorite apps"
347−msgstr ""
348+msgstr "این‌ها میان‌برهایی به برنامه‌های برگزیده هستند"
348349
349350#: qml/Tutorial/TutorialLeftFinish.qml:25 qml/Tutorial/TutorialRight.qml:144
350351msgid "Tap here to continue."
351−msgstr ""
352+msgstr "برای ادامه این‌جا را بزنید"
352353
353354#: qml/Tutorial/TutorialLeft.qml:26
354355msgid "Open the launcher"
355−msgstr ""
356+msgstr "گشودن اجراگر"
356357
357358#: qml/Tutorial/TutorialLeft.qml:27
358359msgid "Short swipe from the left edge."
359−msgstr ""
360+msgstr "از لبه‌ی چپ، کوتاه بکشید."
360361
361362#: qml/Tutorial/TutorialPage.qml:178
362363msgid "You almost got it!"
363−msgstr ""
364+msgstr "تقریباً یاد گرفتید!"
364365
365366#: qml/Tutorial/TutorialPage.qml:195
366367msgid "Try again."
367−msgstr ""
368+msgstr "دوباره تلاش کنید."
368369
369370#: qml/Tutorial/TutorialRight.qml:31
370371msgid "To view open apps"
371−msgstr ""
372+msgstr "برای دیدن برنامه‌های باز"
372373
373374#: qml/Tutorial/TutorialRight.qml:32
374375msgid "Long swipe from the right edge."
375−msgstr ""
376+msgstr "از لبه‌ی راست، بلند بکشید."
376377
377378#: qml/Tutorial/TutorialRight.qml:122
378379msgid "View all your running tasks."
379−msgstr ""
380+msgstr "همه‌ی وظایف در حال اجرایتان را ببینید."
380381
381382#: qml/Wizard/Page.qml:89
382383msgid "Back"
po/fi.po+56−55
@@ -8,104 +8,105 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-17 12:57+0000\n"
11+"PO-Revision-Date: 2015-03-04 07:57+0000\n"
1212"Last-Translator: Jiri Grönroos <Unknown>\n"
1313"Language-Team: Finnish <fi@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-05 06:02+0000\n"
19+"X-Generator: Launchpad (build 17374)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Salasana: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Kiinnitä pikakuvake"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Poista pikakuvakkeen kiinnitys"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Laite on lukittu"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr ""
4141"Laite on lukittu liian monen virheellisen tunnuslauseyrityksen jälkeen."
4242
43−#: qml/Components/DelayedLockscreen.qml:65
43+#: qml/Components/DelayedLockscreen.qml:63
4444msgid "You have been locked out due to too many failed passcode attempts."
4545msgstr ""
4646"Laite on lukittu liian monen virheellisen suojakoodiyrityksen jälkeen."
4747
48−#: qml/Components/DelayedLockscreen.qml:74
48+#: qml/Components/DelayedLockscreen.qml:72
4949#, qt-format
5050msgid "Please wait %1 minute and then try again…"
5151msgid_plural "Please wait %1 minutes and then try again…"
5252msgstr[0] "Odota %1 minuutti ja yritä sitten uudelleen…"
5353msgstr[1] "Odota %1 minuuttia ja yritä sitten uudelleen…"
5454
55−#: qml/Components/Dialogs.qml:87
55+#: qml/Components/Dialogs.qml:74
5656msgid "Log out"
5757msgstr "Kirjaudu ulos"
5858
59−#: qml/Components/Dialogs.qml:88
59+#: qml/Components/Dialogs.qml:75
6060msgid "Are you sure you want to log out?"
6161msgstr "Haluatko varmasti kirjautua ulos?"
6262
6363#: qml/Components/Dialogs.qml:90
6464msgid "Lock"
65−msgstr ""
65+msgstr "Lukitse"
6666
6767#: qml/Components/Dialogs.qml:97
6868msgid "Log Out"
69−msgstr ""
69+msgstr "Kirjaudu ulos"
7070
71−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
72−#: qml/Components/Dialogs.qml:191
71+#: qml/Components/Dialogs.qml:171
7372msgid "Cancel"
7473msgstr "Peru"
7574
76−#: qml/Components/Dialogs.qml:116
75+#: qml/Components/Dialogs.qml:98
7776msgid "Shut down"
7877msgstr "Sammuta"
7978
80−#: qml/Components/Dialogs.qml:117
79+#: qml/Components/Dialogs.qml:99
8180msgid "Are you sure you want to shut down?"
8281msgstr "Haluatko varmasti sammuttaa laitteen?"
8382
84−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
83+#: qml/Components/Dialogs.qml:123
8584msgid "Reboot"
8685msgstr "Käynnistä uudelleen"
8786
8887#: qml/Components/Dialogs.qml:127
8988msgid "Shutdown"
90−msgstr ""
89+msgstr "Sammuta"
9190
92−#: qml/Components/Dialogs.qml:148
91+#: qml/Components/Dialogs.qml:124
9392msgid "Are you sure you want to reboot?"
9493msgstr "Haluatko varmasti käynnistää laitteen uudelleen?"
9594
96−#: qml/Components/Dialogs.qml:150
95+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
96+#: qml/Components/Dialogs.qml:126
9797msgid "No"
9898msgstr "Ei"
9999
100−#: qml/Components/Dialogs.qml:156
100+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
101+#: qml/Components/Dialogs.qml:133
101102msgid "Yes"
102103msgstr "Kyllä"
103104
104−#: qml/Components/Dialogs.qml:170
105+#: qml/Components/Dialogs.qml:148
105106msgid "Power"
106107msgstr "Virran katkaisu"
107108
108−#: qml/Components/Dialogs.qml:171
109+#: qml/Components/Dialogs.qml:149
109110msgid ""
110111"Are you sure you would like\n"
111112"to power off?"
@@ -113,52 +114,52 @@ msgstr ""
113114"Haluatko varmasti\n"
114115"sammuttaa laitteen?"
115116
116−#: qml/Components/Dialogs.qml:173
117+#: qml/Components/Dialogs.qml:151
117118msgid "Power off"
118119msgstr "Sammuta"
119120
120−#: qml/Components/Dialogs.qml:182
121+#: qml/Components/Dialogs.qml:161
121122msgid "Restart"
122123msgstr "Käynnistä uudelleen"
123124
124−#: qml/Components/Lockscreen.qml:238
125+#: qml/Components/Lockscreen.qml:223
125126msgid "Return to Call"
126127msgstr "Palaa puheluun"
127128
128−#: qml/Components/Lockscreen.qml:238
129+#: qml/Components/Lockscreen.qml:223
129130msgid "Emergency Call"
130131msgstr "Hätäpuhelu"
131132
132−#: qml/Components/Lockscreen.qml:270
133+#: qml/Components/Lockscreen.qml:255
133134msgid "OK"
134135msgstr "OK"
135136
136−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
137+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
137138msgid "See less"
138139msgstr "Näytä vähemmän"
139140
140−#: qml/Dash/GenericScopeView.qml:528
141+#: qml/Dash/GenericScopeView.qml:434
141142msgid "See all"
142143msgstr "Näytä kaikki"
143144
144−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
145+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
145146#: qml/Panel/SearchIndicator.qml:27
146147msgid "Search"
147148msgstr "Hae"
148149
149−#: qml/Dash/PageHeader.qml:269
150+#: qml/Dash/PageHeader.qml:261
150151msgid "Store"
151152msgstr "Kauppa"
152153
153−#: qml/Dash/PageHeader.qml:286
154+#: qml/Dash/PageHeader.qml:278
154155msgid "Settings"
155156msgstr "Asetukset"
156157
157−#: qml/Dash/PageHeader.qml:293
158+#: qml/Dash/PageHeader.qml:285
158159msgid "Remove from Favorites"
159160msgstr "Poista suosikeista"
160161
161−#: qml/Dash/PageHeader.qml:293
162+#: qml/Dash/PageHeader.qml:285
162163msgid "Add to Favorites"
163164msgstr "Lisää suosikkeihin"
164165
@@ -194,43 +195,43 @@ msgstr "Vapauta päivittääksesi…"
194195msgid "Enable location data"
195196msgstr "Käytä sijaintitietoa"
196197
197−#: qml/Dash/ScopesList.qml:66
198+#: qml/Dash/ScopesList.qml:63
198199msgid "Manage"
199200msgstr "Hallitse"
200201
201−#: qml/Dash/ScopesList.qml:112
202+#: qml/Dash/ScopesList.qml:107
202203msgid "Home"
203204msgstr "Koti"
204205
205−#: qml/Dash/ScopesList.qml:113
206+#: qml/Dash/ScopesList.qml:108
206207msgid "Also installed"
207208msgstr "Myös asennettu"
208209
209−#: qml/Greeter/CoverPage.qml:107
210+#: qml/Greeter/Greeter.qml:174
210211msgid "Unlock"
211212msgstr "Avaa lukitus"
212213
213214#: qml/Greeter/LoginList.qml:236
214215msgid "Retry"
215−msgstr ""
216+msgstr "Yritä uudelleen"
216217
217218#: qml/Greeter/LoginList.qml:237
218219msgid "Tap to unlock"
219−msgstr ""
220+msgstr "Napauta avataksesi lukituksen"
220221
221−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
222+#: qml/Shell.qml:444
222223msgid "Sorry, incorrect passphrase."
223224msgstr "Virheellinen tunnuslause."
224225
225−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
226+#: qml/Shell.qml:445
226227msgid "Sorry, incorrect passcode."
227228msgstr "Virheellinen suojakoodi."
228229
229−#: qml/Greeter/NarrowView.qml:55
230+#: qml/Shell.qml:446
230231msgid "This will be your last attempt."
231232msgstr "Tämä on viimeinen yritys."
232233
233−#: qml/Greeter/NarrowView.qml:57
234+#: qml/Shell.qml:448
234235msgid ""
235236"If passphrase is entered incorrectly, your phone will conduct a factory "
236237"reset and all personal data will be deleted."
@@ -238,7 +239,7 @@ msgstr ""
238239"Jos kirjoitat tunnuslauseen virheellisesti, puhelimesi palautetaan "
239240"tehdastilaan ja kaikki henkilökohtaiset tietosi poistetaan."
240241
241−#: qml/Greeter/NarrowView.qml:58
242+#: qml/Shell.qml:449
242243msgid ""
243244"If passcode is entered incorrectly, your phone will conduct a factory reset "
244245"and all personal data will be deleted."
@@ -246,33 +247,33 @@ msgstr ""
246247"Jos kirjoitat suojakoodin virheellisesti, puhelimesi palautetaan "
247248"tehdastilaan ja kaikki henkilökohtaiset tietosi poistetaan."
248249
249−#: qml/Greeter/NarrowView.qml:115
250+#: qml/Shell.qml:402
250251#, qt-format
251252msgid "Enter %1"
252253msgstr "Anna %1"
253254
254−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
255+#: qml/Shell.qml:394
255256msgid "Enter passphrase"
256257msgstr "Anna tunnuslause"
257258
258−#: qml/Greeter/NarrowView.qml:117
259+#: qml/Shell.qml:398
259260msgid "Enter passcode"
260261msgstr "Anna suojakoodi"
261262
262−#: qml/Greeter/NarrowView.qml:118
263+#: qml/Shell.qml:403
263264#, qt-format
264265msgid "Sorry, incorrect %1"
265266msgstr "Väärä %1"
266267
267−#: qml/Greeter/NarrowView.qml:119
268+#: qml/Shell.qml:395
268269msgid "Sorry, incorrect passphrase"
269270msgstr "Virheellinen tunnuslause"
270271
271−#: qml/Greeter/NarrowView.qml:120
272+#: qml/Shell.qml:396
272273msgid "Please re-enter"
273274msgstr "Anna uudelleen"
274275
275−#: qml/Greeter/NarrowView.qml:121
276+#: qml/Shell.qml:399
276277msgid "Sorry, incorrect passcode"
277278msgstr "Väärä suojakoodi"
278279
po/gd.po+55−54
@@ -8,48 +8,48 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-27 01:01+0000\n"
12−"Last-Translator: Akerbeltz <fios@akerbeltz.org>\n"
11+"PO-Revision-Date: 2015-03-12 17:56+0000\n"
12+"Last-Translator: GunChleoc <Unknown>\n"
1313"Language-Team: Fòram na Gàidhlig\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
1818"(n > 2 && n < 20) ? 2 : 3;\n"
19−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
20−"X-Generator: Launchpad (build 17361)\n"
19+"X-Launchpad-Export-Date: 2015-03-13 05:34+0000\n"
20+"X-Generator: Launchpad (build 17389)\n"
2121"Language: gd\n"
2222
23−#: plugins/LightDM/Greeter.cpp:112
23+#: plugins/LightDM/Greeter.cpp:130
2424msgid "Password: "
2525msgstr "Facal-faire: "
2626
2727#: plugins/Unity/Launcher/launcheritem.cpp:45
28−#: plugins/Unity/Launcher/launcheritem.cpp:100
28+#: plugins/Unity/Launcher/launcheritem.cpp:91
2929msgid "Pin shortcut"
3030msgstr "Prìnich ath-ghoirid"
3131
32−#: plugins/Unity/Launcher/launcheritem.cpp:100
32+#: plugins/Unity/Launcher/launcheritem.cpp:91
3333msgid "Unpin shortcut"
3434msgstr "Neo-phrìnich an ath-ghoirid"
3535
36−#: qml/Components/DelayedLockscreen.qml:49
36+#: qml/Components/DelayedLockscreen.qml:47
3737msgid "Device Locked"
3838msgstr "Tha glas air an uidheam"
3939
40−#: qml/Components/DelayedLockscreen.qml:64
40+#: qml/Components/DelayedLockscreen.qml:62
4141msgid "You have been locked out due to too many failed passphrase attempts."
4242msgstr ""
4343"Chaidh do glasadh a-mach às an uidheam on a chuir thu abairt-fhaire chearr a-"
4444"steach cus tursan."
4545
46−#: qml/Components/DelayedLockscreen.qml:65
46+#: qml/Components/DelayedLockscreen.qml:63
4747msgid "You have been locked out due to too many failed passcode attempts."
4848msgstr ""
4949"Chaidh do glasadh a-mach às an uidheam on a chuir thu còd-faire cearr a-"
5050"steach cus tursan."
5151
52−#: qml/Components/DelayedLockscreen.qml:74
52+#: qml/Components/DelayedLockscreen.qml:72
5353#, qt-format
5454msgid "Please wait %1 minute and then try again…"
5555msgid_plural "Please wait %1 minutes and then try again…"
@@ -58,11 +58,11 @@ msgstr[1] "Fuirich ort %1 dhiog 's feuch ris a-rithist an uairsin…"
5858msgstr[2] "Fuirich ort %1 diogan 's feuch ris a-rithist an uairsin…"
5959msgstr[3] "Fuirich ort %1 diog 's feuch ris a-rithist an uairsin…"
6060
61−#: qml/Components/Dialogs.qml:87
61+#: qml/Components/Dialogs.qml:74
6262msgid "Log out"
6363msgstr "Clàraich a-mach"
6464
65−#: qml/Components/Dialogs.qml:88
65+#: qml/Components/Dialogs.qml:75
6666msgid "Are you sure you want to log out?"
6767msgstr "A bheil thu cinnteach gu bheil thu airson clàradh a-mach?"
6868
@@ -72,22 +72,21 @@ msgstr ""
7272
7373#: qml/Components/Dialogs.qml:97
7474msgid "Log Out"
75−msgstr ""
75+msgstr "Clàraich a-mach"
7676
77−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
78−#: qml/Components/Dialogs.qml:191
77+#: qml/Components/Dialogs.qml:171
7978msgid "Cancel"
8079msgstr "Sguir dheth"
8180
82−#: qml/Components/Dialogs.qml:116
81+#: qml/Components/Dialogs.qml:98
8382msgid "Shut down"
8483msgstr "Dùin sìos"
8584
86−#: qml/Components/Dialogs.qml:117
85+#: qml/Components/Dialogs.qml:99
8786msgid "Are you sure you want to shut down?"
8887msgstr "A bheil thu cinnteach gu bheil thu airson a dhùnadh sìos?"
8988
90−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
89+#: qml/Components/Dialogs.qml:123
9190msgid "Reboot"
9291msgstr "Ath-thòisich an siostam"
9392
@@ -95,23 +94,25 @@ msgstr "Ath-thòisich an siostam"
9594msgid "Shutdown"
9695msgstr ""
9796
98−#: qml/Components/Dialogs.qml:148
97+#: qml/Components/Dialogs.qml:124
9998msgid "Are you sure you want to reboot?"
10099msgstr "A bheil thu cinnteach gu bheil thu airson tòiseachadh às ùr?"
101100
102−#: qml/Components/Dialogs.qml:150
101+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
102+#: qml/Components/Dialogs.qml:126
103103msgid "No"
104104msgstr "Chan eil"
105105
106−#: qml/Components/Dialogs.qml:156
106+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
107+#: qml/Components/Dialogs.qml:133
107108msgid "Yes"
108109msgstr "Tha"
109110
110−#: qml/Components/Dialogs.qml:170
111+#: qml/Components/Dialogs.qml:148
111112msgid "Power"
112113msgstr "Cumhachd"
113114
114−#: qml/Components/Dialogs.qml:171
115+#: qml/Components/Dialogs.qml:149
115116msgid ""
116117"Are you sure you would like\n"
117118"to power off?"
@@ -119,52 +120,52 @@ msgstr ""
119120"A bheil thu cinnteach gu bheil thu\n"
120121"airson a' chumhachd a chur dheth?"
121122
122−#: qml/Components/Dialogs.qml:173
123+#: qml/Components/Dialogs.qml:151
123124msgid "Power off"
124125msgstr "Cuir a' chumhachd dheth"
125126
126−#: qml/Components/Dialogs.qml:182
127+#: qml/Components/Dialogs.qml:161
127128msgid "Restart"
128129msgstr "Ath-thòisich"
129130
130−#: qml/Components/Lockscreen.qml:238
131+#: qml/Components/Lockscreen.qml:223
131132msgid "Return to Call"
132133msgstr "Till dhan ghairm"
133134
134−#: qml/Components/Lockscreen.qml:238
135+#: qml/Components/Lockscreen.qml:223
135136msgid "Emergency Call"
136137msgstr "Gairm èiginn"
137138
138−#: qml/Components/Lockscreen.qml:270
139+#: qml/Components/Lockscreen.qml:255
139140msgid "OK"
140141msgstr "Ceart ma-thà"
141142
142−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
143+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
143144msgid "See less"
144145msgstr "Seall nas lugha"
145146
146−#: qml/Dash/GenericScopeView.qml:528
147+#: qml/Dash/GenericScopeView.qml:434
147148msgid "See all"
148149msgstr "Seall na h-uile"
149150
150−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
151+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
151152#: qml/Panel/SearchIndicator.qml:27
152153msgid "Search"
153154msgstr "Lorg"
154155
155−#: qml/Dash/PageHeader.qml:269
156+#: qml/Dash/PageHeader.qml:261
156157msgid "Store"
157158msgstr "Am bùth"
158159
159−#: qml/Dash/PageHeader.qml:286
160+#: qml/Dash/PageHeader.qml:278
160161msgid "Settings"
161162msgstr "Roghainnean"
162163
163−#: qml/Dash/PageHeader.qml:293
164+#: qml/Dash/PageHeader.qml:285
164165msgid "Remove from Favorites"
165166msgstr "Thoir air falbh o na h-annsachdan"
166167
167−#: qml/Dash/PageHeader.qml:293
168+#: qml/Dash/PageHeader.qml:285
168169msgid "Add to Favorites"
169170msgstr "Cuir ris na h-annsachdan"
170171
@@ -200,43 +201,43 @@ msgstr "Leig às airson ath-nuadhachadh…"
200201msgid "Enable location data"
201202msgstr "Cuir an comas dàta an ionaid"
202203
203−#: qml/Dash/ScopesList.qml:66
204+#: qml/Dash/ScopesList.qml:63
204205msgid "Manage"
205206msgstr "Stiùirich"
206207
207−#: qml/Dash/ScopesList.qml:112
208+#: qml/Dash/ScopesList.qml:107
208209msgid "Home"
209210msgstr "Dhachaigh"
210211
211−#: qml/Dash/ScopesList.qml:113
212+#: qml/Dash/ScopesList.qml:108
212213msgid "Also installed"
213214msgstr "Air a stàladh cuideachd"
214215
215−#: qml/Greeter/CoverPage.qml:107
216+#: qml/Greeter/Greeter.qml:174
216217msgid "Unlock"
217218msgstr "Thoir a' ghlas dheth"
218219
219220#: qml/Greeter/LoginList.qml:236
220221msgid "Retry"
221−msgstr ""
222+msgstr "Feuch ris a-rithist"
222223
223224#: qml/Greeter/LoginList.qml:237
224225msgid "Tap to unlock"
225−msgstr ""
226+msgstr "Gnog gus a' ghlas a thoirt fo bharr"
226227
227−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
228+#: qml/Shell.qml:444
228229msgid "Sorry, incorrect passphrase."
229230msgstr "Duilich ach tha an abairt-fhaire cearr."
230231
231−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
232+#: qml/Shell.qml:445
232233msgid "Sorry, incorrect passcode."
233234msgstr "Duilich ach tha an còd-faire cearr."
234235
235−#: qml/Greeter/NarrowView.qml:55
236+#: qml/Shell.qml:446
236237msgid "This will be your last attempt."
237238msgstr "Seo an oidhirp mu dheireadh agad."
238239
239−#: qml/Greeter/NarrowView.qml:57
240+#: qml/Shell.qml:448
240241msgid ""
241242"If passphrase is entered incorrectly, your phone will conduct a factory "
242243"reset and all personal data will be deleted."
@@ -245,7 +246,7 @@ msgstr ""
245246"ath-shuidheachadh air roghainnean an fhactaraidh agus thèid gach dàta "
246247"pearsanta a sguabadh às."
247248
248−#: qml/Greeter/NarrowView.qml:58
249+#: qml/Shell.qml:449
249250msgid ""
250251"If passcode is entered incorrectly, your phone will conduct a factory reset "
251252"and all personal data will be deleted."
@@ -254,33 +255,33 @@ msgstr ""
254255"shuidheachadh air roghainnean an fhactaraidh agus thèid gach dàta pearsanta "
255256"a sguabadh às."
256257
257−#: qml/Greeter/NarrowView.qml:115
258+#: qml/Shell.qml:402
258259#, qt-format
259260msgid "Enter %1"
260261msgstr "Cuir a-steach %1"
261262
262−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
263+#: qml/Shell.qml:394
263264msgid "Enter passphrase"
264265msgstr "Cuir abairt-fhaire a-steach"
265266
266−#: qml/Greeter/NarrowView.qml:117
267+#: qml/Shell.qml:398
267268msgid "Enter passcode"
268269msgstr "Cuir còd-faire a-steach"
269270
270−#: qml/Greeter/NarrowView.qml:118
271+#: qml/Shell.qml:403
271272#, qt-format
272273msgid "Sorry, incorrect %1"
273274msgstr "Duilich ach tha a' %1 cearr"
274275
275−#: qml/Greeter/NarrowView.qml:119
276+#: qml/Shell.qml:395
276277msgid "Sorry, incorrect passphrase"
277278msgstr "Duilich ach tha an abairt-fhaire cearr"
278279
279−#: qml/Greeter/NarrowView.qml:120
280+#: qml/Shell.qml:396
280281msgid "Please re-enter"
281282msgstr "Cuir a-steach e a-rithist"
282283
283−#: qml/Greeter/NarrowView.qml:121
284+#: qml/Shell.qml:399
284285msgid "Sorry, incorrect passcode"
285286msgstr "Duilich ach tha an còd-faire cearr"
286287
po/gl.po+56−55
@@ -8,153 +8,154 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-17 08:38+0000\n"
11+"PO-Revision-Date: 2015-03-04 15:01+0000\n"
1212"Last-Translator: Marcos Lans <Unknown>\n"
1313"Language-Team: Galician <gl@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-05 06:02+0000\n"
19+"X-Generator: Launchpad (build 17374)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Contrasinal : "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Fixar o atallo"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Eliminar o atallo"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Dispositivo bloqueado"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr "Bloqueouse o dispositivo polos intentos fallidos da frase secreta."
4141
42−#: qml/Components/DelayedLockscreen.qml:65
42+#: qml/Components/DelayedLockscreen.qml:63
4343msgid "You have been locked out due to too many failed passcode attempts."
4444msgstr "Bloqueouse o dispositivo polos intentos fallidos da clave."
4545
46−#: qml/Components/DelayedLockscreen.qml:74
46+#: qml/Components/DelayedLockscreen.qml:72
4747#, qt-format
4848msgid "Please wait %1 minute and then try again…"
4949msgid_plural "Please wait %1 minutes and then try again…"
5050msgstr[0] "Agarde %1 minuto e ténteo de novo…"
5151msgstr[1] "Agarde %1 minutos e ténteo de novo…"
5252
53−#: qml/Components/Dialogs.qml:87
53+#: qml/Components/Dialogs.qml:74
5454msgid "Log out"
5555msgstr "Saír da sesión"
5656
57−#: qml/Components/Dialogs.qml:88
57+#: qml/Components/Dialogs.qml:75
5858msgid "Are you sure you want to log out?"
5959msgstr "Confirma que desexa pechar a sesión?"
6060
6161#: qml/Components/Dialogs.qml:90
6262msgid "Lock"
63−msgstr ""
63+msgstr "Bloquear"
6464
6565#: qml/Components/Dialogs.qml:97
6666msgid "Log Out"
67−msgstr ""
67+msgstr "Saír da sesión"
6868
69−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
70−#: qml/Components/Dialogs.qml:191
69+#: qml/Components/Dialogs.qml:171
7170msgid "Cancel"
7271msgstr "Cancelar"
7372
74−#: qml/Components/Dialogs.qml:116
73+#: qml/Components/Dialogs.qml:98
7574msgid "Shut down"
7675msgstr "Apagar"
7776
78−#: qml/Components/Dialogs.qml:117
77+#: qml/Components/Dialogs.qml:99
7978msgid "Are you sure you want to shut down?"
8079msgstr "Confirma que desexa apagar?"
8180
82−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
81+#: qml/Components/Dialogs.qml:123
8382msgid "Reboot"
8483msgstr "Reiniciar"
8584
8685#: qml/Components/Dialogs.qml:127
8786msgid "Shutdown"
88−msgstr ""
87+msgstr "Apagar"
8988
90−#: qml/Components/Dialogs.qml:148
89+#: qml/Components/Dialogs.qml:124
9190msgid "Are you sure you want to reboot?"
9291msgstr "Confirma que desexa reiniciar?"
9392
94−#: qml/Components/Dialogs.qml:150
93+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
94+#: qml/Components/Dialogs.qml:126
9595msgid "No"
9696msgstr "Non"
9797
98−#: qml/Components/Dialogs.qml:156
98+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
99+#: qml/Components/Dialogs.qml:133
99100msgid "Yes"
100101msgstr "Si"
101102
102−#: qml/Components/Dialogs.qml:170
103+#: qml/Components/Dialogs.qml:148
103104msgid "Power"
104105msgstr "Enerxía"
105106
106−#: qml/Components/Dialogs.qml:171
107+#: qml/Components/Dialogs.qml:149
107108msgid ""
108109"Are you sure you would like\n"
109110"to power off?"
110111msgstr "Confirma que desexa apagar?"
111112
112−#: qml/Components/Dialogs.qml:173
113+#: qml/Components/Dialogs.qml:151
113114msgid "Power off"
114115msgstr "Apagar"
115116
116−#: qml/Components/Dialogs.qml:182
117+#: qml/Components/Dialogs.qml:161
117118msgid "Restart"
118119msgstr "Reiniciar"
119120
120−#: qml/Components/Lockscreen.qml:238
121+#: qml/Components/Lockscreen.qml:223
121122msgid "Return to Call"
122123msgstr "Volver á chamada"
123124
124−#: qml/Components/Lockscreen.qml:238
125+#: qml/Components/Lockscreen.qml:223
125126msgid "Emergency Call"
126127msgstr "Chamada de emerxencia"
127128
128−#: qml/Components/Lockscreen.qml:270
129+#: qml/Components/Lockscreen.qml:255
129130msgid "OK"
130131msgstr "Aceptar"
131132
132−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
133+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
133134msgid "See less"
134135msgstr "Ver menos"
135136
136−#: qml/Dash/GenericScopeView.qml:528
137+#: qml/Dash/GenericScopeView.qml:434
137138msgid "See all"
138139msgstr "Ver todo"
139140
140−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
141+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
141142#: qml/Panel/SearchIndicator.qml:27
142143msgid "Search"
143144msgstr "Buscar"
144145
145−#: qml/Dash/PageHeader.qml:269
146+#: qml/Dash/PageHeader.qml:261
146147msgid "Store"
147148msgstr "Tenda"
148149
149−#: qml/Dash/PageHeader.qml:286
150+#: qml/Dash/PageHeader.qml:278
150151msgid "Settings"
151152msgstr "Axustes"
152153
153−#: qml/Dash/PageHeader.qml:293
154+#: qml/Dash/PageHeader.qml:285
154155msgid "Remove from Favorites"
155156msgstr "Eliminar dos favoritos"
156157
157−#: qml/Dash/PageHeader.qml:293
158+#: qml/Dash/PageHeader.qml:285
158159msgid "Add to Favorites"
159160msgstr "Engadir aos favoritos"
160161
@@ -190,43 +191,43 @@ msgstr "Soltar para actualizar"
190191msgid "Enable location data"
191192msgstr "Activar datos da localización"
192193
193−#: qml/Dash/ScopesList.qml:66
194+#: qml/Dash/ScopesList.qml:63
194195msgid "Manage"
195196msgstr "Xestionar"
196197
197−#: qml/Dash/ScopesList.qml:112
198+#: qml/Dash/ScopesList.qml:107
198199msgid "Home"
199200msgstr "Inicio"
200201
201−#: qml/Dash/ScopesList.qml:113
202+#: qml/Dash/ScopesList.qml:108
202203msgid "Also installed"
203204msgstr "Tamén instalado"
204205
205−#: qml/Greeter/CoverPage.qml:107
206+#: qml/Greeter/Greeter.qml:174
206207msgid "Unlock"
207208msgstr "Desbloquear"
208209
209210#: qml/Greeter/LoginList.qml:236
210211msgid "Retry"
211−msgstr ""
212+msgstr "Reintentar"
212213
213214#: qml/Greeter/LoginList.qml:237
214215msgid "Tap to unlock"
215−msgstr ""
216+msgstr "Toque para desbloquear"
216217
217−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
218+#: qml/Shell.qml:444
218219msgid "Sorry, incorrect passphrase."
219220msgstr "Sentímolo a frase é incorrecta."
220221
221−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
222+#: qml/Shell.qml:445
222223msgid "Sorry, incorrect passcode."
223224msgstr "Sentímolo, a clave é incorrecta."
224225
225−#: qml/Greeter/NarrowView.qml:55
226+#: qml/Shell.qml:446
226227msgid "This will be your last attempt."
227228msgstr "Este será o seu último intento."
228229
229−#: qml/Greeter/NarrowView.qml:57
230+#: qml/Shell.qml:448
230231msgid ""
231232"If passphrase is entered incorrectly, your phone will conduct a factory "
232233"reset and all personal data will be deleted."
@@ -234,7 +235,7 @@ msgstr ""
234235"Se a frase de paso introducida é incorrecta, o teléfono restabelecerá os "
235236"valores de fábrica e perderá todos os datos persoais."
236237
237−#: qml/Greeter/NarrowView.qml:58
238+#: qml/Shell.qml:449
238239msgid ""
239240"If passcode is entered incorrectly, your phone will conduct a factory reset "
240241"and all personal data will be deleted."
@@ -242,33 +243,33 @@ msgstr ""
242243"Se a clave introducida é incorrecta, o teléfono restabelecerá os valores de "
243244"fábrica e perderá todos os datos persoais."
244245
245−#: qml/Greeter/NarrowView.qml:115
246+#: qml/Shell.qml:402
246247#, qt-format
247248msgid "Enter %1"
248249msgstr "Introducir %1"
249250
250−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
251+#: qml/Shell.qml:394
251252msgid "Enter passphrase"
252253msgstr "Introduza a frase secreta"
253254
254−#: qml/Greeter/NarrowView.qml:117
255+#: qml/Shell.qml:398
255256msgid "Enter passcode"
256257msgstr "Introduza a clave"
257258
258−#: qml/Greeter/NarrowView.qml:118
259+#: qml/Shell.qml:403
259260#, qt-format
260261msgid "Sorry, incorrect %1"
261262msgstr "Sentímolo, %1 non coincide"
262263
263−#: qml/Greeter/NarrowView.qml:119
264+#: qml/Shell.qml:395
264265msgid "Sorry, incorrect passphrase"
265266msgstr "Sentímolo a frase é incorrecta"
266267
267−#: qml/Greeter/NarrowView.qml:120
268+#: qml/Shell.qml:396
268269msgid "Please re-enter"
269270msgstr "Introducir de novo"
270271
271−#: qml/Greeter/NarrowView.qml:121
272+#: qml/Shell.qml:399
272273msgid "Sorry, incorrect passcode"
273274msgstr "Sentímolo, a clave é incorrecta"
274275
po/hu.po+56−55
@@ -8,102 +8,103 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-17 10:08+0000\n"
11+"PO-Revision-Date: 2015-03-04 09:30+0000\n"
1212"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
1313"Language-Team: Hungarian <hu@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-05 06:02+0000\n"
19+"X-Generator: Launchpad (build 17374)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Jelszó: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Indító rögzítése"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Indító feloldása"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Eszköz lezárva"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr "A túl sok hibás jelmondat próbálkozás miatt le lett zárva az eszköz."
4141
42−#: qml/Components/DelayedLockscreen.qml:65
42+#: qml/Components/DelayedLockscreen.qml:63
4343msgid "You have been locked out due to too many failed passcode attempts."
4444msgstr "A túl sok hibás jelkód próbálkozás miatt le lett zárva az eszköz."
4545
46−#: qml/Components/DelayedLockscreen.qml:74
46+#: qml/Components/DelayedLockscreen.qml:72
4747#, qt-format
4848msgid "Please wait %1 minute and then try again…"
4949msgid_plural "Please wait %1 minutes and then try again…"
5050msgstr[0] "Várjon %1 percet és próbálja újra…"
5151msgstr[1] "Várjon %1 percet és próbálja újra…"
5252
53−#: qml/Components/Dialogs.qml:87
53+#: qml/Components/Dialogs.qml:74
5454msgid "Log out"
5555msgstr "Kijelentkezés"
5656
57−#: qml/Components/Dialogs.qml:88
57+#: qml/Components/Dialogs.qml:75
5858msgid "Are you sure you want to log out?"
5959msgstr "Biztos benne, hogy kijelentkezik?"
6060
6161#: qml/Components/Dialogs.qml:90
6262msgid "Lock"
63−msgstr ""
63+msgstr "Lezárás"
6464
6565#: qml/Components/Dialogs.qml:97
6666msgid "Log Out"
67−msgstr ""
67+msgstr "Kijelentkezés"
6868
69−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
70−#: qml/Components/Dialogs.qml:191
69+#: qml/Components/Dialogs.qml:171
7170msgid "Cancel"
7271msgstr "Mégse"
7372
74−#: qml/Components/Dialogs.qml:116
73+#: qml/Components/Dialogs.qml:98
7574msgid "Shut down"
7675msgstr "Leállítás"
7776
78−#: qml/Components/Dialogs.qml:117
77+#: qml/Components/Dialogs.qml:99
7978msgid "Are you sure you want to shut down?"
8079msgstr "Biztosan le szeretné állítani?"
8180
82−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
81+#: qml/Components/Dialogs.qml:123
8382msgid "Reboot"
8483msgstr "Újraindítás"
8584
8685#: qml/Components/Dialogs.qml:127
8786msgid "Shutdown"
88−msgstr ""
87+msgstr "Leállítás"
8988
90−#: qml/Components/Dialogs.qml:148
89+#: qml/Components/Dialogs.qml:124
9190msgid "Are you sure you want to reboot?"
9291msgstr "Biztosan újra szeretné indítani?"
9392
94−#: qml/Components/Dialogs.qml:150
93+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
94+#: qml/Components/Dialogs.qml:126
9595msgid "No"
9696msgstr "Nem"
9797
98−#: qml/Components/Dialogs.qml:156
98+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
99+#: qml/Components/Dialogs.qml:133
99100msgid "Yes"
100101msgstr "Igen"
101102
102−#: qml/Components/Dialogs.qml:170
103+#: qml/Components/Dialogs.qml:148
103104msgid "Power"
104105msgstr "Kikapcsolás"
105106
106−#: qml/Components/Dialogs.qml:171
107+#: qml/Components/Dialogs.qml:149
107108msgid ""
108109"Are you sure you would like\n"
109110"to power off?"
@@ -111,52 +112,52 @@ msgstr ""
111112"Biztos benne, hogy ki\n"
112113"szeretné kapcsolni?"
113114
114−#: qml/Components/Dialogs.qml:173
115+#: qml/Components/Dialogs.qml:151
115116msgid "Power off"
116117msgstr "Kikapcsolás"
117118
118−#: qml/Components/Dialogs.qml:182
119+#: qml/Components/Dialogs.qml:161
119120msgid "Restart"
120121msgstr "Újraindítás"
121122
122−#: qml/Components/Lockscreen.qml:238
123+#: qml/Components/Lockscreen.qml:223
123124msgid "Return to Call"
124125msgstr "Vissza a híváshoz"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Emergency Call"
128129msgstr "Vészhívás"
129130
130−#: qml/Components/Lockscreen.qml:270
131+#: qml/Components/Lockscreen.qml:255
131132msgid "OK"
132133msgstr "Ok"
133134
134−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
135+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
135136msgid "See less"
136137msgstr "Kevesebb"
137138
138−#: qml/Dash/GenericScopeView.qml:528
139+#: qml/Dash/GenericScopeView.qml:434
139140msgid "See all"
140141msgstr "Összes megtekintése"
141142
142−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
143+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
143144#: qml/Panel/SearchIndicator.qml:27
144145msgid "Search"
145146msgstr "Keresés"
146147
147−#: qml/Dash/PageHeader.qml:269
148+#: qml/Dash/PageHeader.qml:261
148149msgid "Store"
149150msgstr "Áruház"
150151
151−#: qml/Dash/PageHeader.qml:286
152+#: qml/Dash/PageHeader.qml:278
152153msgid "Settings"
153154msgstr "Beállítások"
154155
155−#: qml/Dash/PageHeader.qml:293
156+#: qml/Dash/PageHeader.qml:285
156157msgid "Remove from Favorites"
157158msgstr "Eltávolítás a kedvencek közül"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Add to Favorites"
161162msgstr "Hozzáadás a kedvencekhez"
162163
@@ -192,43 +193,43 @@ msgstr "Engedje el a frissítéshez…"
192193msgid "Enable location data"
193194msgstr "Helymeghatározás engedélyezése"
194195
195−#: qml/Dash/ScopesList.qml:66
196+#: qml/Dash/ScopesList.qml:63
196197msgid "Manage"
197198msgstr "Szerkesztés"
198199
199−#: qml/Dash/ScopesList.qml:112
200+#: qml/Dash/ScopesList.qml:107
200201msgid "Home"
201202msgstr "Kezdőlapon"
202203
203−#: qml/Dash/ScopesList.qml:113
204+#: qml/Dash/ScopesList.qml:108
204205msgid "Also installed"
205206msgstr "Telepítve"
206207
207−#: qml/Greeter/CoverPage.qml:107
208+#: qml/Greeter/Greeter.qml:174
208209msgid "Unlock"
209210msgstr "Feloldás"
210211
211212#: qml/Greeter/LoginList.qml:236
212213msgid "Retry"
213−msgstr ""
214+msgstr "Újra"
214215
215216#: qml/Greeter/LoginList.qml:237
216217msgid "Tap to unlock"
217−msgstr ""
218+msgstr "Koppintson a feloldáshoz"
218219
219−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
220+#: qml/Shell.qml:444
220221msgid "Sorry, incorrect passphrase."
221222msgstr "Sajnálom, helytelen jelmondat."
222223
223−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
224+#: qml/Shell.qml:445
224225msgid "Sorry, incorrect passcode."
225226msgstr "Sajnálom, helytelen jelkód."
226227
227−#: qml/Greeter/NarrowView.qml:55
228+#: qml/Shell.qml:446
228229msgid "This will be your last attempt."
229230msgstr "Ez az utolsó próbálkozási lehetősége."
230231
231−#: qml/Greeter/NarrowView.qml:57
232+#: qml/Shell.qml:448
232233msgid ""
233234"If passphrase is entered incorrectly, your phone will conduct a factory "
234235"reset and all personal data will be deleted."
@@ -236,7 +237,7 @@ msgstr ""
236237"Ha helytelen jelmondatot ad meg, a telefonja visszaállítja a gyári "
237238"beállításokat és törli minden személyes adatát."
238239
239−#: qml/Greeter/NarrowView.qml:58
240+#: qml/Shell.qml:449
240241msgid ""
241242"If passcode is entered incorrectly, your phone will conduct a factory reset "
242243"and all personal data will be deleted."
@@ -244,33 +245,33 @@ msgstr ""
244245"Ha helytelen jelkódot ad meg, a telefonja visszaállítja a gyári "
245246"beállításokat és törli minden személyes adatát."
246247
247−#: qml/Greeter/NarrowView.qml:115
248+#: qml/Shell.qml:402
248249#, qt-format
249250msgid "Enter %1"
250251msgstr "Adja meg: %1"
251252
252−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
253+#: qml/Shell.qml:394
253254msgid "Enter passphrase"
254255msgstr "Jelmondat megadása"
255256
256−#: qml/Greeter/NarrowView.qml:117
257+#: qml/Shell.qml:398
257258msgid "Enter passcode"
258259msgstr "Jelkód megadása"
259260
260−#: qml/Greeter/NarrowView.qml:118
261+#: qml/Shell.qml:403
261262#, qt-format
262263msgid "Sorry, incorrect %1"
263264msgstr "Sajnálom, helytelen %1"
264265
265−#: qml/Greeter/NarrowView.qml:119
266+#: qml/Shell.qml:395
266267msgid "Sorry, incorrect passphrase"
267268msgstr "Sajnálom, helytelen jelmondat"
268269
269−#: qml/Greeter/NarrowView.qml:120
270+#: qml/Shell.qml:396
270271msgid "Please re-enter"
271272msgstr "Próbálja újra"
272273
273−#: qml/Greeter/NarrowView.qml:121
274+#: qml/Shell.qml:399
274275msgid "Sorry, incorrect passcode"
275276msgstr "Sajnálom, helytelen jelkód"
276277
po/it.po+65−64
@@ -8,106 +8,107 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-03-02 12:45+0000\n"
12−"Last-Translator: Enrico <enricobe@hotmail.com>\n"
11+"PO-Revision-Date: 2015-03-05 10:36+0000\n"
12+"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
1313"Language-Team: Italian <it@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-06 06:05+0000\n"
19+"X-Generator: Launchpad (build 17374)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Password: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Blocca scorciatoia"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Sblocca scorciatoia"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Dispositivo bloccato"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr ""
4141"Utente bloccato a causa di troppi tentativi falliti di inserimento della "
4242"passphrase."
4343
44−#: qml/Components/DelayedLockscreen.qml:65
44+#: qml/Components/DelayedLockscreen.qml:63
4545msgid "You have been locked out due to too many failed passcode attempts."
4646msgstr ""
4747"Utente bloccato a causa di troppo tentativi falliti di inserimento del "
4848"codice."
4949
50−#: qml/Components/DelayedLockscreen.qml:74
50+#: qml/Components/DelayedLockscreen.qml:72
5151#, qt-format
5252msgid "Please wait %1 minute and then try again…"
5353msgid_plural "Please wait %1 minutes and then try again…"
5454msgstr[0] "Attendere %1 minuto poi riprovare…"
5555msgstr[1] "Attendere %1 minuti poi riprovare…"
5656
57−#: qml/Components/Dialogs.qml:87
57+#: qml/Components/Dialogs.qml:74
5858msgid "Log out"
5959msgstr "Termina sessione"
6060
61−#: qml/Components/Dialogs.qml:88
61+#: qml/Components/Dialogs.qml:75
6262msgid "Are you sure you want to log out?"
6363msgstr "Terminare veramente la sessione?"
6464
6565#: qml/Components/Dialogs.qml:90
6666msgid "Lock"
67−msgstr ""
67+msgstr "Blocca"
6868
6969#: qml/Components/Dialogs.qml:97
7070msgid "Log Out"
71−msgstr ""
71+msgstr "Termina sessione"
7272
73−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
74−#: qml/Components/Dialogs.qml:191
73+#: qml/Components/Dialogs.qml:171
7574msgid "Cancel"
7675msgstr "Annulla"
7776
78−#: qml/Components/Dialogs.qml:116
77+#: qml/Components/Dialogs.qml:98
7978msgid "Shut down"
8079msgstr "Spegni"
8180
82−#: qml/Components/Dialogs.qml:117
81+#: qml/Components/Dialogs.qml:99
8382msgid "Are you sure you want to shut down?"
8483msgstr "Spegnere veramente il dispositivo?"
8584
86−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
85+#: qml/Components/Dialogs.qml:123
8786msgid "Reboot"
8887msgstr "Riavvia"
8988
9089#: qml/Components/Dialogs.qml:127
9190msgid "Shutdown"
92−msgstr ""
91+msgstr "Spegni"
9392
94−#: qml/Components/Dialogs.qml:148
93+#: qml/Components/Dialogs.qml:124
9594msgid "Are you sure you want to reboot?"
9695msgstr "Riavviare veramente il dispositivo?"
9796
98−#: qml/Components/Dialogs.qml:150
97+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
98+#: qml/Components/Dialogs.qml:126
9999msgid "No"
100100msgstr "No"
101101
102−#: qml/Components/Dialogs.qml:156
102+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
103+#: qml/Components/Dialogs.qml:133
103104msgid "Yes"
104105msgstr "Sì"
105106
106−#: qml/Components/Dialogs.qml:170
107+#: qml/Components/Dialogs.qml:148
107108msgid "Power"
108109msgstr "Alimentazione"
109110
110−#: qml/Components/Dialogs.qml:171
111+#: qml/Components/Dialogs.qml:149
111112msgid ""
112113"Are you sure you would like\n"
113114"to power off?"
@@ -115,52 +116,52 @@ msgstr ""
115116"Spegnere veramente\n"
116117"il dispositivo?"
117118
118−#: qml/Components/Dialogs.qml:173
119+#: qml/Components/Dialogs.qml:151
119120msgid "Power off"
120121msgstr "Spegni"
121122
122−#: qml/Components/Dialogs.qml:182
123+#: qml/Components/Dialogs.qml:161
123124msgid "Restart"
124125msgstr "Riavvia"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Return to Call"
128129msgstr "Torna alla chiamata"
129130
130−#: qml/Components/Lockscreen.qml:238
131+#: qml/Components/Lockscreen.qml:223
131132msgid "Emergency Call"
132133msgstr "Chiamata di emergenza"
133134
134−#: qml/Components/Lockscreen.qml:270
135+#: qml/Components/Lockscreen.qml:255
135136msgid "OK"
136137msgstr "OK"
137138
138−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
139+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
139140msgid "See less"
140141msgstr "Mostra meno"
141142
142−#: qml/Dash/GenericScopeView.qml:528
143+#: qml/Dash/GenericScopeView.qml:434
143144msgid "See all"
144145msgstr "Mostra tutto"
145146
146−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
147+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
147148#: qml/Panel/SearchIndicator.qml:27
148149msgid "Search"
149150msgstr "Cerca"
150151
151−#: qml/Dash/PageHeader.qml:269
152+#: qml/Dash/PageHeader.qml:261
152153msgid "Store"
153154msgstr "Store"
154155
155−#: qml/Dash/PageHeader.qml:286
156+#: qml/Dash/PageHeader.qml:278
156157msgid "Settings"
157158msgstr "Impostazioni"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Remove from Favorites"
161162msgstr "Rimuovi dai preferiti"
162163
163−#: qml/Dash/PageHeader.qml:293
164+#: qml/Dash/PageHeader.qml:285
164165msgid "Add to Favorites"
165166msgstr "Aggiungi ai preferiti"
166167
@@ -194,45 +195,45 @@ msgstr "Rilasciare per aggiornare…"
194195
195196#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
196197msgid "Enable location data"
197−msgstr ""
198+msgstr "Abilita localizzazione"
198199
199−#: qml/Dash/ScopesList.qml:66
200+#: qml/Dash/ScopesList.qml:63
200201msgid "Manage"
201202msgstr "Gestisci"
202203
203−#: qml/Dash/ScopesList.qml:112
204+#: qml/Dash/ScopesList.qml:107
204205msgid "Home"
205206msgstr "Home"
206207
207−#: qml/Dash/ScopesList.qml:113
208+#: qml/Dash/ScopesList.qml:108
208209msgid "Also installed"
209210msgstr "Installato anche"
210211
211−#: qml/Greeter/CoverPage.qml:107
212+#: qml/Greeter/Greeter.qml:174
212213msgid "Unlock"
213214msgstr "Sblocca"
214215
215216#: qml/Greeter/LoginList.qml:236
216217msgid "Retry"
217−msgstr ""
218+msgstr "Riprova"
218219
219220#: qml/Greeter/LoginList.qml:237
220221msgid "Tap to unlock"
221−msgstr ""
222+msgstr "Tocca per sbloccare"
222223
223−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
224+#: qml/Shell.qml:444
224225msgid "Sorry, incorrect passphrase."
225226msgstr "Passphrase non corretta"
226227
227−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
228+#: qml/Shell.qml:445
228229msgid "Sorry, incorrect passcode."
229230msgstr "Passcode non corretto"
230231
231−#: qml/Greeter/NarrowView.qml:55
232+#: qml/Shell.qml:446
232233msgid "This will be your last attempt."
233234msgstr "Questo sarà l'ultimo tentativo."
234235
235−#: qml/Greeter/NarrowView.qml:57
236+#: qml/Shell.qml:448
236237msgid ""
237238"If passphrase is entered incorrectly, your phone will conduct a factory "
238239"reset and all personal data will be deleted."
@@ -240,7 +241,7 @@ msgstr ""
240241"Se verrà inserita una passphrase errata, il telefono eseguirà un ripristino "
241242"delle impostazioni di fabbrica e tutti i dati personali verranno eliminati."
242243
243−#: qml/Greeter/NarrowView.qml:58
244+#: qml/Shell.qml:449
244245msgid ""
245246"If passcode is entered incorrectly, your phone will conduct a factory reset "
246247"and all personal data will be deleted."
@@ -248,33 +249,33 @@ msgstr ""
248249"Se verrà inserito una passcode errato, il telefono eseguirà un ripristino "
249250"delle impostazioni di fabbrica e tutti i dati personali verranno eliminati."
250251
251−#: qml/Greeter/NarrowView.qml:115
252+#: qml/Shell.qml:402
252253#, qt-format
253254msgid "Enter %1"
254255msgstr "Inserire %1"
255256
256−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
257+#: qml/Shell.qml:394
257258msgid "Enter passphrase"
258259msgstr "Inserire passphrase"
259260
260−#: qml/Greeter/NarrowView.qml:117
261+#: qml/Shell.qml:398
261262msgid "Enter passcode"
262263msgstr "Inserire codice"
263264
264−#: qml/Greeter/NarrowView.qml:118
265+#: qml/Shell.qml:403
265266#, qt-format
266267msgid "Sorry, incorrect %1"
267268msgstr "%1 non corretto"
268269
269−#: qml/Greeter/NarrowView.qml:119
270+#: qml/Shell.qml:395
270271msgid "Sorry, incorrect passphrase"
271272msgstr "Passphrase errata"
272273
273−#: qml/Greeter/NarrowView.qml:120
274+#: qml/Shell.qml:396
274275msgid "Please re-enter"
275276msgstr "Inserire nuovamente"
276277
277−#: qml/Greeter/NarrowView.qml:121
278+#: qml/Shell.qml:399
278279msgid "Sorry, incorrect passcode"
279280msgstr "Passcode non corretto"
280281
@@ -332,7 +333,7 @@ msgstr "Roaming"
332333
333334#: qml/Tutorial/TutorialBottomFinish.qml:24
334335msgid "This action does different things for different apps"
335−msgstr ""
336+msgstr "Questa azione esegue diverse operazioni per diverse app"
336337
337338#: qml/Tutorial/TutorialBottomFinish.qml:25
338339msgid "Tap here to finish."
@@ -340,11 +341,11 @@ msgstr "Toccare qui per concludere."
340341
341342#: qml/Tutorial/TutorialBottom.qml:28
342343msgid "Open special menus"
343−msgstr ""
344+msgstr "Apri menù speciali"
344345
345346#: qml/Tutorial/TutorialBottom.qml:29
346347msgid "Swipe up from the bottom edge."
347−msgstr ""
348+msgstr "Scorri verso l'alto dal bordo in basso"
348349
349350#: qml/Tutorial/TutorialLeftFinish.qml:24
350351msgid "These are the shortcuts to favorite apps"
@@ -356,11 +357,11 @@ msgstr "Toccare qui per continuare."
356357
357358#: qml/Tutorial/TutorialLeft.qml:26
358359msgid "Open the launcher"
359−msgstr ""
360+msgstr "Apri il Launcher"
360361
361362#: qml/Tutorial/TutorialLeft.qml:27
362363msgid "Short swipe from the left edge."
363−msgstr ""
364+msgstr "Scorri brevemente dal bordo sinistro"
364365
365366#: qml/Tutorial/TutorialPage.qml:178
366367msgid "You almost got it!"
@@ -376,11 +377,11 @@ msgstr "Per vedere le app aperte"
376377
377378#: qml/Tutorial/TutorialRight.qml:32
378379msgid "Long swipe from the right edge."
379−msgstr ""
380+msgstr "Scorrie a lungo dal bordo destro"
380381
381382#: qml/Tutorial/TutorialRight.qml:122
382383msgid "View all your running tasks."
383−msgstr ""
384+msgstr "Visualizza tutte le attività in esecuzione"
384385
385386#: qml/Wizard/Page.qml:89
386387msgid "Back"
po/nb.po+56−55
@@ -8,104 +8,105 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-19 06:11+0000\n"
11+"PO-Revision-Date: 2015-03-05 12:11+0000\n"
1212"Last-Translator: Åka Sikrom <Unknown>\n"
1313"Language-Team: Norwegian Bokmal <nb@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-06 06:05+0000\n"
19+"X-Generator: Launchpad (build 17374)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Passord: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Fest snarvei"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Fjern snarvei"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Enheten er låst"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr ""
4141"Du har skrevet inn feil passordfrase for mange ganger, og er derfor "
4242"utestengt."
4343
44−#: qml/Components/DelayedLockscreen.qml:65
44+#: qml/Components/DelayedLockscreen.qml:63
4545msgid "You have been locked out due to too many failed passcode attempts."
4646msgstr "Du har tastet feil kode for mange ganger, og er derfor utestengt."
4747
48−#: qml/Components/DelayedLockscreen.qml:74
48+#: qml/Components/DelayedLockscreen.qml:72
4949#, qt-format
5050msgid "Please wait %1 minute and then try again…"
5151msgid_plural "Please wait %1 minutes and then try again…"
5252msgstr[0] "Vent i %1 minutt, og prøv deretter på nytt …"
5353msgstr[1] "Vent i %1 minutter, og prøv deretter på nytt …"
5454
55−#: qml/Components/Dialogs.qml:87
55+#: qml/Components/Dialogs.qml:74
5656msgid "Log out"
5757msgstr "Logg ut"
5858
59−#: qml/Components/Dialogs.qml:88
59+#: qml/Components/Dialogs.qml:75
6060msgid "Are you sure you want to log out?"
6161msgstr "Er du sikker på at du vil logge ut?"
6262
6363#: qml/Components/Dialogs.qml:90
6464msgid "Lock"
65−msgstr ""
65+msgstr "Lås"
6666
6767#: qml/Components/Dialogs.qml:97
6868msgid "Log Out"
69−msgstr ""
69+msgstr "Logg ut"
7070
71−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
72−#: qml/Components/Dialogs.qml:191
71+#: qml/Components/Dialogs.qml:171
7372msgid "Cancel"
7473msgstr "Avbryt"
7574
76−#: qml/Components/Dialogs.qml:116
75+#: qml/Components/Dialogs.qml:98
7776msgid "Shut down"
7877msgstr "Slå av"
7978
80−#: qml/Components/Dialogs.qml:117
79+#: qml/Components/Dialogs.qml:99
8180msgid "Are you sure you want to shut down?"
8281msgstr "Er du sikker på at du vil slå av?"
8382
84−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
83+#: qml/Components/Dialogs.qml:123
8584msgid "Reboot"
8685msgstr "Start på nytt"
8786
8887#: qml/Components/Dialogs.qml:127
8988msgid "Shutdown"
90−msgstr ""
89+msgstr "Slå av"
9190
92−#: qml/Components/Dialogs.qml:148
91+#: qml/Components/Dialogs.qml:124
9392msgid "Are you sure you want to reboot?"
9493msgstr "Er du sikker på at du vil starte på nytt?"
9594
96−#: qml/Components/Dialogs.qml:150
95+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
96+#: qml/Components/Dialogs.qml:126
9797msgid "No"
9898msgstr "Nei"
9999
100−#: qml/Components/Dialogs.qml:156
100+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
101+#: qml/Components/Dialogs.qml:133
101102msgid "Yes"
102103msgstr "Ja"
103104
104−#: qml/Components/Dialogs.qml:170
105+#: qml/Components/Dialogs.qml:148
105106msgid "Power"
106107msgstr "Strøm"
107108
108−#: qml/Components/Dialogs.qml:171
109+#: qml/Components/Dialogs.qml:149
109110msgid ""
110111"Are you sure you would like\n"
111112"to power off?"
@@ -113,52 +114,52 @@ msgstr ""
113114"Er du sikker på at du vil \n"
114115"skru av?"
115116
116−#: qml/Components/Dialogs.qml:173
117+#: qml/Components/Dialogs.qml:151
117118msgid "Power off"
118119msgstr "Slå av"
119120
120−#: qml/Components/Dialogs.qml:182
121+#: qml/Components/Dialogs.qml:161
121122msgid "Restart"
122123msgstr "Start på nytt"
123124
124−#: qml/Components/Lockscreen.qml:238
125+#: qml/Components/Lockscreen.qml:223
125126msgid "Return to Call"
126127msgstr "Tilbake til samtale"
127128
128−#: qml/Components/Lockscreen.qml:238
129+#: qml/Components/Lockscreen.qml:223
129130msgid "Emergency Call"
130131msgstr "Nødanrop"
131132
132−#: qml/Components/Lockscreen.qml:270
133+#: qml/Components/Lockscreen.qml:255
133134msgid "OK"
134135msgstr "OK"
135136
136−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
137+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
137138msgid "See less"
138139msgstr "Vis mindre"
139140
140−#: qml/Dash/GenericScopeView.qml:528
141+#: qml/Dash/GenericScopeView.qml:434
141142msgid "See all"
142143msgstr "Vis alt"
143144
144−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
145+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
145146#: qml/Panel/SearchIndicator.qml:27
146147msgid "Search"
147148msgstr "Søk"
148149
149−#: qml/Dash/PageHeader.qml:269
150+#: qml/Dash/PageHeader.qml:261
150151msgid "Store"
151152msgstr "Butikk"
152153
153−#: qml/Dash/PageHeader.qml:286
154+#: qml/Dash/PageHeader.qml:278
154155msgid "Settings"
155156msgstr "Innstillinger"
156157
157−#: qml/Dash/PageHeader.qml:293
158+#: qml/Dash/PageHeader.qml:285
158159msgid "Remove from Favorites"
159160msgstr "Fjern fra favoritter"
160161
161−#: qml/Dash/PageHeader.qml:293
162+#: qml/Dash/PageHeader.qml:285
162163msgid "Add to Favorites"
163164msgstr "Legg til i favoritter"
164165
@@ -194,43 +195,43 @@ msgstr "Slipp for å oppdatere …"
194195msgid "Enable location data"
195196msgstr "Slå på plasseringsdata"
196197
197−#: qml/Dash/ScopesList.qml:66
198+#: qml/Dash/ScopesList.qml:63
198199msgid "Manage"
199200msgstr "Behandle"
200201
201−#: qml/Dash/ScopesList.qml:112
202+#: qml/Dash/ScopesList.qml:107
202203msgid "Home"
203204msgstr "Hjem"
204205
205−#: qml/Dash/ScopesList.qml:113
206+#: qml/Dash/ScopesList.qml:108
206207msgid "Also installed"
207208msgstr "Også installert"
208209
209−#: qml/Greeter/CoverPage.qml:107
210+#: qml/Greeter/Greeter.qml:174
210211msgid "Unlock"
211212msgstr "Lås opp"
212213
213214#: qml/Greeter/LoginList.qml:236
214215msgid "Retry"
215−msgstr ""
216+msgstr "Prøv igjen"
216217
217218#: qml/Greeter/LoginList.qml:237
218219msgid "Tap to unlock"
219−msgstr ""
220+msgstr "Trykk for å låse opp"
220221
221−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
222+#: qml/Shell.qml:444
222223msgid "Sorry, incorrect passphrase."
223224msgstr "Feil passordfrase."
224225
225−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
226+#: qml/Shell.qml:445
226227msgid "Sorry, incorrect passcode."
227228msgstr "Feil kode."
228229
229−#: qml/Greeter/NarrowView.qml:55
230+#: qml/Shell.qml:446
230231msgid "This will be your last attempt."
231232msgstr "Dette er ditt siste forsøk."
232233
233−#: qml/Greeter/NarrowView.qml:57
234+#: qml/Shell.qml:448
234235msgid ""
235236"If passphrase is entered incorrectly, your phone will conduct a factory "
236237"reset and all personal data will be deleted."
@@ -238,7 +239,7 @@ msgstr ""
238239"Hvis du skriver feil passordfrase en gang til, tilbakestilles telefonen til "
239240"fabrikkinnstillinger, og alle personlige data slettes."
240241
241−#: qml/Greeter/NarrowView.qml:58
242+#: qml/Shell.qml:449
242243msgid ""
243244"If passcode is entered incorrectly, your phone will conduct a factory reset "
244245"and all personal data will be deleted."
@@ -246,33 +247,33 @@ msgstr ""
246247"Hvis du skriver feil kode en gang til, tilbakestilles telefonen til "
247248"fabrikkinnstillinger, og alle personlige data slettes."
248249
249−#: qml/Greeter/NarrowView.qml:115
250+#: qml/Shell.qml:402
250251#, qt-format
251252msgid "Enter %1"
252253msgstr "Skriv inn %1"
253254
254−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
255+#: qml/Shell.qml:394
255256msgid "Enter passphrase"
256257msgstr "Skriv inn passordfrase"
257258
258−#: qml/Greeter/NarrowView.qml:117
259+#: qml/Shell.qml:398
259260msgid "Enter passcode"
260261msgstr "Tast kode"
261262
262−#: qml/Greeter/NarrowView.qml:118
263+#: qml/Shell.qml:403
263264#, qt-format
264265msgid "Sorry, incorrect %1"
265266msgstr "Feil %1"
266267
267−#: qml/Greeter/NarrowView.qml:119
268+#: qml/Shell.qml:395
268269msgid "Sorry, incorrect passphrase"
269270msgstr "Feil passordfrase"
270271
271−#: qml/Greeter/NarrowView.qml:120
272+#: qml/Shell.qml:396
272273msgid "Please re-enter"
273274msgstr "Skriv inn på nytt"
274275
275−#: qml/Greeter/NarrowView.qml:121
276+#: qml/Shell.qml:399
276277msgid "Sorry, incorrect passcode"
277278msgstr "Feil kode"
278279
po/nl.po+56−55
@@ -8,106 +8,107 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-26 10:21+0000\n"
11+"PO-Revision-Date: 2015-03-04 08:38+0000\n"
1212"Last-Translator: rob <linuxned@gmail.com>\n"
1313"Language-Team: Dutch <nl@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-05 06:02+0000\n"
19+"X-Generator: Launchpad (build 17374)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Wachtwoord: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Snelkoppeling vastzetten"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Snelkoppeling losmaken"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Apparaat vergrendeld"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr ""
4141"U werd de toegang geweigerd omdat u te vaak een onjuiste wachtwoordzin heeft "
4242"ingevoerd."
4343
44−#: qml/Components/DelayedLockscreen.qml:65
44+#: qml/Components/DelayedLockscreen.qml:63
4545msgid "You have been locked out due to too many failed passcode attempts."
4646msgstr ""
4747"U werd de toegang geweigerd omdat u te vaak een onjuiste toegangscode heeft "
4848"ingevoerd."
4949
50−#: qml/Components/DelayedLockscreen.qml:74
50+#: qml/Components/DelayedLockscreen.qml:72
5151#, qt-format
5252msgid "Please wait %1 minute and then try again…"
5353msgid_plural "Please wait %1 minutes and then try again…"
5454msgstr[0] "Wacht a.u.b. %1 minuut en probeer het dan opnieuw…"
5555msgstr[1] "Wacht a.u.b. %1 minuten en probeer het dan opnieuw…"
5656
57−#: qml/Components/Dialogs.qml:87
57+#: qml/Components/Dialogs.qml:74
5858msgid "Log out"
5959msgstr "Afmelden"
6060
61−#: qml/Components/Dialogs.qml:88
61+#: qml/Components/Dialogs.qml:75
6262msgid "Are you sure you want to log out?"
6363msgstr "Weet u zeker dat u zich wilt afmelden?"
6464
6565#: qml/Components/Dialogs.qml:90
6666msgid "Lock"
67−msgstr ""
67+msgstr "Vergrendelen"
6868
6969#: qml/Components/Dialogs.qml:97
7070msgid "Log Out"
71−msgstr ""
71+msgstr "Afmelden"
7272
73−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
74−#: qml/Components/Dialogs.qml:191
73+#: qml/Components/Dialogs.qml:171
7574msgid "Cancel"
7675msgstr "Annuleren"
7776
78−#: qml/Components/Dialogs.qml:116
77+#: qml/Components/Dialogs.qml:98
7978msgid "Shut down"
8079msgstr "Uitschakelen"
8180
82−#: qml/Components/Dialogs.qml:117
81+#: qml/Components/Dialogs.qml:99
8382msgid "Are you sure you want to shut down?"
8483msgstr "Weet u zeker dat u het apparaat wilt uitschakelen?"
8584
86−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
85+#: qml/Components/Dialogs.qml:123
8786msgid "Reboot"
8887msgstr "Herstarten"
8988
9089#: qml/Components/Dialogs.qml:127
9190msgid "Shutdown"
92−msgstr ""
91+msgstr "Uitschakelen"
9392
94−#: qml/Components/Dialogs.qml:148
93+#: qml/Components/Dialogs.qml:124
9594msgid "Are you sure you want to reboot?"
9695msgstr "Weet u zeker dat u het apparaat wilt herstarten?"
9796
98−#: qml/Components/Dialogs.qml:150
97+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
98+#: qml/Components/Dialogs.qml:126
9999msgid "No"
100100msgstr "Nee"
101101
102−#: qml/Components/Dialogs.qml:156
102+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
103+#: qml/Components/Dialogs.qml:133
103104msgid "Yes"
104105msgstr "Ja"
105106
106−#: qml/Components/Dialogs.qml:170
107+#: qml/Components/Dialogs.qml:148
107108msgid "Power"
108109msgstr "Energie"
109110
110−#: qml/Components/Dialogs.qml:171
111+#: qml/Components/Dialogs.qml:149
111112msgid ""
112113"Are you sure you would like\n"
113114"to power off?"
@@ -115,52 +116,52 @@ msgstr ""
115116"Weet u zeker dat u het apparaat\n"
116117"wilt uitschakelen?"
117118
118−#: qml/Components/Dialogs.qml:173
119+#: qml/Components/Dialogs.qml:151
119120msgid "Power off"
120121msgstr "Uitschakelen"
121122
122−#: qml/Components/Dialogs.qml:182
123+#: qml/Components/Dialogs.qml:161
123124msgid "Restart"
124125msgstr "Herstarten"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Return to Call"
128129msgstr "Teruggaan naar gesprek"
129130
130−#: qml/Components/Lockscreen.qml:238
131+#: qml/Components/Lockscreen.qml:223
131132msgid "Emergency Call"
132133msgstr "Noodoproep"
133134
134−#: qml/Components/Lockscreen.qml:270
135+#: qml/Components/Lockscreen.qml:255
135136msgid "OK"
136137msgstr "Ok"
137138
138−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
139+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
139140msgid "See less"
140141msgstr "Minder zien"
141142
142−#: qml/Dash/GenericScopeView.qml:528
143+#: qml/Dash/GenericScopeView.qml:434
143144msgid "See all"
144145msgstr "Alles zien"
145146
146−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
147+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
147148#: qml/Panel/SearchIndicator.qml:27
148149msgid "Search"
149150msgstr "Zoeken"
150151
151−#: qml/Dash/PageHeader.qml:269
152+#: qml/Dash/PageHeader.qml:261
152153msgid "Store"
153154msgstr "Winkel"
154155
155−#: qml/Dash/PageHeader.qml:286
156+#: qml/Dash/PageHeader.qml:278
156157msgid "Settings"
157158msgstr "Instellingen"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Remove from Favorites"
161162msgstr "Verwijderen uit favorieten"
162163
163−#: qml/Dash/PageHeader.qml:293
164+#: qml/Dash/PageHeader.qml:285
164165msgid "Add to Favorites"
165166msgstr "Toevoegen aan favorieten"
166167
@@ -196,43 +197,43 @@ msgstr "Loslaten om te verversen…"
196197msgid "Enable location data"
197198msgstr "Locatiegegevens inschakelen"
198199
199−#: qml/Dash/ScopesList.qml:66
200+#: qml/Dash/ScopesList.qml:63
200201msgid "Manage"
201202msgstr "Beheren"
202203
203−#: qml/Dash/ScopesList.qml:112
204+#: qml/Dash/ScopesList.qml:107
204205msgid "Home"
205206msgstr "Thuis"
206207
207−#: qml/Dash/ScopesList.qml:113
208+#: qml/Dash/ScopesList.qml:108
208209msgid "Also installed"
209210msgstr "Ook geïnstalleerd"
210211
211−#: qml/Greeter/CoverPage.qml:107
212+#: qml/Greeter/Greeter.qml:174
212213msgid "Unlock"
213214msgstr "Ontgrendelen"
214215
215216#: qml/Greeter/LoginList.qml:236
216217msgid "Retry"
217−msgstr ""
218+msgstr "Opnieuw proberen"
218219
219220#: qml/Greeter/LoginList.qml:237
220221msgid "Tap to unlock"
221−msgstr ""
222+msgstr "Tik om te ontgrendelen"
222223
223−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
224+#: qml/Shell.qml:444
224225msgid "Sorry, incorrect passphrase."
225226msgstr "Sorry, onjuiste wachtwoordzin."
226227
227−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
228+#: qml/Shell.qml:445
228229msgid "Sorry, incorrect passcode."
229230msgstr "Sorry, onjuiste toegangscode."
230231
231−#: qml/Greeter/NarrowView.qml:55
232+#: qml/Shell.qml:446
232233msgid "This will be your last attempt."
233234msgstr "Dit zal uw laatste poging worden."
234235
235−#: qml/Greeter/NarrowView.qml:57
236+#: qml/Shell.qml:448
236237msgid ""
237238"If passphrase is entered incorrectly, your phone will conduct a factory "
238239"reset and all personal data will be deleted."
@@ -240,7 +241,7 @@ msgstr ""
240241"Wanneer de wachtwoordzin nu opnieuw onjuist wordt ingevoerd, zal uw telefoon "
241242"teruggaan naar de fabrieksinstellingen en zal al uw eigen data verloren gaan."
242243
243−#: qml/Greeter/NarrowView.qml:58
244+#: qml/Shell.qml:449
244245msgid ""
245246"If passcode is entered incorrectly, your phone will conduct a factory reset "
246247"and all personal data will be deleted."
@@ -248,33 +249,33 @@ msgstr ""
248249"Wanneer de toegangscode nu opnieuw onjuist wordt ingevoerd, zal uw telefoon "
249250"teruggaan naar de fabrieksinstellingen en zal al uw eigen data verloren gaan."
250251
251−#: qml/Greeter/NarrowView.qml:115
252+#: qml/Shell.qml:402
252253#, qt-format
253254msgid "Enter %1"
254255msgstr "Voer %1 in"
255256
256−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
257+#: qml/Shell.qml:394
257258msgid "Enter passphrase"
258259msgstr "Voer wachtwoordzin in"
259260
260−#: qml/Greeter/NarrowView.qml:117
261+#: qml/Shell.qml:398
261262msgid "Enter passcode"
262263msgstr "Voer toegangscode in"
263264
264−#: qml/Greeter/NarrowView.qml:118
265+#: qml/Shell.qml:403
265266#, qt-format
266267msgid "Sorry, incorrect %1"
267268msgstr "Sorry, onjuiste %1"
268269
269−#: qml/Greeter/NarrowView.qml:119
270+#: qml/Shell.qml:395
270271msgid "Sorry, incorrect passphrase"
271272msgstr "Sorry, onjuiste wachtwoordzin"
272273
273−#: qml/Greeter/NarrowView.qml:120
274+#: qml/Shell.qml:396
274275msgid "Please re-enter"
275276msgstr "Herhaal deze a.u.b."
276277
277−#: qml/Greeter/NarrowView.qml:121
278+#: qml/Shell.qml:399
278279msgid "Sorry, incorrect passcode"
279280msgstr "Sorry, onjuiste toegangscode"
280281
po/pa.po+166−154
@@ -8,102 +8,103 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2014-10-16 03:04+0000\n"
12−"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
11+"PO-Revision-Date: 2015-03-15 04:38+0000\n"
12+"Last-Translator: Gursharnjit_Singh <ubuntuser13@gmail.com>\n"
1313"Language-Team: Punjabi <pa@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-16 06:02+0000\n"
19+"X-Generator: Launchpad (build 17389)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "ਗੁਪਤ ਕੋਡ: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "ਸ਼ਾਰਟਕੱਟ ਪਿੰਨ ਲਗਾਓ"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "ਸ਼ਾਰਟਕੱਟ ਪਿੰਨ ਹਟਾਓ"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "ਯੰਤਰ ਲਾਕ ਹੈ"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
40−msgstr ""
40+msgstr "ਬਹੁਤ ਸਾਰੇ ਗਲਤ ਵਾਕਾਂ ਦੀ ਵਜ੍ਹਾ ਨਾਲ ਤੁਹਾਨੂੰ ਲਾਕ ਕੀਤਾ ਗਿਆ।"
4141
42−#: qml/Components/DelayedLockscreen.qml:65
42+#: qml/Components/DelayedLockscreen.qml:63
4343msgid "You have been locked out due to too many failed passcode attempts."
44−msgstr ""
44+msgstr "ਬਹੁਤ ਸਾਰੇ ਗਲਤ ਪਾਸਕੋਡਾਂ ਦੀ ਵਜ੍ਹਾ ਨਾਲ ਤੁਹਾਨੂੰ ਲਾਕ ਕੀਤਾ ਗਿਆ।"
4545
46−#: qml/Components/DelayedLockscreen.qml:74
46+#: qml/Components/DelayedLockscreen.qml:72
4747#, qt-format
4848msgid "Please wait %1 minute and then try again…"
4949msgid_plural "Please wait %1 minutes and then try again…"
5050msgstr[0] "%1 ਮਿੰਟ ਲਈ ਉਡੀਕੋ ਤੇ ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ..."
5151msgstr[1] "%1 ਮਿੰਟਾਂ ਲਈ ਉਡੀਕੋ ਤੇ ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ..."
5252
53−#: qml/Components/Dialogs.qml:87
53+#: qml/Components/Dialogs.qml:74
5454msgid "Log out"
5555msgstr "ਲਾਗ-ਆਉਟ"
5656
57−#: qml/Components/Dialogs.qml:88
57+#: qml/Components/Dialogs.qml:75
5858msgid "Are you sure you want to log out?"
5959msgstr "ਕੀ ਤੁਸੀਂ ਲਾਗ ਆਉਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
6060
6161#: qml/Components/Dialogs.qml:90
6262msgid "Lock"
63−msgstr ""
63+msgstr "ਲਾਕ ਕਰੋ"
6464
6565#: qml/Components/Dialogs.qml:97
6666msgid "Log Out"
67−msgstr ""
67+msgstr "ਲਾਗ ਆਉਟ"
6868
69−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
70−#: qml/Components/Dialogs.qml:191
69+#: qml/Components/Dialogs.qml:171
7170msgid "Cancel"
7271msgstr "ਰੱਦ ਕਰੋ"
7372
74−#: qml/Components/Dialogs.qml:116
73+#: qml/Components/Dialogs.qml:98
7574msgid "Shut down"
7675msgstr "ਬੰਦ ਕਰੋ"
7776
78−#: qml/Components/Dialogs.qml:117
77+#: qml/Components/Dialogs.qml:99
7978msgid "Are you sure you want to shut down?"
8079msgstr "ਕੀ ਤੁਸੀਂ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
8180
82−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
81+#: qml/Components/Dialogs.qml:123
8382msgid "Reboot"
8483msgstr "ਮੁਡ਼-ਚਾਲੂ"
8584
8685#: qml/Components/Dialogs.qml:127
8786msgid "Shutdown"
88−msgstr ""
87+msgstr "ਬੰਦ ਕਰੋ"
8988
90−#: qml/Components/Dialogs.qml:148
89+#: qml/Components/Dialogs.qml:124
9190msgid "Are you sure you want to reboot?"
9291msgstr "ਕੀ ਤੁਸੀਂ ਮੁੜ-ਚਾਲੂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
9392
94−#: qml/Components/Dialogs.qml:150
93+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
94+#: qml/Components/Dialogs.qml:126
9595msgid "No"
9696msgstr "ਨਹੀਂ"
9797
98−#: qml/Components/Dialogs.qml:156
98+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
99+#: qml/Components/Dialogs.qml:133
99100msgid "Yes"
100101msgstr "ਹਾਂ"
101102
102−#: qml/Components/Dialogs.qml:170
103+#: qml/Components/Dialogs.qml:148
103104msgid "Power"
104105msgstr "ਪਾਵਰ"
105106
106−#: qml/Components/Dialogs.qml:171
107+#: qml/Components/Dialogs.qml:149
107108msgid ""
108109"Are you sure you would like\n"
109110"to power off?"
@@ -111,363 +112,368 @@ msgstr ""
111112"ਕੀ ਤੁਸੀਂ ਪਾਵਰ-ਆਫ਼ ਕਰਨਾ\n"
112113"ਚਾਹੁੰਦੇ ਹੋ?"
113114
114−#: qml/Components/Dialogs.qml:173
115+#: qml/Components/Dialogs.qml:151
115116msgid "Power off"
116−msgstr ""
117+msgstr "ਬੰਦ ਕਰੋ"
117118
118−#: qml/Components/Dialogs.qml:182
119+#: qml/Components/Dialogs.qml:161
119120msgid "Restart"
120121msgstr "ਮੁੜ ਚਾਲੂ ਕਰੋ"
121122
122−#: qml/Components/Lockscreen.qml:238
123+#: qml/Components/Lockscreen.qml:223
123124msgid "Return to Call"
124−msgstr ""
125+msgstr "ਕਾਲ ਤੇ ਵਾਪਸ"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Emergency Call"
128−msgstr ""
129+msgstr "ਅਪਾਤਕਾਲੀਨ ਕਾਲ"
129130
130−#: qml/Components/Lockscreen.qml:270
131+#: qml/Components/Lockscreen.qml:255
131132msgid "OK"
132−msgstr ""
133+msgstr "ਠੀਕ"
133134
134−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
135+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
135136msgid "See less"
136−msgstr ""
137+msgstr "ਘੱਟ ਵੇਖੋ"
137138
138−#: qml/Dash/GenericScopeView.qml:528
139+#: qml/Dash/GenericScopeView.qml:434
139140msgid "See all"
140−msgstr ""
141+msgstr "ਸਾਰਾ ਵੇਖੋ"
141142
142−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
143+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
143144#: qml/Panel/SearchIndicator.qml:27
144145msgid "Search"
145−msgstr ""
146+msgstr "ਖੋਜ"
146147
147−#: qml/Dash/PageHeader.qml:269
148+#: qml/Dash/PageHeader.qml:261
148149msgid "Store"
149−msgstr ""
150+msgstr "ਸਟੋਰ"
150151
151−#: qml/Dash/PageHeader.qml:286
152+#: qml/Dash/PageHeader.qml:278
152153msgid "Settings"
153−msgstr ""
154+msgstr "ਸੈਟਿੰਗ"
154155
155−#: qml/Dash/PageHeader.qml:293
156+#: qml/Dash/PageHeader.qml:285
156157msgid "Remove from Favorites"
157−msgstr ""
158+msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Add to Favorites"
161−msgstr ""
162+msgstr "ਪਸੰਦ ਵਿੱਚ ਜੋੜੋ"
162163
163164#: qml/Dash/Previews/PreviewActionCombo.qml:35
164165msgid "More..."
165−msgstr ""
166+msgstr "ਹੋਰ..."
166167
167168#: qml/Dash/Previews/PreviewActionCombo.qml:35
168169msgid "Less..."
169−msgstr ""
170+msgstr "ਘੱਟ..."
170171
171172#: qml/Dash/Previews/PreviewRatingInput.qml:81
172173msgid "Rate this"
173−msgstr ""
174+msgstr "ਇਸ ਨੂੰ ਰੇਟ ਕਰੋ"
174175
175176#: qml/Dash/Previews/PreviewRatingInput.qml:126
176177msgid "Add a review"
177−msgstr ""
178+msgstr "ਸਮੀਖਿਆ ਜੋੜੋ"
178179
179180#: qml/Dash/Previews/PreviewRatingInput.qml:166
180181msgid "Send"
181−msgstr ""
182+msgstr "ਭੇਜੋ"
182183
183184#: qml/Dash/PullToRefreshScopeStyle.qml:55
184185msgid "Pull to refresh…"
185−msgstr ""
186+msgstr "ਤਾਜ਼ਾ ਕਰਨ ਲਈ ਖਿੱਚੋ..."
186187
187188#: qml/Dash/PullToRefreshScopeStyle.qml:60
188189msgid "Release to refresh…"
189−msgstr ""
190+msgstr "ਤਾਜ਼ਾ ਕਰਨ ਲਈ ਛੱਡੋ..."
190191
191192#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
192193msgid "Enable location data"
193−msgstr ""
194+msgstr "ਸਥਿਤੀ ਡਾਟਾ ਚਾਲੂ ਕਰੋ"
194195
195−#: qml/Dash/ScopesList.qml:66
196+#: qml/Dash/ScopesList.qml:63
196197msgid "Manage"
197−msgstr ""
198+msgstr "ਸਾਂਭ-ਸੰਭਾਲ"
198199
199−#: qml/Dash/ScopesList.qml:112
200+#: qml/Dash/ScopesList.qml:107
200201msgid "Home"
201−msgstr ""
202+msgstr "ਘਰ"
202203
203−#: qml/Dash/ScopesList.qml:113
204+#: qml/Dash/ScopesList.qml:108
204205msgid "Also installed"
205−msgstr ""
206+msgstr "ਨਾਲ ਇੰਸਟਾਲ ਹੋਇਆ"
206207
207−#: qml/Greeter/CoverPage.qml:107
208+#: qml/Greeter/Greeter.qml:174
208209msgid "Unlock"
209−msgstr ""
210+msgstr "ਅਣ-ਲਾਕ"
210211
211212#: qml/Greeter/LoginList.qml:236
212213msgid "Retry"
213−msgstr ""
214+msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ਼"
214215
215216#: qml/Greeter/LoginList.qml:237
216217msgid "Tap to unlock"
217−msgstr ""
218+msgstr "ਅਣਲਾਕ ਲਈ ਛੂਹੋ"
218219
219−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
220+#: qml/Shell.qml:444
220221msgid "Sorry, incorrect passphrase."
221−msgstr ""
222+msgstr "ਮੁਆਫ਼ੀ, ਗਲਤ ਵਾਕ।"
222223
223−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
224+#: qml/Shell.qml:445
224225msgid "Sorry, incorrect passcode."
225−msgstr ""
226+msgstr "ਮੁਆਫ਼ੀ, ਗਲਤ ਪਾਸਕੋਡ।"
226227
227−#: qml/Greeter/NarrowView.qml:55
228+#: qml/Shell.qml:446
228229msgid "This will be your last attempt."
229−msgstr ""
230+msgstr "ਇਹ ਤੁਹਾਡੀ ਆਖਰੀ ਕੋਸ਼ਿਸ਼ ਹੋਵੇਗੀ।"
230231
231−#: qml/Greeter/NarrowView.qml:57
232+#: qml/Shell.qml:448
232233msgid ""
233234"If passphrase is entered incorrectly, your phone will conduct a factory "
234235"reset and all personal data will be deleted."
235236msgstr ""
237+"ਜੇਕਰ ਗਲਤ ਵਾਕ ਦਰਜ ਹੋਇਆ, ਤੁਹਾਡਾ ਫ਼ੋਨ ਇੱਕ ਫ਼ੋਨ ਇੱਕ ਫ਼ੈਕਟਰੀ ਰੀਸੈੱਟ ਚਾਲੂ ਕਰੇਗਾ ਅਤੇ "
238+"ਸਾਰਾ ਨਿੱਜੀ ਡਾਟਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।"
236239
237−#: qml/Greeter/NarrowView.qml:58
240+#: qml/Shell.qml:449
238241msgid ""
239242"If passcode is entered incorrectly, your phone will conduct a factory reset "
240243"and all personal data will be deleted."
241244msgstr ""
245+"ਜੇਕਰ ਗਲਤ ਪਾਸਕੋਡ ਦਰਜ ਹੋਇਆ, ਤੁਹਾਡਾ ਫ਼ੋਨ ਇੱਕ ਫ਼ੋਨ ਇੱਕ ਫ਼ੈਕਟਰੀ ਰੀਸੈੱਟ ਚਾਲੂ ਕਰੇਗਾ "
246+"ਅਤੇ ਸਾਰਾ ਨਿੱਜੀ ਡਾਟਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।"
242247
243−#: qml/Greeter/NarrowView.qml:115
248+#: qml/Shell.qml:402
244249#, qt-format
245250msgid "Enter %1"
246−msgstr ""
251+msgstr "ਦਰਜ %1"
247252
248−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
253+#: qml/Shell.qml:394
249254msgid "Enter passphrase"
250−msgstr ""
255+msgstr "ਵਾਕ ਦਿਓ"
251256
252−#: qml/Greeter/NarrowView.qml:117
257+#: qml/Shell.qml:398
253258msgid "Enter passcode"
254−msgstr ""
259+msgstr "ਪਾਸਕੋਡ ਦਿਓ"
255260
256−#: qml/Greeter/NarrowView.qml:118
261+#: qml/Shell.qml:403
257262#, qt-format
258263msgid "Sorry, incorrect %1"
259−msgstr ""
264+msgstr "ਮੁਆਫ਼ੀ, ਗਲਤ %1"
260265
261−#: qml/Greeter/NarrowView.qml:119
266+#: qml/Shell.qml:395
262267msgid "Sorry, incorrect passphrase"
263−msgstr ""
268+msgstr "ਮੁਆਫ਼ੀ, ਗਲਤ ਵਾਕ"
264269
265−#: qml/Greeter/NarrowView.qml:120
270+#: qml/Shell.qml:396
266271msgid "Please re-enter"
267−msgstr ""
272+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਮੁੜ-ਦਰਜ ਕਰੋ"
268273
269−#: qml/Greeter/NarrowView.qml:121
274+#: qml/Shell.qml:399
270275msgid "Sorry, incorrect passcode"
271−msgstr ""
276+msgstr "ਮੁਆਫ਼ੀ, ਗਲਤ ਪਾਸਕੋਡ"
272277
273278#: qml/Notifications/NotificationMenuItemFactory.qml:128
274279msgid "Show password"
275−msgstr ""
280+msgstr "ਪਾਸਵਰਡ ਵਿਖਾਓ"
276281
277282#: qml/Panel/ActiveCallHint.qml:79
278283msgid "Tap to return to call..."
279−msgstr ""
284+msgstr "ਕਾਲ ਤੇ ਵਾਪਸ ਜਾਣ ਲਈ ਛੁਹੋ..."
280285
281286#: qml/Panel/ActiveCallHint.qml:92
282287msgid "Conference"
283−msgstr ""
288+msgstr "ਕਨਫਰੰਸ"
284289
285290#: qml/Panel/Indicators/MenuItemFactory.qml:643
286291msgid "Nothing is playing"
287−msgstr ""
292+msgstr "ਕੁੱਝ ਨਹੀਂ ਚੱਲ ਰਿਹਾ"
288293
289294#: qml/Panel/Indicators/MenuItemFactory.qml:791
290295msgid "In queue…"
291−msgstr ""
296+msgstr "ਕਤਾਰ ਵਿੱਚ..."
292297
293298#: qml/Panel/Indicators/MenuItemFactory.qml:795
294299msgid "Downloading"
295−msgstr ""
300+msgstr "ਡਾਊਨਲੋਡ ਕਰ ਰਿਹਾ"
296301
297302#: qml/Panel/Indicators/MenuItemFactory.qml:797
298303msgid "Paused, tap to resume"
299−msgstr ""
304+msgstr "ਵਿਰਾਮ, ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਛੂਹੋ"
300305
301306#: qml/Panel/Indicators/MenuItemFactory.qml:799
302307msgid "Canceled"
303−msgstr ""
308+msgstr "ਰੱਦ ਕੀਤਾ"
304309
305310#: qml/Panel/Indicators/MenuItemFactory.qml:801
306311msgid "Finished"
307−msgstr ""
312+msgstr "ਮੁਕੰਮਲ"
308313
309314#: qml/Panel/Indicators/MenuItemFactory.qml:803
310315msgid "Failed, tap to retry"
311−msgstr ""
316+msgstr "ਫ਼ੇਲ੍ਹ ਹੋਇਆ, ਮੁੜ-ਕੋਸ਼ਿਸ ਲਈ ਛੂਹੋ"
312317
313318#: qml/Panel/Indicators/MessageMenuItemFactory.qml:149
314319msgid "Reply"
315−msgstr ""
320+msgstr "ਜਵਾਬ"
316321
317322#: qml/Panel/Indicators/ModemInfoItem.qml:105
318323msgid "Unlock SIM"
319−msgstr ""
324+msgstr "ਅਣਲਾਕ SIM"
320325
321326#: qml/Panel/Indicators/RoamingIndication.qml:27
322327msgid "Roaming"
323−msgstr ""
328+msgstr "ਰੋਮਿੰਗ"
324329
325330#: qml/Tutorial/TutorialBottomFinish.qml:24
326331msgid "This action does different things for different apps"
327−msgstr ""
332+msgstr "ਇਹ ਕਾਰਵਾਈ ਵੱਖ ਐਪਾਂ ਲਈ ਵੱਖ ਵੱਖ ਚੀਜ਼ਾਂ ਕਰਦੀ ਹੈ"
328333
329334#: qml/Tutorial/TutorialBottomFinish.qml:25
330335msgid "Tap here to finish."
331−msgstr ""
336+msgstr "ਨਬੇੜਣ ਲਈ ਇੱਥੇ ਛੂਹੋ"
332337
333338#: qml/Tutorial/TutorialBottom.qml:28
334339msgid "Open special menus"
335−msgstr ""
340+msgstr "ਖਾਸ਼ ਮੀਨੂੰ ਖੋਲ੍ਹੋ"
336341
337342#: qml/Tutorial/TutorialBottom.qml:29
338343msgid "Swipe up from the bottom edge."
339−msgstr ""
344+msgstr "ਹੇਠਲੇ ਕਿਨਾਰੇ ਤੋਂ ਉੱਪਰ ਵੱਲੋਂ ਖਿੱਚੋ।"
340345
341346#: qml/Tutorial/TutorialLeftFinish.qml:24
342347msgid "These are the shortcuts to favorite apps"
343−msgstr ""
348+msgstr "ਇੱਥੇ ਤੁਹਾਡੀ ਪਸੰਦੀਦਾ ਐਪਾਂ ਲਈ ਸ਼ਾਰਟਕੱਟ ਹਨ"
344349
345350#: qml/Tutorial/TutorialLeftFinish.qml:25 qml/Tutorial/TutorialRight.qml:144
346351msgid "Tap here to continue."
347−msgstr ""
352+msgstr "ਜਾਰੀ ਰੱਖਣ ਲਈ ਇੱਥੇ ਛੂਹੋ।"
348353
349354#: qml/Tutorial/TutorialLeft.qml:26
350355msgid "Open the launcher"
351−msgstr ""
356+msgstr "ਲਾਂਚਰ ਨੂੰ ਖੋਲੋ"
352357
353358#: qml/Tutorial/TutorialLeft.qml:27
354359msgid "Short swipe from the left edge."
355−msgstr ""
360+msgstr "ਖੱਬੇ ਕਿਨਾਰੇ ਤੋਂ ਥੋੜ੍ਹਾ ਖਿੱਚੋ।"
356361
357362#: qml/Tutorial/TutorialPage.qml:178
358363msgid "You almost got it!"
359−msgstr ""
364+msgstr "ਤੁਸੀਂ ਲਗਭਗ ਸਮਝ ਗਏ ਹੋ!"
360365
361366#: qml/Tutorial/TutorialPage.qml:195
362367msgid "Try again."
363−msgstr ""
368+msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ ਕਰੋ।"
364369
365370#: qml/Tutorial/TutorialRight.qml:31
366371msgid "To view open apps"
367−msgstr ""
372+msgstr "ਖੁੱਲੀਆਂ ਐਪਾਂ ਵੇਖਣ ਲਈ"
368373
369374#: qml/Tutorial/TutorialRight.qml:32
370375msgid "Long swipe from the right edge."
371−msgstr ""
376+msgstr "ਸੱਜੇ ਪਾਸੇ ਤੋਂ ਲੰਬਾ ਖਿੱਚੋ।"
372377
373378#: qml/Tutorial/TutorialRight.qml:122
374379msgid "View all your running tasks."
375−msgstr ""
380+msgstr "ਆਪਣੇ ਸਾਰੇ ਚੱਲਦੇ ਕੰਮ ਵੇਖੋ।"
376381
377382#: qml/Wizard/Page.qml:89
378383msgid "Back"
379−msgstr ""
384+msgstr "ਪਿੱਛੇ"
380385
381386#: qml/Wizard/Pages/10-welcome.qml:27
382387msgid "Hi!"
383−msgstr ""
388+msgstr "ਹੈਲੋ!"
384389
385390#: qml/Wizard/Pages/10-welcome.qml:44
386391msgid "Welcome to your Ubuntu phone."
387−msgstr ""
392+msgstr "ਉਬੰਤੂ ਫ਼ੋਨ ਵਿੱਚ ਤੁਹਾਨੂੰ ਜੀ ਆਇਆ ਨੂੰ।"
388393
389394#: qml/Wizard/Pages/10-welcome.qml:52
390395msgid "Let’s get started."
391−msgstr ""
396+msgstr "ਚਲੋ ਸ਼ੁਰੂ ਕਰੀਏ।"
392397
393398#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:128
394399#: qml/Wizard/Pages/40-wifi.qml:215 qml/Wizard/Pages/50-location.qml:131
395400#: qml/Wizard/Pages/60-reporting.qml:50 qml/Wizard/Pages/passwd-confirm.qml:82
396401#: qml/Wizard/Pages/passwd-set.qml:90
397402msgid "Continue"
398−msgstr ""
403+msgstr "ਜਾਰੀ"
399404
400405#: qml/Wizard/Pages/20-sim.qml:25
401406msgid "Add a SIM card and restart your device"
402−msgstr ""
407+msgstr "ਸਿਮ ਕਾਰਡ ਦਾਖਲ ਕਰੋ ਅਤੇ ਜੰਤਰ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰੋ"
403408
404409#: qml/Wizard/Pages/20-sim.qml:59
405410msgid "Without it, you won’t be able to make calls or use text messaging."
406−msgstr ""
411+msgstr "ਇਸ ਤੋਂ ਬਿਨਾਂ, ਤੁਸੀਂ ਨਾ ਹੀ ਕਾਲਾਂ ਕਰ ਜਾਂ ਸੁਨੇਹੇ ਨਹੀਂ ਭੇਜ ਸਕੋਗੇ।"
407412
408413#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
409414msgid "Skip"
410−msgstr ""
415+msgstr "ਛੱਡੋ"
411416
412417#: qml/Wizard/Pages/30-passwd-type.qml:39
413418msgid "Lock security"
414−msgstr ""
419+msgstr "ਲਾਕ ਸੁਰੱਖਿਆ"
415420
416421#: qml/Wizard/Pages/30-passwd-type.qml:74
417422msgid "Please select how you’d like to unlock your phone."
418423msgstr ""
424+"ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ ਤੁਸੀਂ ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਕਿਸ ਤਰ੍ਹਾਂ ਅਣ-ਲਾਕ ਕਰਨਾ ਪਸੰਦ ਕਰੋਗੇ।"
419425
420426#: qml/Wizard/Pages/30-passwd-type.qml:97
421427msgid "Swipe"
422−msgstr ""
428+msgstr "ਖਿੱਚੋ"
423429
424430#: qml/Wizard/Pages/30-passwd-type.qml:98
425431msgid "No security"
426−msgstr ""
432+msgstr "ਸੁਰੱਖਿਆ ਨਹੀਂ"
427433
428434#: qml/Wizard/Pages/30-passwd-type.qml:100
429435msgid "Passcode"
430−msgstr ""
436+msgstr "ਪਾਸਕੋਡ"
431437
432438#: qml/Wizard/Pages/30-passwd-type.qml:101
433439msgid "4 digits only"
434−msgstr ""
440+msgstr "ਕੇਵਲ 4 ਅੰਕ"
435441
436442#: qml/Wizard/Pages/30-passwd-type.qml:103
437443msgid "Passphrase"
438−msgstr ""
444+msgstr "ਵਾਕ"
439445
440446#: qml/Wizard/Pages/30-passwd-type.qml:104
441447msgid "Numbers and letters"
442−msgstr ""
448+msgstr "ਨੰਬਰਾਂ ਅਤੇ ਅੱਖਰਾਂ"
443449
444450#: qml/Wizard/Pages/40-wifi.qml:29
445451msgid "Connect to Wi‑Fi"
446−msgstr ""
452+msgstr "ਵਾਈ-ਫ਼ਾਈ ਨਾਲ ਕੁਨੇਕਟ ਹੋਵੋ"
447453
448454#: qml/Wizard/Pages/40-wifi.qml:168
449455msgid "Available networks…"
450−msgstr ""
456+msgstr "ਮੌਜੂਦ ਨੈੱਟਵਰਕ..."
451457
452458#: qml/Wizard/Pages/40-wifi.qml:169
453459msgid "No available networks."
454−msgstr ""
460+msgstr "ਕੋਈ ਨੈੱਟਵਰਕ ਮੌਜੂਦ ਨਹੀਂ।"
455461
456462#: qml/Wizard/Pages/50-location.qml:27
457463msgid "Location"
458−msgstr ""
464+msgstr "ਟਿਕਾਣਾ"
459465
460466#: qml/Wizard/Pages/50-location.qml:62
461467msgid "Let the phone detect your location:"
462−msgstr ""
468+msgstr "ਫ਼ੋਨ ਨੂੰ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਦਾ ਪਤਾ ਲਗਾਉਣ ਦਿਓ:"
463469
464470#: qml/Wizard/Pages/50-location.qml:69
465471msgid "Using GPS only (less accurate)"
466−msgstr ""
472+msgstr "ਕੇਵਲ GPS ਦੀ ਵਰਤੋਂ (ਘੱਟ ਦਰੁਸਤ)"
467473
468474#: qml/Wizard/Pages/50-location.qml:86
469475msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
470−msgstr ""
476+msgstr "GPS ਦੀ ਵਰਤੋਂ, ਅਣਜਾਣ Wi-Fi ਅਤੇ ਸੈਲੂਲਰ ਨੈੱਟਵਰਕ ਇੰਫ਼ੋ (ਸ਼ਿਫ਼ਾਰਸ)"
471477
472478#. TRANSLATORS: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
473479#: qml/Wizard/Pages/50-location.qml:103
@@ -475,81 +481,87 @@ msgid ""
475481"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
476482"conditions</a>."
477483msgstr ""
484+"ਇਸ ਵਿਕਲਪ ਨੂੰ ਚੁਣਨ ਦੁਆਰਾ, ਤੁਸੀਂ ਨੋਕੀਆ HERE <a href='#'>ਨਿਯਮ ਅਤੇ ਸ਼ਰਤਾਂ</a>ਨੂੰ "
485+"ਪ੍ਰਵਾਨ ਕਰਦੇ ਹੋ।"
478486
479487#: qml/Wizard/Pages/50-location.qml:112
480488msgid "Not at all"
481−msgstr ""
489+msgstr "ਬਿਲਕੁਲ ਨਹੀਂ"
482490
483491#: qml/Wizard/Pages/50-location.qml:124
484492msgid "You can change your mind later in <b>System Settings</b>."
485−msgstr ""
493+msgstr "ਤੁਸੀਂ ਬਾਅਦ ਵਿੱਚ <b>ਸਿਸਟਮ ਸੈਟਿੰਗ</b>ਵਿੱਚ ਆਪਣਾ ਮਨ ਬਦਲ ਸਕਦੇ ਹੋ।"
486494
487495#: qml/Wizard/Pages/60-reporting.qml:24
488496msgid "Improving your experience"
489−msgstr ""
497+msgstr "ਤੁਹਾਡਾ ਅਨੁਭਵ ਵਧਾ ਰਿਹਾ"
490498
491499#: qml/Wizard/Pages/60-reporting.qml:36
492500msgid ""
493501"Your phone is set up to automatically report errors to Canonical and its "
494502"partners, the makers of the operating system."
495503msgstr ""
504+"ਤੁਹਾਡੇ ਫ਼ੋਨ ਨੂੰ ਕੈਨੋਨੀਕਲ ਅਤੇ ਉਸਦੇ ਸਾਥੀਆਂ, ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਦੇ ਨਿਰਮਾਤਾਵਾਂ ਨੂੰ "
505+"ਆਪਣੇ ਆਪ ਖਾਮੀ ਸੂਚਨਾਵਾਂ ਭੇਜਣ ਲਈ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ।"
496506
497507#: qml/Wizard/Pages/60-reporting.qml:43
498508msgid ""
499509"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
500510"Privacy</b>"
501511msgstr ""
512+"ਇਸ ਨੂੰ <b>ਸਿਸਟਮ ਸੈਟਿੰਗ</b> ਅਧੀਨ <b>ਸੁਰੱਖਿਆ &amp; ਪਰਦੇਦਾਰੀ</b>ਵਿੱਚ ਬੰਦ ਕੀਤਾ "
513+"ਜਾ ਸਕਦਾ"
502514
503515#: qml/Wizard/Pages/80-finished.qml:24
504516msgid "All done"
505−msgstr ""
517+msgstr "ਸੱਭ ਮੁਕੰਮਲ"
506518
507519#: qml/Wizard/Pages/80-finished.qml:39
508520msgid "Nice work!"
509−msgstr ""
521+msgstr "ਚੰਗਾ ਕੰਮ!"
510522
511523#: qml/Wizard/Pages/80-finished.qml:46
512524msgid "Your phone is now ready to use."
513−msgstr ""
525+msgstr "ਤੁਹਾਡਾ ਫ਼ੋਨ ਹੁਣ ਵਰਤੋਂ ਲਈ ਤਿਆਰ ਹੈ।"
514526
515527#: qml/Wizard/Pages/80-finished.qml:53
516528msgid "Finish"
517−msgstr ""
529+msgstr "ਮੁਕੰਮਲ"
518530
519531#: qml/Wizard/Pages/here-terms.qml:27
520532msgid "Terms & Conditions"
521−msgstr ""
533+msgstr "ਨਿਯਮ ਅਤੇ ਸ਼ਰਤਾਂ"
522534
523535#: qml/Wizard/Pages/passwd-confirm.qml:49
524536msgid "Confirm passphrase"
525−msgstr ""
537+msgstr "ਵਾਕ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"
526538
527539#: qml/Wizard/Pages/passwd-confirm.qml:50
528540msgid "Confirm passcode"
529−msgstr ""
541+msgstr "ਪਾਸਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"
530542
531543#: qml/Wizard/Pages/passwd-confirm.qml:53
532544#: qml/Wizard/Pages/passwd-confirm.qml:54
533545msgid "Please try again."
534−msgstr ""
546+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਮੁੜ ਕੋਸ਼ਿਸ ਕਰੋ।"
535547
536548#: qml/Wizard/Pages/passwd-set.qml:61
537549msgid "Choose your passcode"
538−msgstr ""
550+msgstr "ਆਪਣਾ ਪਾਸਕੋਡ ਚੁਣੋ"
539551
540552#: qml/Wizard/Pages/passwd-set.qml:68
541553msgid "Passphrase must be 4 characters long"
542−msgstr ""
554+msgstr "ਵਾਕ 4 ਅੱਖਰ ਜਿੰਨ੍ਹਾ ਵੱਡਾ ਹੋਣਾ ਚਾਹੀਦਾ"
543555
544556#: qml/Wizard/StackButton.qml:39
545557#, qt-format
546558msgid "〈 %1"
547−msgstr ""
559+msgstr "〈 %1"
548560
549561#: qml/Wizard/StackButton.qml:42
550562#, qt-format
551563msgid "%1 〉"
552−msgstr ""
564+msgstr "%1 〉"
553565
554566#~ msgid "Top edge"
555567#~ msgstr "ਉੱਪਰੀ ਕੰਢਾ"
po/pt.po+56−55
@@ -8,102 +8,103 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-20 19:06+0000\n"
11+"PO-Revision-Date: 2015-03-11 15:32+0000\n"
1212"Last-Translator: António Miranda <Unknown>\n"
1313"Language-Team: Portuguese <pt@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-12 04:59+0000\n"
19+"X-Generator: Launchpad (build 17389)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Palavra-passe: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Afixar atalho"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Remover atalho"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Dispositivo bloqueado"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr "Foi bloqueado devido a muitas tentativas falhadas da frase-senha."
4141
42−#: qml/Components/DelayedLockscreen.qml:65
42+#: qml/Components/DelayedLockscreen.qml:63
4343msgid "You have been locked out due to too many failed passcode attempts."
4444msgstr "Foi bloqueado devido a muitas tentativas falhadas da senha."
4545
46−#: qml/Components/DelayedLockscreen.qml:74
46+#: qml/Components/DelayedLockscreen.qml:72
4747#, qt-format
4848msgid "Please wait %1 minute and then try again…"
4949msgid_plural "Please wait %1 minutes and then try again…"
5050msgstr[0] "Por favor, aguarde %1 minuto e tente novamente…"
5151msgstr[1] "Por favor, aguarde %1 minutos e tente novamente…"
5252
53−#: qml/Components/Dialogs.qml:87
53+#: qml/Components/Dialogs.qml:74
5454msgid "Log out"
5555msgstr "Terminar sessão"
5656
57−#: qml/Components/Dialogs.qml:88
57+#: qml/Components/Dialogs.qml:75
5858msgid "Are you sure you want to log out?"
5959msgstr "Tem a certeza de que quer sair?"
6060
6161#: qml/Components/Dialogs.qml:90
6262msgid "Lock"
63−msgstr ""
63+msgstr "Bloquear"
6464
6565#: qml/Components/Dialogs.qml:97
6666msgid "Log Out"
67−msgstr ""
67+msgstr "Terminar sessão"
6868
69−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
70−#: qml/Components/Dialogs.qml:191
69+#: qml/Components/Dialogs.qml:171
7170msgid "Cancel"
7271msgstr "Cancelar"
7372
74−#: qml/Components/Dialogs.qml:116
73+#: qml/Components/Dialogs.qml:98
7574msgid "Shut down"
7675msgstr "Encerrar"
7776
78−#: qml/Components/Dialogs.qml:117
77+#: qml/Components/Dialogs.qml:99
7978msgid "Are you sure you want to shut down?"
8079msgstr "Tem a certeza de que quer encerrar?"
8180
82−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
81+#: qml/Components/Dialogs.qml:123
8382msgid "Reboot"
8483msgstr "Reiniciar"
8584
8685#: qml/Components/Dialogs.qml:127
8786msgid "Shutdown"
88−msgstr ""
87+msgstr "Encerrar"
8988
90−#: qml/Components/Dialogs.qml:148
89+#: qml/Components/Dialogs.qml:124
9190msgid "Are you sure you want to reboot?"
9291msgstr "Tem a certeza de que quer reiniciar?"
9392
94−#: qml/Components/Dialogs.qml:150
93+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
94+#: qml/Components/Dialogs.qml:126
9595msgid "No"
9696msgstr "Não"
9797
98−#: qml/Components/Dialogs.qml:156
98+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
99+#: qml/Components/Dialogs.qml:133
99100msgid "Yes"
100101msgstr "Sim"
101102
102−#: qml/Components/Dialogs.qml:170
103+#: qml/Components/Dialogs.qml:148
103104msgid "Power"
104105msgstr "Energia"
105106
106−#: qml/Components/Dialogs.qml:171
107+#: qml/Components/Dialogs.qml:149
107108msgid ""
108109"Are you sure you would like\n"
109110"to power off?"
@@ -111,52 +112,52 @@ msgstr ""
111112"Tem a certeza de quer\n"
112113"desligar?"
113114
114−#: qml/Components/Dialogs.qml:173
115+#: qml/Components/Dialogs.qml:151
115116msgid "Power off"
116117msgstr "Desligar"
117118
118−#: qml/Components/Dialogs.qml:182
119+#: qml/Components/Dialogs.qml:161
119120msgid "Restart"
120121msgstr "Reiniciar"
121122
122−#: qml/Components/Lockscreen.qml:238
123+#: qml/Components/Lockscreen.qml:223
123124msgid "Return to Call"
124125msgstr "Retorne para chamar"
125126
126−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
127128msgid "Emergency Call"
128129msgstr "Chamada de emergência"
129130
130−#: qml/Components/Lockscreen.qml:270
131+#: qml/Components/Lockscreen.qml:255
131132msgid "OK"
132133msgstr "OK"
133134
134−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
135+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
135136msgid "See less"
136137msgstr "Ver menos"
137138
138−#: qml/Dash/GenericScopeView.qml:528
139+#: qml/Dash/GenericScopeView.qml:434
139140msgid "See all"
140141msgstr "Ver todos"
141142
142−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
143+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
143144#: qml/Panel/SearchIndicator.qml:27
144145msgid "Search"
145146msgstr "Procurar"
146147
147−#: qml/Dash/PageHeader.qml:269
148+#: qml/Dash/PageHeader.qml:261
148149msgid "Store"
149150msgstr "Store"
150151
151−#: qml/Dash/PageHeader.qml:286
152+#: qml/Dash/PageHeader.qml:278
152153msgid "Settings"
153154msgstr "Definições"
154155
155−#: qml/Dash/PageHeader.qml:293
156+#: qml/Dash/PageHeader.qml:285
156157msgid "Remove from Favorites"
157158msgstr "Remover dos favoritos"
158159
159−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
160161msgid "Add to Favorites"
161162msgstr "Adicionar aos favoritos"
162163
@@ -192,43 +193,43 @@ msgstr "Solte para atualizar..."
192193msgid "Enable location data"
193194msgstr "Ativar dados de localização"
194195
195−#: qml/Dash/ScopesList.qml:66
196+#: qml/Dash/ScopesList.qml:63
196197msgid "Manage"
197198msgstr "Gerir"
198199
199−#: qml/Dash/ScopesList.qml:112
200+#: qml/Dash/ScopesList.qml:107
200201msgid "Home"
201202msgstr "Página inicial"
202203
203−#: qml/Dash/ScopesList.qml:113
204+#: qml/Dash/ScopesList.qml:108
204205msgid "Also installed"
205206msgstr "Também instalado"
206207
207−#: qml/Greeter/CoverPage.qml:107
208+#: qml/Greeter/Greeter.qml:174
208209msgid "Unlock"
209210msgstr "Desbloquear"
210211
211212#: qml/Greeter/LoginList.qml:236
212213msgid "Retry"
213−msgstr ""
214+msgstr "Tentar novamente"
214215
215216#: qml/Greeter/LoginList.qml:237
216217msgid "Tap to unlock"
217−msgstr ""
218+msgstr "Toque para desbloquear"
218219
219−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
220+#: qml/Shell.qml:444
220221msgid "Sorry, incorrect passphrase."
221222msgstr "Desculpe, frase de acesso incorreta."
222223
223−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
224+#: qml/Shell.qml:445
224225msgid "Sorry, incorrect passcode."
225226msgstr "Desculpe, senha incorreta."
226227
227−#: qml/Greeter/NarrowView.qml:55
228+#: qml/Shell.qml:446
228229msgid "This will be your last attempt."
229230msgstr "Esta será a sua última tentativa."
230231
231−#: qml/Greeter/NarrowView.qml:57
232+#: qml/Shell.qml:448
232233msgid ""
233234"If passphrase is entered incorrectly, your phone will conduct a factory "
234235"reset and all personal data will be deleted."
@@ -236,7 +237,7 @@ msgstr ""
236237"Se a frase de acesso for introduzida incorretamente, o seu telemóvel vai "
237238"proceder ao restauro de fábrica e apagará toda a sua informação pessoal."
238239
239−#: qml/Greeter/NarrowView.qml:58
240+#: qml/Shell.qml:449
240241msgid ""
241242"If passcode is entered incorrectly, your phone will conduct a factory reset "
242243"and all personal data will be deleted."
@@ -244,33 +245,33 @@ msgstr ""
244245"Se a senha for introduzida incorretamente, o seu telemóvel vai apagar todos "
245246"os seus dados pessoais."
246247
247−#: qml/Greeter/NarrowView.qml:115
248+#: qml/Shell.qml:402
248249#, qt-format
249250msgid "Enter %1"
250251msgstr "Introduziu %1"
251252
252−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
253+#: qml/Shell.qml:394
253254msgid "Enter passphrase"
254255msgstr "Indique a frase-senha"
255256
256−#: qml/Greeter/NarrowView.qml:117
257+#: qml/Shell.qml:398
257258msgid "Enter passcode"
258259msgstr "Introduza senha"
259260
260−#: qml/Greeter/NarrowView.qml:118
261+#: qml/Shell.qml:403
261262#, qt-format
262263msgid "Sorry, incorrect %1"
263264msgstr "Desculpe, incorreto %1"
264265
265−#: qml/Greeter/NarrowView.qml:119
266+#: qml/Shell.qml:395
266267msgid "Sorry, incorrect passphrase"
267268msgstr "Desculpe, frase-senha incorreta"
268269
269−#: qml/Greeter/NarrowView.qml:120
270+#: qml/Shell.qml:396
270271msgid "Please re-enter"
271272msgstr "Por favor, volte a introduzir"
272273
273−#: qml/Greeter/NarrowView.qml:121
274+#: qml/Shell.qml:399
274275msgid "Sorry, incorrect passcode"
275276msgstr "Desculpe, senha incorreta"
276277
po/pt_BR.po+109−97
@@ -8,102 +8,105 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-03-03 16:25+0000\n"
12−"Last-Translator: Roberto Luiz Debarba <roberto.debarba@gmail.com>\n"
11+"PO-Revision-Date: 2015-03-13 17:03+0000\n"
12+"Last-Translator: Tiago Hillebrandt <tiagohillebrandt@gmail.com>\n"
1313"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:57+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-14 05:32+0000\n"
19+"X-Generator: Launchpad (build 17389)\n"
2020
21−#: plugins/LightDM/Greeter.cpp:112
21+#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Senha: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Fixar atalho"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Desafixar atalho"
3333
34−#: qml/Components/DelayedLockscreen.qml:49
34+#: qml/Components/DelayedLockscreen.qml:47
3535msgid "Device Locked"
3636msgstr "Dispositivo bloqueado"
3737
38−#: qml/Components/DelayedLockscreen.qml:64
38+#: qml/Components/DelayedLockscreen.qml:62
3939msgid "You have been locked out due to too many failed passphrase attempts."
4040msgstr "Você foi bloqueado por que inseriu uma senha incorreta várias vezes."
4141
42−#: qml/Components/DelayedLockscreen.qml:65
42+#: qml/Components/DelayedLockscreen.qml:63
4343msgid "You have been locked out due to too many failed passcode attempts."
4444msgstr ""
45+"Você foi bloqueado por que inseriu um código de acesso incorreto várias "
46+"vezes."
4547
46−#: qml/Components/DelayedLockscreen.qml:74
48+#: qml/Components/DelayedLockscreen.qml:72
4749#, qt-format
4850msgid "Please wait %1 minute and then try again…"
4951msgid_plural "Please wait %1 minutes and then try again…"
5052msgstr[0] "Por favor espere %1 minuto e tente novamente..."
5153msgstr[1] "Por favor espere %1 minutos e tente novamente..."
5254
53−#: qml/Components/Dialogs.qml:87
55+#: qml/Components/Dialogs.qml:74
5456msgid "Log out"
5557msgstr "Sair"
5658
57−#: qml/Components/Dialogs.qml:88
59+#: qml/Components/Dialogs.qml:75
5860msgid "Are you sure you want to log out?"
5961msgstr "Tem certeza de que deseja sair?"
6062
6163#: qml/Components/Dialogs.qml:90
6264msgid "Lock"
63−msgstr ""
65+msgstr "Travar"
6466
6567#: qml/Components/Dialogs.qml:97
6668msgid "Log Out"
67−msgstr ""
69+msgstr "Sair"
6870
69−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
70−#: qml/Components/Dialogs.qml:191
71+#: qml/Components/Dialogs.qml:171
7172msgid "Cancel"
7273msgstr "Cancelar"
7374
74−#: qml/Components/Dialogs.qml:116
75+#: qml/Components/Dialogs.qml:98
7576msgid "Shut down"
7677msgstr "Desligar"
7778
78−#: qml/Components/Dialogs.qml:117
79+#: qml/Components/Dialogs.qml:99
7980msgid "Are you sure you want to shut down?"
8081msgstr "Tem certeza de que deseja desligar?"
8182
82−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
83+#: qml/Components/Dialogs.qml:123
8384msgid "Reboot"
8485msgstr "Reiniciar"
8586
8687#: qml/Components/Dialogs.qml:127
8788msgid "Shutdown"
88−msgstr ""
89+msgstr "Desligar"
8990
90−#: qml/Components/Dialogs.qml:148
91+#: qml/Components/Dialogs.qml:124
9192msgid "Are you sure you want to reboot?"
9293msgstr "Tem certeza de que deseja reiniciar?"
9394
94−#: qml/Components/Dialogs.qml:150
95+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
96+#: qml/Components/Dialogs.qml:126
9597msgid "No"
9698msgstr "Não"
9799
98−#: qml/Components/Dialogs.qml:156
100+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
101+#: qml/Components/Dialogs.qml:133
99102msgid "Yes"
100103msgstr "Sim"
101104
102−#: qml/Components/Dialogs.qml:170
105+#: qml/Components/Dialogs.qml:148
103106msgid "Power"
104107msgstr "Energia"
105108
106−#: qml/Components/Dialogs.qml:171
109+#: qml/Components/Dialogs.qml:149
107110msgid ""
108111"Are you sure you would like\n"
109112"to power off?"
@@ -111,52 +114,52 @@ msgstr ""
111114"Tem certeza que você gostaria \n"
112115"de desligar?"
113116
114−#: qml/Components/Dialogs.qml:173
117+#: qml/Components/Dialogs.qml:151
115118msgid "Power off"
116119msgstr "Desligar"
117120
118−#: qml/Components/Dialogs.qml:182
121+#: qml/Components/Dialogs.qml:161
119122msgid "Restart"
120123msgstr "Reiniciar"
121124
122−#: qml/Components/Lockscreen.qml:238
125+#: qml/Components/Lockscreen.qml:223
123126msgid "Return to Call"
124127msgstr "Retornar para a chamada"
125128
126−#: qml/Components/Lockscreen.qml:238
129+#: qml/Components/Lockscreen.qml:223
127130msgid "Emergency Call"
128131msgstr "Chamada de emergência"
129132
130−#: qml/Components/Lockscreen.qml:270
133+#: qml/Components/Lockscreen.qml:255
131134msgid "OK"
132135msgstr "OK"
133136
134−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
137+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
135138msgid "See less"
136139msgstr "Ver menos"
137140
138−#: qml/Dash/GenericScopeView.qml:528
141+#: qml/Dash/GenericScopeView.qml:434
139142msgid "See all"
140143msgstr "Ver todos"
141144
142−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
145+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
143146#: qml/Panel/SearchIndicator.qml:27
144147msgid "Search"
145148msgstr "Pesquisar"
146149
147−#: qml/Dash/PageHeader.qml:269
150+#: qml/Dash/PageHeader.qml:261
148151msgid "Store"
149152msgstr "Loja"
150153
151−#: qml/Dash/PageHeader.qml:286
154+#: qml/Dash/PageHeader.qml:278
152155msgid "Settings"
153156msgstr "Configurações"
154157
155−#: qml/Dash/PageHeader.qml:293
158+#: qml/Dash/PageHeader.qml:285
156159msgid "Remove from Favorites"
157160msgstr "Remover dos favoritos"
158161
159−#: qml/Dash/PageHeader.qml:293
162+#: qml/Dash/PageHeader.qml:285
160163msgid "Add to Favorites"
161164msgstr "Adicionar aos favoritos"
162165
@@ -190,45 +193,45 @@ msgstr "Solte para atualizar..."
190193
191194#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
192195msgid "Enable location data"
193−msgstr ""
196+msgstr "Habilitar dados de localização"
194197
195−#: qml/Dash/ScopesList.qml:66
198+#: qml/Dash/ScopesList.qml:63
196199msgid "Manage"
197200msgstr "Gerenciar"
198201
199−#: qml/Dash/ScopesList.qml:112
202+#: qml/Dash/ScopesList.qml:107
200203msgid "Home"
201204msgstr "Início"
202205
203−#: qml/Dash/ScopesList.qml:113
206+#: qml/Dash/ScopesList.qml:108
204207msgid "Also installed"
205208msgstr "Instalado também"
206209
207−#: qml/Greeter/CoverPage.qml:107
210+#: qml/Greeter/Greeter.qml:174
208211msgid "Unlock"
209212msgstr "Destravar"
210213
211214#: qml/Greeter/LoginList.qml:236
212215msgid "Retry"
213−msgstr ""
216+msgstr "Repetir"
214217
215218#: qml/Greeter/LoginList.qml:237
216219msgid "Tap to unlock"
217−msgstr ""
220+msgstr "Toque para desbloquear"
218221
219−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
222+#: qml/Shell.qml:444
220223msgid "Sorry, incorrect passphrase."
221224msgstr "Desculpe, senha incorreta."
222225
223−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
226+#: qml/Shell.qml:445
224227msgid "Sorry, incorrect passcode."
225228msgstr "Desculpe, código de acesso incorreto."
226229
227−#: qml/Greeter/NarrowView.qml:55
230+#: qml/Shell.qml:446
228231msgid "This will be your last attempt."
229232msgstr "Esta será a sua última tentativa."
230233
231−#: qml/Greeter/NarrowView.qml:57
234+#: qml/Shell.qml:448
232235msgid ""
233236"If passphrase is entered incorrectly, your phone will conduct a factory "
234237"reset and all personal data will be deleted."
@@ -236,7 +239,7 @@ msgstr ""
236239"Se a senha for digitada incorretamente, o telefone será restaurado aos "
237240"padrões de fábrica e todos os dados pessoais serão apagados."
238241
239−#: qml/Greeter/NarrowView.qml:58
242+#: qml/Shell.qml:449
240243msgid ""
241244"If passcode is entered incorrectly, your phone will conduct a factory reset "
242245"and all personal data will be deleted."
@@ -244,33 +247,33 @@ msgstr ""
244247"Se o código de acesso for digitado incorretamente, o telefone será "
245248"restaurado aos padrões de fábrica e todos os dados pessoais serão apagados."
246249
247−#: qml/Greeter/NarrowView.qml:115
250+#: qml/Shell.qml:402
248251#, qt-format
249252msgid "Enter %1"
250253msgstr "Digite %1"
251254
252−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
255+#: qml/Shell.qml:394
253256msgid "Enter passphrase"
254−msgstr ""
257+msgstr "Digite a frase secreta"
255258
256−#: qml/Greeter/NarrowView.qml:117
259+#: qml/Shell.qml:398
257260msgid "Enter passcode"
258−msgstr ""
261+msgstr "Informe sua senha"
259262
260−#: qml/Greeter/NarrowView.qml:118
263+#: qml/Shell.qml:403
261264#, qt-format
262265msgid "Sorry, incorrect %1"
263266msgstr "Desculpe, %1 incorreto"
264267
265−#: qml/Greeter/NarrowView.qml:119
268+#: qml/Shell.qml:395
266269msgid "Sorry, incorrect passphrase"
267270msgstr "Desculpe, senha incorreta"
268271
269−#: qml/Greeter/NarrowView.qml:120
272+#: qml/Shell.qml:396
270273msgid "Please re-enter"
271274msgstr "Por favor, digite novamente"
272275
273−#: qml/Greeter/NarrowView.qml:121
276+#: qml/Shell.qml:399
274277msgid "Sorry, incorrect passcode"
275278msgstr "Desculpe, senha incorreta"
276279
@@ -328,55 +331,55 @@ msgstr "Roaming"
328331
329332#: qml/Tutorial/TutorialBottomFinish.qml:24
330333msgid "This action does different things for different apps"
331−msgstr ""
334+msgstr "Esta ação faz coisas diferentes para diferentes aplicações"
332335
333336#: qml/Tutorial/TutorialBottomFinish.qml:25
334337msgid "Tap here to finish."
335−msgstr ""
338+msgstr "Toque aqui para terminar."
336339
337340#: qml/Tutorial/TutorialBottom.qml:28
338341msgid "Open special menus"
339−msgstr ""
342+msgstr "Abrir menus especiais"
340343
341344#: qml/Tutorial/TutorialBottom.qml:29
342345msgid "Swipe up from the bottom edge."
343−msgstr ""
346+msgstr "eslize para cima a partir da borda inferior."
344347
345348#: qml/Tutorial/TutorialLeftFinish.qml:24
346349msgid "These are the shortcuts to favorite apps"
347−msgstr ""
350+msgstr "Estes são os atalhos para aplicativos favoritos"
348351
349352#: qml/Tutorial/TutorialLeftFinish.qml:25 qml/Tutorial/TutorialRight.qml:144
350353msgid "Tap here to continue."
351−msgstr ""
354+msgstr "Toque aqui para continuar."
352355
353356#: qml/Tutorial/TutorialLeft.qml:26
354357msgid "Open the launcher"
355−msgstr ""
358+msgstr "Abrir o lançador"
356359
357360#: qml/Tutorial/TutorialLeft.qml:27
358361msgid "Short swipe from the left edge."
359−msgstr ""
362+msgstr "Deslize curto a partir da borda esquerda."
360363
361364#: qml/Tutorial/TutorialPage.qml:178
362365msgid "You almost got it!"
363−msgstr ""
366+msgstr "Você quase conseguiu!"
364367
365368#: qml/Tutorial/TutorialPage.qml:195
366369msgid "Try again."
367−msgstr ""
370+msgstr "Tentar novamente."
368371
369372#: qml/Tutorial/TutorialRight.qml:31
370373msgid "To view open apps"
371−msgstr ""
374+msgstr "Para ver os aplicativos abertos"
372375
373376#: qml/Tutorial/TutorialRight.qml:32
374377msgid "Long swipe from the right edge."
375−msgstr ""
378+msgstr "Deslize longo a partir da borda direita."
376379
377380#: qml/Tutorial/TutorialRight.qml:122
378381msgid "View all your running tasks."
379−msgstr ""
382+msgstr "Visualizar todas as tarefas em execução."
380383
381384#: qml/Wizard/Page.qml:89
382385msgid "Back"
@@ -388,11 +391,11 @@ msgstr "Olá!"
388391
389392#: qml/Wizard/Pages/10-welcome.qml:44
390393msgid "Welcome to your Ubuntu phone."
391−msgstr ""
394+msgstr "Bem-vindo ao seu Ubuntu phone."
392395
393396#: qml/Wizard/Pages/10-welcome.qml:52
394397msgid "Let’s get started."
395−msgstr ""
398+msgstr "Vamos começar."
396399
397400#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:128
398401#: qml/Wizard/Pages/40-wifi.qml:215 qml/Wizard/Pages/50-location.qml:131
@@ -408,6 +411,7 @@ msgstr "Adicione um cartão SIM e reinicie o seu dispositivo"
408411#: qml/Wizard/Pages/20-sim.qml:59
409412msgid "Without it, you won’t be able to make calls or use text messaging."
410413msgstr ""
414+"Sem ele, você não será capaz de fazer chamadas ou usar mensagens de texto."
411415
412416#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
413417msgid "Skip"
@@ -419,7 +423,7 @@ msgstr "Trava de segurança"
419423
420424#: qml/Wizard/Pages/30-passwd-type.qml:74
421425msgid "Please select how you’d like to unlock your phone."
422−msgstr ""
426+msgstr "Por favor, selecione como você gostaria de desbloquear seu telefone."
423427
424428#: qml/Wizard/Pages/30-passwd-type.qml:97
425429msgid "Swipe"
@@ -439,39 +443,40 @@ msgstr "Somente 4 dígitos"
439443
440444#: qml/Wizard/Pages/30-passwd-type.qml:103
441445msgid "Passphrase"
442−msgstr ""
446+msgstr "Frase secreta"
443447
444448#: qml/Wizard/Pages/30-passwd-type.qml:104
445449msgid "Numbers and letters"
446−msgstr ""
450+msgstr "Números e letras"
447451
448452#: qml/Wizard/Pages/40-wifi.qml:29
449453msgid "Connect to Wi‑Fi"
450−msgstr ""
454+msgstr "Conectar-se à rede sem fio"
451455
452456#: qml/Wizard/Pages/40-wifi.qml:168
453457msgid "Available networks…"
454−msgstr ""
458+msgstr "Redes disponíveis..."
455459
456460#: qml/Wizard/Pages/40-wifi.qml:169
457461msgid "No available networks."
458−msgstr ""
462+msgstr "Nenhuma rede disponível."
459463
460464#: qml/Wizard/Pages/50-location.qml:27
461465msgid "Location"
462−msgstr ""
466+msgstr "Localização"
463467
464468#: qml/Wizard/Pages/50-location.qml:62
465469msgid "Let the phone detect your location:"
466−msgstr ""
470+msgstr "Deixe o telefone detectar a sua localização:"
467471
468472#: qml/Wizard/Pages/50-location.qml:69
469473msgid "Using GPS only (less accurate)"
470−msgstr ""
474+msgstr "Usando apenas GPS (menor precisão)"
471475
472476#: qml/Wizard/Pages/50-location.qml:86
473477msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
474478msgstr ""
479+"Usando GPS, redes sem fio anónimas e informações da rede móvel (recomendado)"
475480
476481#. TRANSLATORS: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
477482#: qml/Wizard/Pages/50-location.qml:103
@@ -479,81 +484,88 @@ msgid ""
479484"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
480485"conditions</a>."
481486msgstr ""
487+"Ao selecionar esta opção, você concorda com os <a href='#'>termos e "
488+"condições</a> do Nokia HERE."
482489
483490#: qml/Wizard/Pages/50-location.qml:112
484491msgid "Not at all"
485−msgstr ""
492+msgstr "De jeito nenhum"
486493
487494#: qml/Wizard/Pages/50-location.qml:124
488495msgid "You can change your mind later in <b>System Settings</b>."
489496msgstr ""
497+"Você pode mudar de ideia mais tarde, em <b>Configurações do Sistema</ b>."
490498
491499#: qml/Wizard/Pages/60-reporting.qml:24
492500msgid "Improving your experience"
493−msgstr ""
501+msgstr "Melhorando sua experiência"
494502
495503#: qml/Wizard/Pages/60-reporting.qml:36
496504msgid ""
497505"Your phone is set up to automatically report errors to Canonical and its "
498506"partners, the makers of the operating system."
499507msgstr ""
508+"Seu telefone está configurado para reportar erros automaticamente à "
509+"Canonical e seus parceiros, os criadores do sistema operacional."
500510
501511#: qml/Wizard/Pages/60-reporting.qml:43
502512msgid ""
503513"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
504514"Privacy</b>"
505515msgstr ""
516+"Isto pode ser desativado nas <b>Configurações do Sistema</b>, em "
517+"<b>Segurança $amp; Privacidade</b>"
506518
507519#: qml/Wizard/Pages/80-finished.qml:24
508520msgid "All done"
509−msgstr ""
521+msgstr "Tudo feito"
510522
511523#: qml/Wizard/Pages/80-finished.qml:39
512524msgid "Nice work!"
513−msgstr ""
525+msgstr "Bom trabalho!"
514526
515527#: qml/Wizard/Pages/80-finished.qml:46
516528msgid "Your phone is now ready to use."
517−msgstr ""
529+msgstr "O seu telefone está pronto para uso."
518530
519531#: qml/Wizard/Pages/80-finished.qml:53
520532msgid "Finish"
521−msgstr ""
533+msgstr "Terminar"
522534
523535#: qml/Wizard/Pages/here-terms.qml:27
524536msgid "Terms & Conditions"
525−msgstr ""
537+msgstr "Termos e condições"
526538
527539#: qml/Wizard/Pages/passwd-confirm.qml:49
528540msgid "Confirm passphrase"
529−msgstr ""
541+msgstr "Confirmar frase secreta"
530542
531543#: qml/Wizard/Pages/passwd-confirm.qml:50
532544msgid "Confirm passcode"
533−msgstr ""
545+msgstr "Confirmar código secreto"
534546
535547#: qml/Wizard/Pages/passwd-confirm.qml:53
536548#: qml/Wizard/Pages/passwd-confirm.qml:54
537549msgid "Please try again."
538−msgstr ""
550+msgstr "Por favor, tente novamente."
539551
540552#: qml/Wizard/Pages/passwd-set.qml:61
541553msgid "Choose your passcode"
542−msgstr ""
554+msgstr "Escolha seu código secreto"
543555
544556#: qml/Wizard/Pages/passwd-set.qml:68
545557msgid "Passphrase must be 4 characters long"
546−msgstr ""
558+msgstr "A frase secreta deve possuir 4 caracteres"
547559
548560#: qml/Wizard/StackButton.qml:39
549561#, qt-format
550562msgid "〈 %1"
551−msgstr ""
563+msgstr "〈 %1"
552564
553565#: qml/Wizard/StackButton.qml:42
554566#, qt-format
555567msgid "%1 〉"
556−msgstr ""
568+msgstr "%1 〉"
557569
558570#~ msgid "Confirm"
559571#~ msgstr "Confirmar"
po/sl.po+56−55
@@ -8,7 +8,7 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2015-02-18 17:42+0000\n"
11+"PO-Revision-Date: 2015-03-04 09:10+0000\n"
1212"Last-Translator: Damir Jerovšek <Unknown>\n"
1313"Language-Team: Slovenian <sl@li.org>\n"
1414"MIME-Version: 1.0\n"
@@ -16,35 +16,35 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
1818"n%100==4 ? 3 : 0);\n"
19−"X-Launchpad-Export-Date: 2015-03-04 05:57+0000\n"
20−"X-Generator: Launchpad (build 17361)\n"
19+"X-Launchpad-Export-Date: 2015-03-05 06:03+0000\n"
20+"X-Generator: Launchpad (build 17374)\n"
2121
22−#: plugins/LightDM/Greeter.cpp:112
22+#: plugins/LightDM/Greeter.cpp:130
2323msgid "Password: "
2424msgstr "Geslo: "
2525
2626#: plugins/Unity/Launcher/launcheritem.cpp:45
27−#: plugins/Unity/Launcher/launcheritem.cpp:100
27+#: plugins/Unity/Launcher/launcheritem.cpp:91
2828msgid "Pin shortcut"
2929msgstr "Pripni bližnjico"
3030
31−#: plugins/Unity/Launcher/launcheritem.cpp:100
31+#: plugins/Unity/Launcher/launcheritem.cpp:91
3232msgid "Unpin shortcut"
3333msgstr "Odpni bližnjico"
3434
35−#: qml/Components/DelayedLockscreen.qml:49
35+#: qml/Components/DelayedLockscreen.qml:47
3636msgid "Device Locked"
3737msgstr "Naprava je zaklenjena"
3838
39−#: qml/Components/DelayedLockscreen.qml:64
39+#: qml/Components/DelayedLockscreen.qml:62
4040msgid "You have been locked out due to too many failed passphrase attempts."
4141msgstr "Telefon ste zaklenili zaradi preveč napačnih vnosov šifrirnih rekel."
4242
43−#: qml/Components/DelayedLockscreen.qml:65
43+#: qml/Components/DelayedLockscreen.qml:63
4444msgid "You have been locked out due to too many failed passcode attempts."
4545msgstr "Telefon ste zaklenili zaradi preveč napačnih vnosov gesla."
4646
47−#: qml/Components/DelayedLockscreen.qml:74
47+#: qml/Components/DelayedLockscreen.qml:72
4848#, qt-format
4949msgid "Please wait %1 minute and then try again…"
5050msgid_plural "Please wait %1 minutes and then try again…"
@@ -53,60 +53,61 @@ msgstr[1] "Počakajte %1 minuto ter poskusite ponovno ..."
5353msgstr[2] "Počakajte %1 minuti ter poskusite ponovno ..."
5454msgstr[3] "Počakajte %1 minute ter poskusite ponovno ..."
5555
56−#: qml/Components/Dialogs.qml:87
56+#: qml/Components/Dialogs.qml:74
5757msgid "Log out"
5858msgstr "Odjava"
5959
60−#: qml/Components/Dialogs.qml:88
60+#: qml/Components/Dialogs.qml:75
6161msgid "Are you sure you want to log out?"
6262msgstr "Ali ste prepričani, da se želite odjaviti?"
6363
6464#: qml/Components/Dialogs.qml:90
6565msgid "Lock"
66−msgstr ""
66+msgstr "Zaklep"
6767
6868#: qml/Components/Dialogs.qml:97
6969msgid "Log Out"
70−msgstr ""
70+msgstr "Odjava"
7171
72−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
73−#: qml/Components/Dialogs.qml:191
72+#: qml/Components/Dialogs.qml:171
7473msgid "Cancel"
7574msgstr "Prekliči"
7675
77−#: qml/Components/Dialogs.qml:116
76+#: qml/Components/Dialogs.qml:98
7877msgid "Shut down"
7978msgstr "Izklop"
8079
81−#: qml/Components/Dialogs.qml:117
80+#: qml/Components/Dialogs.qml:99
8281msgid "Are you sure you want to shut down?"
8382msgstr "Ali ste prepričani, da želite izklopiti?"
8483
85−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
84+#: qml/Components/Dialogs.qml:123
8685msgid "Reboot"
8786msgstr "Ponovni zagon"
8887
8988#: qml/Components/Dialogs.qml:127
9089msgid "Shutdown"
91−msgstr ""
90+msgstr "Izklop"
9291
93−#: qml/Components/Dialogs.qml:148
92+#: qml/Components/Dialogs.qml:124
9493msgid "Are you sure you want to reboot?"
9594msgstr "Ali ste prepričani, da želite ponovno zagnati?"
9695
97−#: qml/Components/Dialogs.qml:150
96+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
97+#: qml/Components/Dialogs.qml:126
9898msgid "No"
9999msgstr "Ne"
100100
101−#: qml/Components/Dialogs.qml:156
101+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
102+#: qml/Components/Dialogs.qml:133
102103msgid "Yes"
103104msgstr "Da"
104105
105−#: qml/Components/Dialogs.qml:170
106+#: qml/Components/Dialogs.qml:148
106107msgid "Power"
107108msgstr "Izključitev"
108109
109−#: qml/Components/Dialogs.qml:171
110+#: qml/Components/Dialogs.qml:149
110111msgid ""
111112"Are you sure you would like\n"
112113"to power off?"
@@ -114,52 +115,52 @@ msgstr ""
114115"Ali ste prepričani, da želite\n"
115116"izključiti?"
116117
117−#: qml/Components/Dialogs.qml:173
118+#: qml/Components/Dialogs.qml:151
118119msgid "Power off"
119120msgstr "Izklopi"
120121
121−#: qml/Components/Dialogs.qml:182
122+#: qml/Components/Dialogs.qml:161
122123msgid "Restart"
123124msgstr "Ponovni zagon"
124125
125−#: qml/Components/Lockscreen.qml:238
126+#: qml/Components/Lockscreen.qml:223
126127msgid "Return to Call"
127128msgstr "Vrni se h klicu"
128129
129−#: qml/Components/Lockscreen.qml:238
130+#: qml/Components/Lockscreen.qml:223
130131msgid "Emergency Call"
131132msgstr "Klic v sili"
132133
133−#: qml/Components/Lockscreen.qml:270
134+#: qml/Components/Lockscreen.qml:255
134135msgid "OK"
135136msgstr "V REDU"
136137
137−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
138+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
138139msgid "See less"
139140msgstr "Pokaži manj"
140141
141−#: qml/Dash/GenericScopeView.qml:528
142+#: qml/Dash/GenericScopeView.qml:434
142143msgid "See all"
143144msgstr "Pokaži vse"
144145
145−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
146+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
146147#: qml/Panel/SearchIndicator.qml:27
147148msgid "Search"
148149msgstr "Iskanje"
149150
150−#: qml/Dash/PageHeader.qml:269
151+#: qml/Dash/PageHeader.qml:261
151152msgid "Store"
152153msgstr "Trgovina"
153154
154−#: qml/Dash/PageHeader.qml:286
155+#: qml/Dash/PageHeader.qml:278
155156msgid "Settings"
156157msgstr "Nastavitve"
157158
158−#: qml/Dash/PageHeader.qml:293
159+#: qml/Dash/PageHeader.qml:285
159160msgid "Remove from Favorites"
160161msgstr "Odstrani iz priljubljenih"
161162
162−#: qml/Dash/PageHeader.qml:293
163+#: qml/Dash/PageHeader.qml:285
163164msgid "Add to Favorites"
164165msgstr "Dodaj med priljubljene"
165166
@@ -195,43 +196,43 @@ msgstr "Spustite za osvežitev ..."
195196msgid "Enable location data"
196197msgstr "Omogoči podatke o položaju"
197198
198−#: qml/Dash/ScopesList.qml:66
199+#: qml/Dash/ScopesList.qml:63
199200msgid "Manage"
200201msgstr "Upravljaj"
201202
202−#: qml/Dash/ScopesList.qml:112
203+#: qml/Dash/ScopesList.qml:107
203204msgid "Home"
204205msgstr "Domov"
205206
206−#: qml/Dash/ScopesList.qml:113
207+#: qml/Dash/ScopesList.qml:108
207208msgid "Also installed"
208209msgstr "Tudi nameščeno"
209210
210−#: qml/Greeter/CoverPage.qml:107
211+#: qml/Greeter/Greeter.qml:174
211212msgid "Unlock"
212213msgstr "Odkleni"
213214
214215#: qml/Greeter/LoginList.qml:236
215216msgid "Retry"
216−msgstr ""
217+msgstr "Poskusi znova"
217218
218219#: qml/Greeter/LoginList.qml:237
219220msgid "Tap to unlock"
220−msgstr ""
221+msgstr "Tapnite za odklep"
221222
222−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
223+#: qml/Shell.qml:444
223224msgid "Sorry, incorrect passphrase."
224225msgstr "Nepravilno geslo."
225226
226−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
227+#: qml/Shell.qml:445
227228msgid "Sorry, incorrect passcode."
228229msgstr "Nepravilno geslo."
229230
230−#: qml/Greeter/NarrowView.qml:55
231+#: qml/Shell.qml:446
231232msgid "This will be your last attempt."
232233msgstr "To je vaš zadnji poskus"
233234
234−#: qml/Greeter/NarrowView.qml:57
235+#: qml/Shell.qml:448
235236msgid ""
236237"If passphrase is entered incorrectly, your phone will conduct a factory "
237238"reset and all personal data will be deleted."
@@ -239,7 +240,7 @@ msgstr ""
239240"Če je vneseno nepravilno šifrirno reklo, bo telefon ponastavljen na "
240241"tovarniške nastavitve ter vsi osebni podatki bodo izbrisani."
241242
242−#: qml/Greeter/NarrowView.qml:58
243+#: qml/Shell.qml:449
243244msgid ""
244245"If passcode is entered incorrectly, your phone will conduct a factory reset "
245246"and all personal data will be deleted."
@@ -247,33 +248,33 @@ msgstr ""
247248"Če je vneseno nepravilno geslo, bo telefon ponastavljen na tovarniške "
248249"nastavitve ter vsi osebni podatki bodo izbrisani."
249250
250−#: qml/Greeter/NarrowView.qml:115
251+#: qml/Shell.qml:402
251252#, qt-format
252253msgid "Enter %1"
253254msgstr "Vnesite %1"
254255
255−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
256+#: qml/Shell.qml:394
256257msgid "Enter passphrase"
257258msgstr "Vnesite šifrirno reklo"
258259
259−#: qml/Greeter/NarrowView.qml:117
260+#: qml/Shell.qml:398
260261msgid "Enter passcode"
261262msgstr "Vnesite geslo"
262263
263−#: qml/Greeter/NarrowView.qml:118
264+#: qml/Shell.qml:403
264265#, qt-format
265266msgid "Sorry, incorrect %1"
266267msgstr "Oprostite, napačen %1"
267268
268−#: qml/Greeter/NarrowView.qml:119
269+#: qml/Shell.qml:395
269270msgid "Sorry, incorrect passphrase"
270271msgstr "Oprostite, napačno šifrirno reklo"
271272
272−#: qml/Greeter/NarrowView.qml:120
273+#: qml/Shell.qml:396
273274msgid "Please re-enter"
274275msgstr "Ponovno vnesite"
275276
276−#: qml/Greeter/NarrowView.qml:121
277+#: qml/Shell.qml:399
277278msgid "Sorry, incorrect passcode"
278279msgstr "Nepravilno geslo"
279280
po/sr.po+128−118
@@ -2,60 +2,63 @@
22# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
33# This file is distributed under the same license as the unity package.
44# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
5+# Саша Петровић <salepetronije@gmail.com>, 2015.
56#
67msgid ""
78msgstr ""
89"Project-Id-Version: unity\n"
910"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1011"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2014-09-24 13:29+0000\n"
12−"Last-Translator: Данило Шеган <Unknown>\n"
13−"Language-Team: Serbian <sr@li.org>\n"
12+"PO-Revision-Date: 2015-03-04 22:25+0000\n"
13+"Last-Translator: Саша Петровић <salepetronije@gmail.com>\n"
14+"Language-Team: српски <xfce4@xfce4.org>\n"
1415"MIME-Version: 1.0\n"
1516"Content-Type: text/plain; charset=UTF-8\n"
1617"Content-Transfer-Encoding: 8bit\n"
1718"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
1819"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-03-04 05:56+0000\n"
20−"X-Generator: Launchpad (build 17361)\n"
20+"X-Launchpad-Export-Date: 2015-03-05 06:03+0000\n"
21+"X-Generator: Launchpad (build 17374)\n"
22+"Language: sr\n"
2123
22−#: plugins/LightDM/Greeter.cpp:112
24+#: plugins/LightDM/Greeter.cpp:130
2325msgid "Password: "
2426msgstr "Лозинка: "
2527
2628#: plugins/Unity/Launcher/launcheritem.cpp:45
27−#: plugins/Unity/Launcher/launcheritem.cpp:100
29+#: plugins/Unity/Launcher/launcheritem.cpp:91
2830msgid "Pin shortcut"
2931msgstr "Прикачи пречицу"
3032
31−#: plugins/Unity/Launcher/launcheritem.cpp:100
33+#: plugins/Unity/Launcher/launcheritem.cpp:91
3234msgid "Unpin shortcut"
3335msgstr "Откачи пречицу"
3436
35−#: qml/Components/DelayedLockscreen.qml:49
37+#: qml/Components/DelayedLockscreen.qml:47
3638msgid "Device Locked"
37−msgstr ""
39+msgstr "Уређај је закључан"
3840
39−#: qml/Components/DelayedLockscreen.qml:64
41+#: qml/Components/DelayedLockscreen.qml:62
4042msgid "You have been locked out due to too many failed passphrase attempts."
41−msgstr ""
43+msgstr "Закључано је због превише погрешних покушаја уноса лозинке."
4244
43−#: qml/Components/DelayedLockscreen.qml:65
45+#: qml/Components/DelayedLockscreen.qml:63
4446msgid "You have been locked out due to too many failed passcode attempts."
45−msgstr ""
47+msgstr "Закључано је због превише погрешних покушаја уноса шифре."
4648
47−#: qml/Components/DelayedLockscreen.qml:74
49+#: qml/Components/DelayedLockscreen.qml:72
4850#, qt-format
4951msgid "Please wait %1 minute and then try again…"
5052msgid_plural "Please wait %1 minutes and then try again…"
51−msgstr[0] ""
52−msgstr[1] ""
53+msgstr[0] "Молим, сачекајте %1 минута, па покушајте поново…"
54+msgstr[1] "Молим, сачекајте %1 минута, па покушајте поново…"
55+msgstr[2] "Молим, сачекајте %1 минута, па покушајте поново…"
5356
54−#: qml/Components/Dialogs.qml:87
57+#: qml/Components/Dialogs.qml:74
5558msgid "Log out"
5659msgstr "Одјави се"
5760
58−#: qml/Components/Dialogs.qml:88
61+#: qml/Components/Dialogs.qml:75
5962msgid "Are you sure you want to log out?"
6063msgstr "Сигурно желите да се одјавите?"
6164
@@ -67,20 +70,19 @@ msgstr ""
6770msgid "Log Out"
6871msgstr ""
6972
70−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
71−#: qml/Components/Dialogs.qml:191
73+#: qml/Components/Dialogs.qml:171
7274msgid "Cancel"
7375msgstr "Откажи"
7476
75−#: qml/Components/Dialogs.qml:116
77+#: qml/Components/Dialogs.qml:98
7678msgid "Shut down"
7779msgstr "Угаси"
7880
79−#: qml/Components/Dialogs.qml:117
81+#: qml/Components/Dialogs.qml:99
8082msgid "Are you sure you want to shut down?"
8183msgstr "Сигурно желите да угасите?"
8284
83−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
85+#: qml/Components/Dialogs.qml:123
8486msgid "Reboot"
8587msgstr "Ресетуј"
8688
@@ -88,23 +90,25 @@ msgstr "Ресетуј"
8890msgid "Shutdown"
8991msgstr ""
9092
91−#: qml/Components/Dialogs.qml:148
93+#: qml/Components/Dialogs.qml:124
9294msgid "Are you sure you want to reboot?"
9395msgstr "Сигурно желите да ресетујете?"
9496
95−#: qml/Components/Dialogs.qml:150
97+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
98+#: qml/Components/Dialogs.qml:126
9699msgid "No"
97100msgstr "Не"
98101
99−#: qml/Components/Dialogs.qml:156
102+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
103+#: qml/Components/Dialogs.qml:133
100104msgid "Yes"
101105msgstr "Да"
102106
103−#: qml/Components/Dialogs.qml:170
107+#: qml/Components/Dialogs.qml:148
104108msgid "Power"
105109msgstr "Напајање"
106110
107−#: qml/Components/Dialogs.qml:171
111+#: qml/Components/Dialogs.qml:149
108112msgid ""
109113"Are you sure you would like\n"
110114"to power off?"
@@ -112,52 +116,52 @@ msgstr ""
112116"Сигурно желите да\n"
113117"искључите?"
114118
115−#: qml/Components/Dialogs.qml:173
119+#: qml/Components/Dialogs.qml:151
116120msgid "Power off"
117121msgstr "Искључи"
118122
119−#: qml/Components/Dialogs.qml:182
123+#: qml/Components/Dialogs.qml:161
120124msgid "Restart"
121125msgstr "Поново покрени"
122126
123−#: qml/Components/Lockscreen.qml:238
127+#: qml/Components/Lockscreen.qml:223
124128msgid "Return to Call"
125−msgstr ""
129+msgstr "Пређи поново на позив"
126130
127−#: qml/Components/Lockscreen.qml:238
131+#: qml/Components/Lockscreen.qml:223
128132msgid "Emergency Call"
129133msgstr "Хитан позив"
130134
131−#: qml/Components/Lockscreen.qml:270
135+#: qml/Components/Lockscreen.qml:255
132136msgid "OK"
133137msgstr "У реду"
134138
135−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
139+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
136140msgid "See less"
137141msgstr "Сажетије"
138142
139−#: qml/Dash/GenericScopeView.qml:528
143+#: qml/Dash/GenericScopeView.qml:434
140144msgid "See all"
141145msgstr "Опширније"
142146
143−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
147+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
144148#: qml/Panel/SearchIndicator.qml:27
145149msgid "Search"
146150msgstr "Претрага"
147151
148−#: qml/Dash/PageHeader.qml:269
152+#: qml/Dash/PageHeader.qml:261
149153msgid "Store"
150154msgstr "Продавница"
151155
152−#: qml/Dash/PageHeader.qml:286
156+#: qml/Dash/PageHeader.qml:278
153157msgid "Settings"
154158msgstr "Подешавања"
155159
156−#: qml/Dash/PageHeader.qml:293
160+#: qml/Dash/PageHeader.qml:285
157161msgid "Remove from Favorites"
158162msgstr "Уклони из омиљених"
159163
160−#: qml/Dash/PageHeader.qml:293
164+#: qml/Dash/PageHeader.qml:285
161165msgid "Add to Favorites"
162166msgstr "Додај међу омиљене"
163167
@@ -183,31 +187,31 @@ msgstr "Пошаљи"
183187
184188#: qml/Dash/PullToRefreshScopeStyle.qml:55
185189msgid "Pull to refresh…"
186−msgstr ""
190+msgstr "Повуци ради освежавања…"
187191
188192#: qml/Dash/PullToRefreshScopeStyle.qml:60
189193msgid "Release to refresh…"
190−msgstr ""
194+msgstr "Отпусти ради освежавања…"
191195
192196#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
193197msgid "Enable location data"
194−msgstr ""
198+msgstr "Омогући податке о положају"
195199
196−#: qml/Dash/ScopesList.qml:66
200+#: qml/Dash/ScopesList.qml:63
197201msgid "Manage"
198−msgstr ""
202+msgstr "Управљај"
199203
200−#: qml/Dash/ScopesList.qml:112
204+#: qml/Dash/ScopesList.qml:107
201205msgid "Home"
202−msgstr ""
206+msgstr "Матица"
203207
204−#: qml/Dash/ScopesList.qml:113
208+#: qml/Dash/ScopesList.qml:108
205209msgid "Also installed"
206−msgstr ""
210+msgstr "Такође уграђен"
207211
208−#: qml/Greeter/CoverPage.qml:107
212+#: qml/Greeter/Greeter.qml:174
209213msgid "Unlock"
210−msgstr ""
214+msgstr "Откључај"
211215
212216#: qml/Greeter/LoginList.qml:236
213217msgid "Retry"
@@ -217,19 +221,19 @@ msgstr ""
217221msgid "Tap to unlock"
218222msgstr ""
219223
220−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
224+#: qml/Shell.qml:444
221225msgid "Sorry, incorrect passphrase."
222226msgstr "Жао ми је, погрешна лозинка."
223227
224−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
228+#: qml/Shell.qml:445
225229msgid "Sorry, incorrect passcode."
226230msgstr "Жао ми је, погрешан код."
227231
228−#: qml/Greeter/NarrowView.qml:55
232+#: qml/Shell.qml:446
229233msgid "This will be your last attempt."
230234msgstr "Ово је ваш последњи покушај."
231235
232−#: qml/Greeter/NarrowView.qml:57
236+#: qml/Shell.qml:448
233237msgid ""
234238"If passphrase is entered incorrectly, your phone will conduct a factory "
235239"reset and all personal data will be deleted."
@@ -237,7 +241,7 @@ msgstr ""
237241"Ако се унесе погрешна лозинка, ваш телефон ће се ресетовати и сви лични "
238242"подаци ће бити обрисани."
239243
240−#: qml/Greeter/NarrowView.qml:58
244+#: qml/Shell.qml:449
241245msgid ""
242246"If passcode is entered incorrectly, your phone will conduct a factory reset "
243247"and all personal data will be deleted."
@@ -245,33 +249,33 @@ msgstr ""
245249"Ако се унесе погрешан код, ваш телефон ће се ресетовати и сви лични подаци "
246250"ће бити обрисани."
247251
248−#: qml/Greeter/NarrowView.qml:115
252+#: qml/Shell.qml:402
249253#, qt-format
250254msgid "Enter %1"
251−msgstr ""
255+msgstr "Унеси %1"
252256
253−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
257+#: qml/Shell.qml:394
254258msgid "Enter passphrase"
255−msgstr ""
259+msgstr "Унесите лозинку"
256260
257−#: qml/Greeter/NarrowView.qml:117
261+#: qml/Shell.qml:398
258262msgid "Enter passcode"
259−msgstr ""
263+msgstr "Унесите шифру"
260264
261−#: qml/Greeter/NarrowView.qml:118
265+#: qml/Shell.qml:403
262266#, qt-format
263267msgid "Sorry, incorrect %1"
264268msgstr "Жао ми је, погрешан %1"
265269
266−#: qml/Greeter/NarrowView.qml:119
270+#: qml/Shell.qml:395
267271msgid "Sorry, incorrect passphrase"
268272msgstr "Жао ми је, погрешна лозинка"
269273
270−#: qml/Greeter/NarrowView.qml:120
274+#: qml/Shell.qml:396
271275msgid "Please re-enter"
272−msgstr ""
276+msgstr "Молим, унесите поново"
273277
274−#: qml/Greeter/NarrowView.qml:121
278+#: qml/Shell.qml:399
275279msgid "Sorry, incorrect passcode"
276280msgstr "Жао ми је, погрешан код"
277281
@@ -289,11 +293,11 @@ msgstr "Конференција"
289293
290294#: qml/Panel/Indicators/MenuItemFactory.qml:643
291295msgid "Nothing is playing"
292−msgstr ""
296+msgstr "Ништа се не изводи"
293297
294298#: qml/Panel/Indicators/MenuItemFactory.qml:791
295299msgid "In queue…"
296−msgstr "У реду..."
300+msgstr "Је заказано…"
297301
298302#: qml/Panel/Indicators/MenuItemFactory.qml:795
299303msgid "Downloading"
@@ -317,7 +321,7 @@ msgstr "Неуспешно, тапните да покушате поново"
317321
318322#: qml/Panel/Indicators/MessageMenuItemFactory.qml:149
319323msgid "Reply"
320−msgstr ""
324+msgstr "Одговори"
321325
322326#: qml/Panel/Indicators/ModemInfoItem.qml:105
323327msgid "Unlock SIM"
@@ -333,11 +337,11 @@ msgstr ""
333337
334338#: qml/Tutorial/TutorialBottomFinish.qml:25
335339msgid "Tap here to finish."
336−msgstr ""
340+msgstr "Тапните овде за завршетак."
337341
338342#: qml/Tutorial/TutorialBottom.qml:28
339343msgid "Open special menus"
340−msgstr ""
344+msgstr "Отвори нарочите изборнике"
341345
342346#: qml/Tutorial/TutorialBottom.qml:29
343347msgid "Swipe up from the bottom edge."
@@ -345,47 +349,47 @@ msgstr ""
345349
346350#: qml/Tutorial/TutorialLeftFinish.qml:24
347351msgid "These are the shortcuts to favorite apps"
348−msgstr ""
352+msgstr "Ово су пречице до омиљених програма"
349353
350354#: qml/Tutorial/TutorialLeftFinish.qml:25 qml/Tutorial/TutorialRight.qml:144
351355msgid "Tap here to continue."
352−msgstr ""
356+msgstr "Тапните овде за наставак."
353357
354358#: qml/Tutorial/TutorialLeft.qml:26
355359msgid "Open the launcher"
356−msgstr ""
360+msgstr "Отвори покретач"
357361
358362#: qml/Tutorial/TutorialLeft.qml:27
359363msgid "Short swipe from the left edge."
360−msgstr ""
364+msgstr "Кратко превуците од леве ивице."
361365
362366#: qml/Tutorial/TutorialPage.qml:178
363367msgid "You almost got it!"
364−msgstr ""
368+msgstr "Скоро сте успели!"
365369
366370#: qml/Tutorial/TutorialPage.qml:195
367371msgid "Try again."
368−msgstr ""
372+msgstr "Покушајте опет."
369373
370374#: qml/Tutorial/TutorialRight.qml:31
371375msgid "To view open apps"
372−msgstr ""
376+msgstr "За преглед отворених програма"
373377
374378#: qml/Tutorial/TutorialRight.qml:32
375379msgid "Long swipe from the right edge."
376−msgstr ""
380+msgstr "Дуго превуците са десне ивице."
377381
378382#: qml/Tutorial/TutorialRight.qml:122
379383msgid "View all your running tasks."
380−msgstr ""
384+msgstr "Прегледајте покренуте задатке."
381385
382386#: qml/Wizard/Page.qml:89
383387msgid "Back"
384−msgstr ""
388+msgstr "Назад"
385389
386390#: qml/Wizard/Pages/10-welcome.qml:27
387391msgid "Hi!"
388−msgstr ""
392+msgstr "Здраво!"
389393
390394#: qml/Wizard/Pages/10-welcome.qml:44
391395msgid "Welcome to your Ubuntu phone."
@@ -393,82 +397,82 @@ msgstr ""
393397
394398#: qml/Wizard/Pages/10-welcome.qml:52
395399msgid "Let’s get started."
396−msgstr ""
400+msgstr "Почнимо."
397401
398402#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:128
399403#: qml/Wizard/Pages/40-wifi.qml:215 qml/Wizard/Pages/50-location.qml:131
400404#: qml/Wizard/Pages/60-reporting.qml:50 qml/Wizard/Pages/passwd-confirm.qml:82
401405#: qml/Wizard/Pages/passwd-set.qml:90
402406msgid "Continue"
403−msgstr ""
407+msgstr "Настави"
404408
405409#: qml/Wizard/Pages/20-sim.qml:25
406410msgid "Add a SIM card and restart your device"
407−msgstr ""
411+msgstr "Додајте СИМ картицу и поново покрените уређај"
408412
409413#: qml/Wizard/Pages/20-sim.qml:59
410414msgid "Without it, you won’t be able to make calls or use text messaging."
411−msgstr ""
415+msgstr "Без ње нећете моћи да користите позиве и да се дописујете."
412416
413417#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
414418msgid "Skip"
415−msgstr ""
419+msgstr "Прескочи"
416420
417421#: qml/Wizard/Pages/30-passwd-type.qml:39
418422msgid "Lock security"
419−msgstr ""
423+msgstr "Безбедносно закључавање"
420424
421425#: qml/Wizard/Pages/30-passwd-type.qml:74
422426msgid "Please select how you’d like to unlock your phone."
423−msgstr ""
427+msgstr "Молим, изаберите како бисте желели да откључавате телефон."
424428
425429#: qml/Wizard/Pages/30-passwd-type.qml:97
426430msgid "Swipe"
427−msgstr ""
431+msgstr "Превлачењем"
428432
429433#: qml/Wizard/Pages/30-passwd-type.qml:98
430434msgid "No security"
431−msgstr ""
435+msgstr "Без безбедности"
432436
433437#: qml/Wizard/Pages/30-passwd-type.qml:100
434438msgid "Passcode"
435−msgstr ""
439+msgstr "Шифром"
436440
437441#: qml/Wizard/Pages/30-passwd-type.qml:101
438442msgid "4 digits only"
439−msgstr ""
443+msgstr "Само 4 бројке"
440444
441445#: qml/Wizard/Pages/30-passwd-type.qml:103
442446msgid "Passphrase"
443−msgstr ""
447+msgstr "Лозинка"
444448
445449#: qml/Wizard/Pages/30-passwd-type.qml:104
446450msgid "Numbers and letters"
447−msgstr ""
451+msgstr "Бројеви и слова"
448452
449453#: qml/Wizard/Pages/40-wifi.qml:29
450454msgid "Connect to Wi‑Fi"
451−msgstr ""
455+msgstr "Повежи се на бежичну мрежу"
452456
453457#: qml/Wizard/Pages/40-wifi.qml:168
454458msgid "Available networks…"
455−msgstr ""
459+msgstr "Доступне мреже…"
456460
457461#: qml/Wizard/Pages/40-wifi.qml:169
458462msgid "No available networks."
459−msgstr ""
463+msgstr "Нема доступних мрежа."
460464
461465#: qml/Wizard/Pages/50-location.qml:27
462466msgid "Location"
463−msgstr ""
467+msgstr "Положај"
464468
465469#: qml/Wizard/Pages/50-location.qml:62
466470msgid "Let the phone detect your location:"
467−msgstr ""
471+msgstr "Допустите да телефон препозна Ваш положај"
468472
469473#: qml/Wizard/Pages/50-location.qml:69
470474msgid "Using GPS only (less accurate)"
471−msgstr ""
475+msgstr "Користећи само ГПС (мања тачност)"
472476
473477#: qml/Wizard/Pages/50-location.qml:86
474478msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
@@ -480,67 +484,73 @@ msgid ""
480484"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
481485"conditions</a>."
482486msgstr ""
487+"Избором ове могућности се слажете са <a href='#'>условима употребе</a> Nokia "
488+"HERE-а."
483489
484490#: qml/Wizard/Pages/50-location.qml:112
485491msgid "Not at all"
486−msgstr ""
492+msgstr "Нипошто"
487493
488494#: qml/Wizard/Pages/50-location.qml:124
489495msgid "You can change your mind later in <b>System Settings</b>."
490−msgstr ""
496+msgstr "Можете да измените поставке касније у <b>Поставкама система</b>."
491497
492498#: qml/Wizard/Pages/60-reporting.qml:24
493499msgid "Improving your experience"
494−msgstr ""
500+msgstr "Унапређивање доживљаја"
495501
496502#: qml/Wizard/Pages/60-reporting.qml:36
497503msgid ""
498504"Your phone is set up to automatically report errors to Canonical and its "
499505"partners, the makers of the operating system."
500506msgstr ""
507+"Телефон је подешен да самостално пријављује грешке Каноникалу и сарадницима, "
508+"творцима оперативног система."
501509
502510#: qml/Wizard/Pages/60-reporting.qml:43
503511msgid ""
504512"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
505513"Privacy</b>"
506514msgstr ""
515+"Ово може да се онемогући у <b>Поставкама система</b> под ставком "
516+"<b>Безбедност и приватност</b>"
507517
508518#: qml/Wizard/Pages/80-finished.qml:24
509519msgid "All done"
510−msgstr ""
520+msgstr "Све је урађено"
511521
512522#: qml/Wizard/Pages/80-finished.qml:39
513523msgid "Nice work!"
514−msgstr ""
524+msgstr "Лепо одрађено!"
515525
516526#: qml/Wizard/Pages/80-finished.qml:46
517527msgid "Your phone is now ready to use."
518−msgstr ""
528+msgstr "Телефон је спреман за употребу."
519529
520530#: qml/Wizard/Pages/80-finished.qml:53
521531msgid "Finish"
522−msgstr ""
532+msgstr "Крај"
523533
524534#: qml/Wizard/Pages/here-terms.qml:27
525535msgid "Terms & Conditions"
526−msgstr ""
536+msgstr "Услови употребе"
527537
528538#: qml/Wizard/Pages/passwd-confirm.qml:49
529539msgid "Confirm passphrase"
530−msgstr ""
540+msgstr "Потврдите лозинку"
531541
532542#: qml/Wizard/Pages/passwd-confirm.qml:50
533543msgid "Confirm passcode"
534−msgstr ""
544+msgstr "Потврдите шифру"
535545
536546#: qml/Wizard/Pages/passwd-confirm.qml:53
537547#: qml/Wizard/Pages/passwd-confirm.qml:54
538548msgid "Please try again."
539−msgstr ""
549+msgstr "Молим, покушајте поново"
540550
541551#: qml/Wizard/Pages/passwd-set.qml:61
542552msgid "Choose your passcode"
543−msgstr ""
553+msgstr "Изаберите своју шифру"
544554
545555#: qml/Wizard/Pages/passwd-set.qml:68
546556msgid "Passphrase must be 4 characters long"
@@ -549,12 +559,12 @@ msgstr ""
549559#: qml/Wizard/StackButton.qml:39
550560#, qt-format
551561msgid "〈 %1"
552−msgstr ""
562+msgstr "〈 %1"
553563
554564#: qml/Wizard/StackButton.qml:42
555565#, qt-format
556566msgid "%1 〉"
557−msgstr ""
567+msgstr "%1 〉"
558568
559569#~ msgid "Confirm"
560570#~ msgstr "Потврди"
po/sv.po+56−55
@@ -8,103 +8,104 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2014-10-07 14:28+0000\n"
11+"PO-Revision-Date: 2015-03-05 19:15+0000\n"
1212"Last-Translator: Josef Andersson <Unknown>\n"
1313"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:57+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-06 06:05+0000\n"
19+"X-Generator: Launchpad (build 17374)\n"
2020"Language: sv\n"
2121
22−#: plugins/LightDM/Greeter.cpp:112
22+#: plugins/LightDM/Greeter.cpp:130
2323msgid "Password: "
2424msgstr "Lösenord: "
2525
2626#: plugins/Unity/Launcher/launcheritem.cpp:45
27−#: plugins/Unity/Launcher/launcheritem.cpp:100
27+#: plugins/Unity/Launcher/launcheritem.cpp:91
2828msgid "Pin shortcut"
2929msgstr "Fäst genväg"
3030
31−#: plugins/Unity/Launcher/launcheritem.cpp:100
31+#: plugins/Unity/Launcher/launcheritem.cpp:91
3232msgid "Unpin shortcut"
3333msgstr "Släpp genväg"
3434
35−#: qml/Components/DelayedLockscreen.qml:49
35+#: qml/Components/DelayedLockscreen.qml:47
3636msgid "Device Locked"
3737msgstr "Enhet låst"
3838
39−#: qml/Components/DelayedLockscreen.qml:64
39+#: qml/Components/DelayedLockscreen.qml:62
4040msgid "You have been locked out due to too many failed passphrase attempts."
4141msgstr "Du har blivit utlåst efter för många misslyckade lösenfrasförsök."
4242
43−#: qml/Components/DelayedLockscreen.qml:65
43+#: qml/Components/DelayedLockscreen.qml:63
4444msgid "You have been locked out due to too many failed passcode attempts."
4545msgstr "Du har blivit utlåst efter för många misslyckade lösenkodsförsök."
4646
47−#: qml/Components/DelayedLockscreen.qml:74
47+#: qml/Components/DelayedLockscreen.qml:72
4848#, qt-format
4949msgid "Please wait %1 minute and then try again…"
5050msgid_plural "Please wait %1 minutes and then try again…"
5151msgstr[0] "Vänta %1 minut och prova sedan igen..."
5252msgstr[1] "Vänta %1 minuter och prova sedan igen..."
5353
54−#: qml/Components/Dialogs.qml:87
54+#: qml/Components/Dialogs.qml:74
5555msgid "Log out"
5656msgstr "Logga ut"
5757
58−#: qml/Components/Dialogs.qml:88
58+#: qml/Components/Dialogs.qml:75
5959msgid "Are you sure you want to log out?"
6060msgstr "Är du säker på att du vill logga ut?"
6161
6262#: qml/Components/Dialogs.qml:90
6363msgid "Lock"
64−msgstr ""
64+msgstr "Lås"
6565
6666#: qml/Components/Dialogs.qml:97
6767msgid "Log Out"
68−msgstr ""
68+msgstr "Logga ut"
6969
70−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
71−#: qml/Components/Dialogs.qml:191
70+#: qml/Components/Dialogs.qml:171
7271msgid "Cancel"
7372msgstr "Avbryt"
7473
75−#: qml/Components/Dialogs.qml:116
74+#: qml/Components/Dialogs.qml:98
7675msgid "Shut down"
7776msgstr "Stäng av"
7877
79−#: qml/Components/Dialogs.qml:117
78+#: qml/Components/Dialogs.qml:99
8079msgid "Are you sure you want to shut down?"
8180msgstr "Är du säker på att du vill stänga av?"
8281
83−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
82+#: qml/Components/Dialogs.qml:123
8483msgid "Reboot"
8584msgstr "Starta om"
8685
8786#: qml/Components/Dialogs.qml:127
8887msgid "Shutdown"
89−msgstr ""
88+msgstr "Stäng av"
9089
91−#: qml/Components/Dialogs.qml:148
90+#: qml/Components/Dialogs.qml:124
9291msgid "Are you sure you want to reboot?"
9392msgstr "Är du säker på att du vill starta om?"
9493
95−#: qml/Components/Dialogs.qml:150
94+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
95+#: qml/Components/Dialogs.qml:126
9696msgid "No"
9797msgstr "Nej"
9898
99−#: qml/Components/Dialogs.qml:156
99+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
100+#: qml/Components/Dialogs.qml:133
100101msgid "Yes"
101102msgstr "Ja"
102103
103−#: qml/Components/Dialogs.qml:170
104+#: qml/Components/Dialogs.qml:148
104105msgid "Power"
105106msgstr "Ström"
106107
107−#: qml/Components/Dialogs.qml:171
108+#: qml/Components/Dialogs.qml:149
108109msgid ""
109110"Are you sure you would like\n"
110111"to power off?"
@@ -112,52 +113,52 @@ msgstr ""
112113"Är du säker på att du vill \n"
113114"stänga av?"
114115
115−#: qml/Components/Dialogs.qml:173
116+#: qml/Components/Dialogs.qml:151
116117msgid "Power off"
117118msgstr "Stäng av"
118119
119−#: qml/Components/Dialogs.qml:182
120+#: qml/Components/Dialogs.qml:161
120121msgid "Restart"
121122msgstr "Omstart"
122123
123−#: qml/Components/Lockscreen.qml:238
124+#: qml/Components/Lockscreen.qml:223
124125msgid "Return to Call"
125126msgstr "Tillbaka till samtal"
126127
127−#: qml/Components/Lockscreen.qml:238
128+#: qml/Components/Lockscreen.qml:223
128129msgid "Emergency Call"
129130msgstr "Nödsamtal"
130131
131−#: qml/Components/Lockscreen.qml:270
132+#: qml/Components/Lockscreen.qml:255
132133msgid "OK"
133134msgstr "Ok"
134135
135−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
136+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
136137msgid "See less"
137138msgstr "Visa mindre"
138139
139−#: qml/Dash/GenericScopeView.qml:528
140+#: qml/Dash/GenericScopeView.qml:434
140141msgid "See all"
141142msgstr "Visa alla"
142143
143−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
144+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
144145#: qml/Panel/SearchIndicator.qml:27
145146msgid "Search"
146147msgstr "Sök"
147148
148−#: qml/Dash/PageHeader.qml:269
149+#: qml/Dash/PageHeader.qml:261
149150msgid "Store"
150151msgstr "Butik"
151152
152−#: qml/Dash/PageHeader.qml:286
153+#: qml/Dash/PageHeader.qml:278
153154msgid "Settings"
154155msgstr "Inställningar"
155156
156−#: qml/Dash/PageHeader.qml:293
157+#: qml/Dash/PageHeader.qml:285
157158msgid "Remove from Favorites"
158159msgstr "Ta bort från Favoriter"
159160
160−#: qml/Dash/PageHeader.qml:293
161+#: qml/Dash/PageHeader.qml:285
161162msgid "Add to Favorites"
162163msgstr "Lägg till Favoriter"
163164
@@ -193,43 +194,43 @@ msgstr "Släpp för uppdatera..."
193194msgid "Enable location data"
194195msgstr "Aktivera platsdata"
195196
196−#: qml/Dash/ScopesList.qml:66
197+#: qml/Dash/ScopesList.qml:63
197198msgid "Manage"
198199msgstr "Hantera"
199200
200−#: qml/Dash/ScopesList.qml:112
201+#: qml/Dash/ScopesList.qml:107
201202msgid "Home"
202203msgstr "Hem"
203204
204−#: qml/Dash/ScopesList.qml:113
205+#: qml/Dash/ScopesList.qml:108
205206msgid "Also installed"
206207msgstr "Även installerat"
207208
208−#: qml/Greeter/CoverPage.qml:107
209+#: qml/Greeter/Greeter.qml:174
209210msgid "Unlock"
210211msgstr "Lås upp"
211212
212213#: qml/Greeter/LoginList.qml:236
213214msgid "Retry"
214−msgstr ""
215+msgstr "Försök igen"
215216
216217#: qml/Greeter/LoginList.qml:237
217218msgid "Tap to unlock"
218−msgstr ""
219+msgstr "Tryck för att låsa upp"
219220
220−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
221+#: qml/Shell.qml:444
221222msgid "Sorry, incorrect passphrase."
222223msgstr "Felaktig lösenfras."
223224
224−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
225+#: qml/Shell.qml:445
225226msgid "Sorry, incorrect passcode."
226227msgstr "Felaktig lösenkod."
227228
228−#: qml/Greeter/NarrowView.qml:55
229+#: qml/Shell.qml:446
229230msgid "This will be your last attempt."
230231msgstr "Detta är ditt sista försök."
231232
232−#: qml/Greeter/NarrowView.qml:57
233+#: qml/Shell.qml:448
233234msgid ""
234235"If passphrase is entered incorrectly, your phone will conduct a factory "
235236"reset and all personal data will be deleted."
@@ -237,7 +238,7 @@ msgstr ""
237238"Om lösenfrasen anges inkorrekt kommer telefonen att fabrikåterställas och "
238239"all personlig data kommer att tas bort."
239240
240−#: qml/Greeter/NarrowView.qml:58
241+#: qml/Shell.qml:449
241242msgid ""
242243"If passcode is entered incorrectly, your phone will conduct a factory reset "
243244"and all personal data will be deleted."
@@ -245,33 +246,33 @@ msgstr ""
245246"Om lösenkoden anges felaktigt kommer telefonen att fabrikåterställas och all "
246247"personlig data kommer att tas bort."
247248
248−#: qml/Greeter/NarrowView.qml:115
249+#: qml/Shell.qml:402
249250#, qt-format
250251msgid "Enter %1"
251252msgstr "Ange %1"
252253
253−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
254+#: qml/Shell.qml:394
254255msgid "Enter passphrase"
255256msgstr "Ange lösenfras"
256257
257−#: qml/Greeter/NarrowView.qml:117
258+#: qml/Shell.qml:398
258259msgid "Enter passcode"
259260msgstr "Ange lösenkod"
260261
261−#: qml/Greeter/NarrowView.qml:118
262+#: qml/Shell.qml:403
262263#, qt-format
263264msgid "Sorry, incorrect %1"
264265msgstr "Felaktig %1"
265266
266−#: qml/Greeter/NarrowView.qml:119
267+#: qml/Shell.qml:395
267268msgid "Sorry, incorrect passphrase"
268269msgstr "Felaktig lösenfras"
269270
270−#: qml/Greeter/NarrowView.qml:120
271+#: qml/Shell.qml:396
271272msgid "Please re-enter"
272273msgstr "Ange igen"
273274
274−#: qml/Greeter/NarrowView.qml:121
275+#: qml/Shell.qml:399
275276msgid "Sorry, incorrect passcode"
276277msgstr "Felaktig lösenkod"
277278
po/unity8.pot+50−22
@@ -8,7 +8,7 @@ msgid ""
88msgstr ""
99"Project-Id-Version: unity8\n"
1010"Report-Msgid-Bugs-To: \n"
11−"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11+"POT-Creation-Date: 2015-03-13 11:06+0100\n"
1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1414"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -50,70 +50,84 @@ msgid_plural "Please wait %1 minutes and then try again…"
5050msgstr[0] ""
5151msgstr[1] ""
5252
53−#: qml/Components/Dialogs.qml:87
53+#: qml/Components/Dialogs.qml:67
54+msgctxt "Title: Lock/Log out dialog"
5455msgid "Log out"
5556msgstr ""
5657
57−#: qml/Components/Dialogs.qml:88
58+#: qml/Components/Dialogs.qml:68
5859msgid "Are you sure you want to log out?"
5960msgstr ""
6061
61−#: qml/Components/Dialogs.qml:90
62+#: qml/Components/Dialogs.qml:70
63+msgctxt "Button: Lock the system"
6264msgid "Lock"
6365msgstr ""
6466
65−#: qml/Components/Dialogs.qml:97
67+#: qml/Components/Dialogs.qml:77
68+msgctxt "Button: Log out from the system"
6669msgid "Log Out"
6770msgstr ""
6871
69−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
70−#: qml/Components/Dialogs.qml:191
72+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:115
73+#: qml/Components/Dialogs.qml:171
7174msgid "Cancel"
7275msgstr ""
7376
74−#: qml/Components/Dialogs.qml:116
77+#: qml/Components/Dialogs.qml:96
78+msgctxt "Title: Reboot/Shut down dialog"
7579msgid "Shut down"
7680msgstr ""
7781
78−#: qml/Components/Dialogs.qml:117
82+#: qml/Components/Dialogs.qml:97
7983msgid "Are you sure you want to shut down?"
8084msgstr ""
8185
82−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
86+#: qml/Components/Dialogs.qml:99
87+msgctxt "Button: Reboot the system"
8388msgid "Reboot"
8489msgstr ""
8590
91+#: qml/Components/Dialogs.qml:107
92+msgctxt "Button: Shut down the system"
93+msgid "Shut down"
94+msgstr ""
95+
8696#: qml/Components/Dialogs.qml:127
87−msgid "Shutdown"
97+msgctxt "Title: Reboot dialog"
98+msgid "Reboot"
8899msgstr ""
89100
90−#: qml/Components/Dialogs.qml:148
101+#: qml/Components/Dialogs.qml:128
91102msgid "Are you sure you want to reboot?"
92103msgstr ""
93104
94−#: qml/Components/Dialogs.qml:150
105+#: qml/Components/Dialogs.qml:130
95106msgid "No"
96107msgstr ""
97108
98−#: qml/Components/Dialogs.qml:156
109+#: qml/Components/Dialogs.qml:136
99110msgid "Yes"
100111msgstr ""
101112
102−#: qml/Components/Dialogs.qml:170
113+#: qml/Components/Dialogs.qml:150
114+msgctxt "Title: Power off/Restart dialog"
103115msgid "Power"
104116msgstr ""
105117
106−#: qml/Components/Dialogs.qml:171
118+#: qml/Components/Dialogs.qml:151
107119msgid ""
108120"Are you sure you would like\n"
109121"to power off?"
110122msgstr ""
111123
112−#: qml/Components/Dialogs.qml:173
124+#: qml/Components/Dialogs.qml:153
125+msgctxt "Button: Power off the system"
113126msgid "Power off"
114127msgstr ""
115128
116−#: qml/Components/Dialogs.qml:182
129+#: qml/Components/Dialogs.qml:162
130+msgctxt "Button: Restart the system"
117131msgid "Restart"
118132msgstr ""
119133
@@ -129,23 +143,29 @@ msgstr ""
129143msgid "OK"
130144msgstr ""
131145
132−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
146+#: qml/Dash/GenericScopeView.qml:533 qml/Dash/GenericScopeView.qml:691
133147msgid "See less"
134148msgstr ""
135149
136−#: qml/Dash/GenericScopeView.qml:528
150+#: qml/Dash/GenericScopeView.qml:533
137151msgid "See all"
138152msgstr ""
139153
140−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
141−#: qml/Panel/SearchIndicator.qml:27
154+#: qml/Dash/GenericScopeView.qml:595
155+msgctxt "Label: Hint for dash search line edit"
142156msgid "Search"
143157msgstr ""
144158
145159#: qml/Dash/PageHeader.qml:269
160+msgctxt "Button: The Ubuntu Store"
146161msgid "Store"
147162msgstr ""
148163
164+#: qml/Dash/PageHeader.qml:276
165+msgctxt "Button: Shown in Page Header Menu"
166+msgid "Search"
167+msgstr ""
168+
149169#: qml/Dash/PageHeader.qml:286
150170msgid "Settings"
151171msgstr ""
@@ -309,6 +329,7 @@ msgid "Failed, tap to retry"
309329msgstr ""
310330
311331#: qml/Panel/Indicators/MessageMenuItemFactory.qml:149
332+msgctxt "Label: Hint in message indicator line edit"
312333msgid "Reply"
313334msgstr ""
314335
@@ -373,6 +394,7 @@ msgid "View all your running tasks."
373394msgstr ""
374395
375396#: qml/Wizard/Page.qml:89
397+msgctxt "Button: Go back one page in the Wizard"
376398msgid "Back"
377399msgstr ""
378400
@@ -416,26 +438,32 @@ msgid "Please select how you’d like to unlock your phone."
416438msgstr ""
417439
418440#: qml/Wizard/Pages/30-passwd-type.qml:97
441+msgctxt "Label: Type of security method"
419442msgid "Swipe"
420443msgstr ""
421444
422445#: qml/Wizard/Pages/30-passwd-type.qml:98
446+msgctxt "Label: Description of security method"
423447msgid "No security"
424448msgstr ""
425449
426450#: qml/Wizard/Pages/30-passwd-type.qml:100
451+msgctxt "Label: Type of security method"
427452msgid "Passcode"
428453msgstr ""
429454
430455#: qml/Wizard/Pages/30-passwd-type.qml:101
456+msgctxt "Label: Description of security method"
431457msgid "4 digits only"
432458msgstr ""
433459
434460#: qml/Wizard/Pages/30-passwd-type.qml:103
461+msgctxt "Label: Type of security method"
435462msgid "Passphrase"
436463msgstr ""
437464
438465#: qml/Wizard/Pages/30-passwd-type.qml:104
466+msgctxt "Label: Description of security method"
439467msgid "Numbers and letters"
440468msgstr ""
441469
po/update-unity-pot+1
@@ -22,6 +22,7 @@ xgettext \
2222 --keyword=tr \
2323 --keyword=tr:1,2 \
2424 --keyword=dtr:2 \
25+ --keyword=ctr:1c,2 \
2526 --package-name="unity8" \
2627 --copyright-holder="Canonical Ltd." \
2728 --from-code="UTF-8"
po/zh_TW.po+126−124
@@ -8,152 +8,154 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2015-02-25 08:57-0500\n"
11−"PO-Revision-Date: 2014-11-19 15:05+0000\n"
12−"Last-Translator: Walter Cheuk <wwycheuk@gmail.com>\n"
11+"PO-Revision-Date: 2015-03-15 06:06+0000\n"
12+"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
1313"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-03-04 05:57+0000\n"
19−"X-Generator: Launchpad (build 17361)\n"
18+"X-Launchpad-Export-Date: 2015-03-16 06:02+0000\n"
19+"X-Generator: Launchpad (build 17389)\n"
20+"Language: zh_TW\n"
2021
21−#: plugins/LightDM/Greeter.cpp:112
22+#: plugins/LightDM/Greeter.cpp:130
2223msgid "Password: "
2324msgstr "密碼: "
2425
2526#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
27+#: plugins/Unity/Launcher/launcheritem.cpp:91
2728msgid "Pin shortcut"
2829msgstr "釘住捷徑"
2930
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
31+#: plugins/Unity/Launcher/launcheritem.cpp:91
3132msgid "Unpin shortcut"
3233msgstr "取消捷徑釘選"
3334
34−#: qml/Components/DelayedLockscreen.qml:49
35+#: qml/Components/DelayedLockscreen.qml:47
3536msgid "Device Locked"
3637msgstr "裝置已鎖定"
3738
38−#: qml/Components/DelayedLockscreen.qml:64
39+#: qml/Components/DelayedLockscreen.qml:62
3940msgid "You have been locked out due to too many failed passphrase attempts."
4041msgstr "因為嘗試輸入太多次錯誤的密碼,裝置已經被鎖定。"
4142
42−#: qml/Components/DelayedLockscreen.qml:65
43+#: qml/Components/DelayedLockscreen.qml:63
4344msgid "You have been locked out due to too many failed passcode attempts."
4445msgstr "因為嘗試輸入太多次錯誤的密碼,裝置已經被鎖定。"
4546
46−#: qml/Components/DelayedLockscreen.qml:74
47+#: qml/Components/DelayedLockscreen.qml:72
4748#, qt-format
4849msgid "Please wait %1 minute and then try again…"
4950msgid_plural "Please wait %1 minutes and then try again…"
5051msgstr[0] "請等候 %1 分鐘再試…"
5152
52−#: qml/Components/Dialogs.qml:87
53+#: qml/Components/Dialogs.qml:74
5354msgid "Log out"
5455msgstr "登出"
5556
56−#: qml/Components/Dialogs.qml:88
57+#: qml/Components/Dialogs.qml:75
5758msgid "Are you sure you want to log out?"
5859msgstr "確定要登出?"
5960
6061#: qml/Components/Dialogs.qml:90
6162msgid "Lock"
62−msgstr ""
63+msgstr "鎖定"
6364
6465#: qml/Components/Dialogs.qml:97
6566msgid "Log Out"
66−msgstr ""
67+msgstr "登出"
6768
68−#: qml/Components/Dialogs.qml:104 qml/Components/Dialogs.qml:135
69−#: qml/Components/Dialogs.qml:191
69+#: qml/Components/Dialogs.qml:171
7070msgid "Cancel"
7171msgstr "取消"
7272
73−#: qml/Components/Dialogs.qml:116
73+#: qml/Components/Dialogs.qml:98
7474msgid "Shut down"
7575msgstr "關機"
7676
77−#: qml/Components/Dialogs.qml:117
77+#: qml/Components/Dialogs.qml:99
7878msgid "Are you sure you want to shut down?"
7979msgstr "確定要關機?"
8080
81−#: qml/Components/Dialogs.qml:119 qml/Components/Dialogs.qml:147
81+#: qml/Components/Dialogs.qml:123
8282msgid "Reboot"
8383msgstr "重新開機"
8484
8585#: qml/Components/Dialogs.qml:127
8686msgid "Shutdown"
87−msgstr ""
87+msgstr "關機"
8888
89−#: qml/Components/Dialogs.qml:148
89+#: qml/Components/Dialogs.qml:124
9090msgid "Are you sure you want to reboot?"
9191msgstr "確定要重新開機?"
9292
93−#: qml/Components/Dialogs.qml:150
93+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
94+#: qml/Components/Dialogs.qml:126
9495msgid "No"
9596msgstr "否"
9697
97−#: qml/Components/Dialogs.qml:156
98+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
99+#: qml/Components/Dialogs.qml:133
98100msgid "Yes"
99101msgstr "是"
100102
101−#: qml/Components/Dialogs.qml:170
103+#: qml/Components/Dialogs.qml:148
102104msgid "Power"
103105msgstr "關閉電源"
104106
105−#: qml/Components/Dialogs.qml:171
107+#: qml/Components/Dialogs.qml:149
106108msgid ""
107109"Are you sure you would like\n"
108110"to power off?"
109111msgstr "確定要關閉電源?"
110112
111−#: qml/Components/Dialogs.qml:173
113+#: qml/Components/Dialogs.qml:151
112114msgid "Power off"
113115msgstr "關閉電源"
114116
115−#: qml/Components/Dialogs.qml:182
117+#: qml/Components/Dialogs.qml:161
116118msgid "Restart"
117119msgstr "重新啟動"
118120
119−#: qml/Components/Lockscreen.qml:238
121+#: qml/Components/Lockscreen.qml:223
120122msgid "Return to Call"
121−msgstr ""
123+msgstr "返回通話"
122124
123−#: qml/Components/Lockscreen.qml:238
125+#: qml/Components/Lockscreen.qml:223
124126msgid "Emergency Call"
125127msgstr "緊急通話"
126128
127−#: qml/Components/Lockscreen.qml:270
129+#: qml/Components/Lockscreen.qml:255
128130msgid "OK"
129131msgstr "確定"
130132
131−#: qml/Dash/GenericScopeView.qml:528 qml/Dash/GenericScopeView.qml:686
133+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
132134msgid "See less"
133135msgstr "縮減查看"
134136
135−#: qml/Dash/GenericScopeView.qml:528
137+#: qml/Dash/GenericScopeView.qml:434
136138msgid "See all"
137139msgstr "查看全部"
138140
139−#: qml/Dash/GenericScopeView.qml:590 qml/Dash/PageHeader.qml:276
141+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
140142#: qml/Panel/SearchIndicator.qml:27
141143msgid "Search"
142144msgstr "搜尋"
143145
144−#: qml/Dash/PageHeader.qml:269
146+#: qml/Dash/PageHeader.qml:261
145147msgid "Store"
146148msgstr "商城"
147149
148−#: qml/Dash/PageHeader.qml:286
150+#: qml/Dash/PageHeader.qml:278
149151msgid "Settings"
150152msgstr "設定"
151153
152−#: qml/Dash/PageHeader.qml:293
154+#: qml/Dash/PageHeader.qml:285
153155msgid "Remove from Favorites"
154156msgstr "自「最愛」移除"
155157
156−#: qml/Dash/PageHeader.qml:293
158+#: qml/Dash/PageHeader.qml:285
157159msgid "Add to Favorites"
158160msgstr "加入到「最愛」"
159161
@@ -187,85 +189,85 @@ msgstr "放開以重新整理..."
187189
188190#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
189191msgid "Enable location data"
190−msgstr ""
192+msgstr "啟用位置資料"
191193
192−#: qml/Dash/ScopesList.qml:66
194+#: qml/Dash/ScopesList.qml:63
193195msgid "Manage"
194−msgstr ""
196+msgstr "管理"
195197
196−#: qml/Dash/ScopesList.qml:112
198+#: qml/Dash/ScopesList.qml:107
197199msgid "Home"
198−msgstr ""
200+msgstr "家屋"
199201
200−#: qml/Dash/ScopesList.qml:113
202+#: qml/Dash/ScopesList.qml:108
201203msgid "Also installed"
202−msgstr ""
204+msgstr "也有安裝"
203205
204−#: qml/Greeter/CoverPage.qml:107
206+#: qml/Greeter/Greeter.qml:174
205207msgid "Unlock"
206208msgstr "解鎖"
207209
208210#: qml/Greeter/LoginList.qml:236
209211msgid "Retry"
210−msgstr ""
212+msgstr "重試"
211213
212214#: qml/Greeter/LoginList.qml:237
213215msgid "Tap to unlock"
214−msgstr ""
216+msgstr "點按以解鎖"
215217
216−#: qml/Greeter/NarrowView.qml:53 qml/Wizard/Pages/passwd-confirm.qml:53
218+#: qml/Shell.qml:444
217219msgid "Sorry, incorrect passphrase."
218220msgstr "抱歉,密語不對"
219221
220−#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:54
222+#: qml/Shell.qml:445
221223msgid "Sorry, incorrect passcode."
222−msgstr "抱歉,passcode 不對。"
224+msgstr "抱歉,通關碼不對。"
223225
224−#: qml/Greeter/NarrowView.qml:55
226+#: qml/Shell.qml:446
225227msgid "This will be your last attempt."
226228msgstr "這將會是您最後一次嘗試的機會。"
227229
228−#: qml/Greeter/NarrowView.qml:57
230+#: qml/Shell.qml:448
229231msgid ""
230232"If passphrase is entered incorrectly, your phone will conduct a factory "
231233"reset and all personal data will be deleted."
232234msgstr "如輸入的密語不對,本電話會進行重設,所有個人資料都會刪除。"
233235
234−#: qml/Greeter/NarrowView.qml:58
236+#: qml/Shell.qml:449
235237msgid ""
236238"If passcode is entered incorrectly, your phone will conduct a factory reset "
237239"and all personal data will be deleted."
238−msgstr "如輸入的 passcode 不對,本電話會進行重設,所有個人資料都會刪除。"
240+msgstr "如輸入的通關碼不對,本電話會進行重設,所有個人資料都會刪除。"
239241
240−#: qml/Greeter/NarrowView.qml:115
242+#: qml/Shell.qml:402
241243#, qt-format
242244msgid "Enter %1"
243245msgstr "輸入 %1"
244246
245−#: qml/Greeter/NarrowView.qml:116 qml/Wizard/Pages/passwd-set.qml:60
247+#: qml/Shell.qml:394
246248msgid "Enter passphrase"
247249msgstr "輸入密語"
248250
249−#: qml/Greeter/NarrowView.qml:117
251+#: qml/Shell.qml:398
250252msgid "Enter passcode"
251−msgstr "輸入 passcode"
253+msgstr "輸入通關碼"
252254
253−#: qml/Greeter/NarrowView.qml:118
255+#: qml/Shell.qml:403
254256#, qt-format
255257msgid "Sorry, incorrect %1"
256258msgstr "抱歉,%1不對"
257259
258−#: qml/Greeter/NarrowView.qml:119
260+#: qml/Shell.qml:395
259261msgid "Sorry, incorrect passphrase"
260262msgstr "抱歉,密語不對"
261263
262−#: qml/Greeter/NarrowView.qml:120
264+#: qml/Shell.qml:396
263265msgid "Please re-enter"
264266msgstr "請再輸入"
265267
266−#: qml/Greeter/NarrowView.qml:121
268+#: qml/Shell.qml:399
267269msgid "Sorry, incorrect passcode"
268−msgstr "抱歉,passcode 不對"
270+msgstr "抱歉,通關碼不對"
269271
270272#: qml/Notifications/NotificationMenuItemFactory.qml:128
271273msgid "Show password"
@@ -273,7 +275,7 @@ msgstr "顯示密碼"
273275
274276#: qml/Panel/ActiveCallHint.qml:79
275277msgid "Tap to return to call..."
276−msgstr "輕觸可返回通話…"
278+msgstr "點按可返回通話…"
277279
278280#: qml/Panel/ActiveCallHint.qml:92
279281msgid "Conference"
@@ -293,7 +295,7 @@ msgstr "下載中"
293295
294296#: qml/Panel/Indicators/MenuItemFactory.qml:797
295297msgid "Paused, tap to resume"
296−msgstr "已暫停,輕觸可繼續"
298+msgstr "已暫停,點按可繼續"
297299
298300#: qml/Panel/Indicators/MenuItemFactory.qml:799
299301msgid "Canceled"
@@ -305,15 +307,15 @@ msgstr "已完成"
305307
306308#: qml/Panel/Indicators/MenuItemFactory.qml:803
307309msgid "Failed, tap to retry"
308−msgstr "失敗,輕觸可重試"
310+msgstr "失敗,點按可重試"
309311
310312#: qml/Panel/Indicators/MessageMenuItemFactory.qml:149
311313msgid "Reply"
312−msgstr ""
314+msgstr "回覆"
313315
314316#: qml/Panel/Indicators/ModemInfoItem.qml:105
315317msgid "Unlock SIM"
316−msgstr "為 SIM 卡解鎖"
318+msgstr "解鎖 SIM 卡"
317319
318320#: qml/Panel/Indicators/RoamingIndication.qml:27
319321msgid "Roaming"
@@ -321,232 +323,232 @@ msgstr "漫遊"
321323
322324#: qml/Tutorial/TutorialBottomFinish.qml:24
323325msgid "This action does different things for different apps"
324−msgstr ""
326+msgstr "這個動作在不同的程式中有不同的效果"
325327
326328#: qml/Tutorial/TutorialBottomFinish.qml:25
327329msgid "Tap here to finish."
328−msgstr ""
330+msgstr "點按這裡完成。"
329331
330332#: qml/Tutorial/TutorialBottom.qml:28
331333msgid "Open special menus"
332−msgstr ""
334+msgstr "開啟特殊選單"
333335
334336#: qml/Tutorial/TutorialBottom.qml:29
335337msgid "Swipe up from the bottom edge."
336−msgstr ""
338+msgstr "從底部邊緣向上滑動。"
337339
338340#: qml/Tutorial/TutorialLeftFinish.qml:24
339341msgid "These are the shortcuts to favorite apps"
340−msgstr ""
342+msgstr "這些是喜愛程式的捷徑"
341343
342344#: qml/Tutorial/TutorialLeftFinish.qml:25 qml/Tutorial/TutorialRight.qml:144
343345msgid "Tap here to continue."
344−msgstr ""
346+msgstr "點按這裡繼續。"
345347
346348#: qml/Tutorial/TutorialLeft.qml:26
347349msgid "Open the launcher"
348−msgstr ""
350+msgstr "開啟啟動欄"
349351
350352#: qml/Tutorial/TutorialLeft.qml:27
351353msgid "Short swipe from the left edge."
352−msgstr ""
354+msgstr "從左側邊緣小幅滑動。"
353355
354356#: qml/Tutorial/TutorialPage.qml:178
355357msgid "You almost got it!"
356−msgstr ""
358+msgstr "您快學會了!"
357359
358360#: qml/Tutorial/TutorialPage.qml:195
359361msgid "Try again."
360−msgstr ""
362+msgstr "重試一次。"
361363
362364#: qml/Tutorial/TutorialRight.qml:31
363365msgid "To view open apps"
364−msgstr ""
366+msgstr "檢視開啟的程式"
365367
366368#: qml/Tutorial/TutorialRight.qml:32
367369msgid "Long swipe from the right edge."
368−msgstr ""
370+msgstr "從右側邊緣大幅滑動。"
369371
370372#: qml/Tutorial/TutorialRight.qml:122
371373msgid "View all your running tasks."
372−msgstr ""
374+msgstr "檢視您所有執行中的作業項目。"
373375
374376#: qml/Wizard/Page.qml:89
375377msgid "Back"
376−msgstr ""
378+msgstr "返回"
377379
378380#: qml/Wizard/Pages/10-welcome.qml:27
379381msgid "Hi!"
380−msgstr ""
382+msgstr "您好!"
381383
382384#: qml/Wizard/Pages/10-welcome.qml:44
383385msgid "Welcome to your Ubuntu phone."
384−msgstr ""
386+msgstr "歡迎使用您的 Ubuntu 手機。"
385387
386388#: qml/Wizard/Pages/10-welcome.qml:52
387389msgid "Let’s get started."
388−msgstr ""
390+msgstr "讓我們開始吧。"
389391
390392#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:128
391393#: qml/Wizard/Pages/40-wifi.qml:215 qml/Wizard/Pages/50-location.qml:131
392394#: qml/Wizard/Pages/60-reporting.qml:50 qml/Wizard/Pages/passwd-confirm.qml:82
393395#: qml/Wizard/Pages/passwd-set.qml:90
394396msgid "Continue"
395−msgstr ""
397+msgstr "繼續"
396398
397399#: qml/Wizard/Pages/20-sim.qml:25
398400msgid "Add a SIM card and restart your device"
399−msgstr ""
401+msgstr "插入 SIM 卡並重新啟動您的裝置"
400402
401403#: qml/Wizard/Pages/20-sim.qml:59
402404msgid "Without it, you won’t be able to make calls or use text messaging."
403−msgstr ""
405+msgstr "沒有它,您便無法撥打電話,或是傳送文字簡訊。"
404406
405407#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
406408msgid "Skip"
407−msgstr ""
409+msgstr "略過"
408410
409411#: qml/Wizard/Pages/30-passwd-type.qml:39
410412msgid "Lock security"
411−msgstr ""
413+msgstr "安全鎖"
412414
413415#: qml/Wizard/Pages/30-passwd-type.qml:74
414416msgid "Please select how you’d like to unlock your phone."
415−msgstr ""
417+msgstr "請選取您想要的手機解鎖方式。"
416418
417419#: qml/Wizard/Pages/30-passwd-type.qml:97
418420msgid "Swipe"
419−msgstr ""
421+msgstr "滑開"
420422
421423#: qml/Wizard/Pages/30-passwd-type.qml:98
422424msgid "No security"
423−msgstr ""
425+msgstr "不安全"
424426
425427#: qml/Wizard/Pages/30-passwd-type.qml:100
426428msgid "Passcode"
427−msgstr ""
429+msgstr "通關碼"
428430
429431#: qml/Wizard/Pages/30-passwd-type.qml:101
430432msgid "4 digits only"
431−msgstr ""
433+msgstr "僅 4 位數"
432434
433435#: qml/Wizard/Pages/30-passwd-type.qml:103
434436msgid "Passphrase"
435−msgstr ""
437+msgstr "密語"
436438
437439#: qml/Wizard/Pages/30-passwd-type.qml:104
438440msgid "Numbers and letters"
439−msgstr ""
441+msgstr "數字和字母"
440442
441443#: qml/Wizard/Pages/40-wifi.qml:29
442444msgid "Connect to Wi‑Fi"
443−msgstr ""
445+msgstr "連接 Wi-Fi"
444446
445447#: qml/Wizard/Pages/40-wifi.qml:168
446448msgid "Available networks…"
447−msgstr ""
449+msgstr "可用的網路…"
448450
449451#: qml/Wizard/Pages/40-wifi.qml:169
450452msgid "No available networks."
451−msgstr ""
453+msgstr "無可用網路。"
452454
453455#: qml/Wizard/Pages/50-location.qml:27
454456msgid "Location"
455−msgstr ""
457+msgstr "位置"
456458
457459#: qml/Wizard/Pages/50-location.qml:62
458460msgid "Let the phone detect your location:"
459−msgstr ""
461+msgstr "讓手機偵測您的所在位置:"
460462
461463#: qml/Wizard/Pages/50-location.qml:69
462464msgid "Using GPS only (less accurate)"
463−msgstr ""
465+msgstr "僅使用 GPS (較不精確)"
464466
465467#: qml/Wizard/Pages/50-location.qml:86
466468msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
467−msgstr ""
469+msgstr "使用 GPS、匿名化 Wi-Fi 與巢狀行動網路資訊 (建議)"
468470
469471#. TRANSLATORS: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
470472#: qml/Wizard/Pages/50-location.qml:103
471473msgid ""
472474"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
473475"conditions</a>."
474−msgstr ""
476+msgstr "選取此項代表您同意 Nokia HERE 的<a href='#'>服務條款與細則</a>。"
475477
476478#: qml/Wizard/Pages/50-location.qml:112
477479msgid "Not at all"
478−msgstr ""
480+msgstr "一點也不"
479481
480482#: qml/Wizard/Pages/50-location.qml:124
481483msgid "You can change your mind later in <b>System Settings</b>."
482−msgstr ""
484+msgstr "您稍後若改變心意,可以到<b>系統設定</b>中更改。"
483485
484486#: qml/Wizard/Pages/60-reporting.qml:24
485487msgid "Improving your experience"
486−msgstr ""
488+msgstr "改善您的使用體驗"
487489
488490#: qml/Wizard/Pages/60-reporting.qml:36
489491msgid ""
490492"Your phone is set up to automatically report errors to Canonical and its "
491493"partners, the makers of the operating system."
492−msgstr ""
494+msgstr "您的手機已設置為會自動向 Canonical 及其合作夥伴 (作業系統的製作者) 回報錯誤問題。"
493495
494496#: qml/Wizard/Pages/60-reporting.qml:43
495497msgid ""
496498"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
497499"Privacy</b>"
498−msgstr ""
500+msgstr "這可隨時在<b>系統設定</b>的<b>安全與隱私</b>中停用。"
499501
500502#: qml/Wizard/Pages/80-finished.qml:24
501503msgid "All done"
502−msgstr ""
504+msgstr "大功告成"
503505
504506#: qml/Wizard/Pages/80-finished.qml:39
505507msgid "Nice work!"
506−msgstr ""
508+msgstr "做得漂亮!"
507509
508510#: qml/Wizard/Pages/80-finished.qml:46
509511msgid "Your phone is now ready to use."
510−msgstr ""
512+msgstr "您的手機現在已準備好使用。"
511513
512514#: qml/Wizard/Pages/80-finished.qml:53
513515msgid "Finish"
514−msgstr ""
516+msgstr "完成"
515517
516518#: qml/Wizard/Pages/here-terms.qml:27
517519msgid "Terms & Conditions"
518−msgstr ""
520+msgstr "使用條款與細則"
519521
520522#: qml/Wizard/Pages/passwd-confirm.qml:49
521523msgid "Confirm passphrase"
522−msgstr ""
524+msgstr "確認密語"
523525
524526#: qml/Wizard/Pages/passwd-confirm.qml:50
525527msgid "Confirm passcode"
526−msgstr ""
528+msgstr "確認通關碼"
527529
528530#: qml/Wizard/Pages/passwd-confirm.qml:53
529531#: qml/Wizard/Pages/passwd-confirm.qml:54
530532msgid "Please try again."
531−msgstr ""
533+msgstr "請重試一次。"
532534
533535#: qml/Wizard/Pages/passwd-set.qml:61
534536msgid "Choose your passcode"
535−msgstr ""
537+msgstr "決定您的通關碼"
536538
537539#: qml/Wizard/Pages/passwd-set.qml:68
538540msgid "Passphrase must be 4 characters long"
539−msgstr ""
541+msgstr "密語必須 4 個字元長"
540542
541543#: qml/Wizard/StackButton.qml:39
542544#, qt-format
543545msgid "〈 %1"
544−msgstr ""
546+msgstr "〈 %1"
545547
546548#: qml/Wizard/StackButton.qml:42
547549#, qt-format
548550msgid "%1 〉"
549−msgstr ""
551+msgstr "%1 〉"
550552
551553#~ msgid "Confirm"
552554#~ msgstr "確認"
qml/Components/Dialogs.qml+10−10
@@ -64,17 +64,17 @@ Item {
6464 id: logoutDialogComponent
6565 ShellDialog {
6666 id: logoutDialog
67− title: i18n.tr("Log out")
67+ title: i18n.ctr("Title: Lock/Log out dialog", "Log out")
6868 text: i18n.tr("Are you sure you want to log out?")
6969 Button {
70− text: i18n.tr("Lock")
70+ text: i18n.ctr("Button: Lock the system", "Lock")
7171 onClicked: {
7272 LightDM.Greeter.showGreeter()
7373 logoutDialog.hide();
7474 }
7575 }
7676 Button {
77− text: i18n.tr("Log Out")
77+ text: i18n.ctr("Button: Log out from the system", "Log Out")
7878 onClicked: {
7979 unitySessionService.logout();
8080 logoutDialog.hide();
@@ -93,10 +93,10 @@ Item {
9393 id: shutdownDialogComponent
9494 ShellDialog {
9595 id: shutdownDialog
96− title: i18n.tr("Shut down")
96+ title: i18n.ctr("Title: Reboot/Shut down dialog", "Shut down")
9797 text: i18n.tr("Are you sure you want to shut down?")
9898 Button {
99− text: i18n.tr("Reboot")
99+ text: i18n.ctr("Button: Reboot the system", "Reboot")
100100 onClicked: {
101101 root.closeAllApps();
102102 unitySessionService.reboot();
@@ -104,7 +104,7 @@ Item {
104104 }
105105 }
106106 Button {
107− text: i18n.tr("Shutdown")
107+ text: i18n.ctr("Button: Shut down the system", "Shut down")
108108 onClicked: {
109109 root.closeAllApps();
110110 unitySessionService.shutdown();
@@ -124,7 +124,7 @@ Item {
124124 id: rebootDialogComponent
125125 ShellDialog {
126126 id: rebootDialog
127− title: i18n.tr("Reboot")
127+ title: i18n.ctr("Title: Reboot dialog", "Reboot")
128128 text: i18n.tr("Are you sure you want to reboot?")
129129 Button {
130130 text: i18n.tr("No")
@@ -147,10 +147,10 @@ Item {
147147 id: powerDialogComponent
148148 ShellDialog {
149149 id: powerDialog
150− title: i18n.tr("Power")
150+ title: i18n.ctr("Title: Power off/Restart dialog", "Power")
151151 text: i18n.tr("Are you sure you would like\nto power off?")
152152 Button {
153− text: i18n.tr("Power off")
153+ text: i18n.ctr("Button: Power off the system", "Power off")
154154 onClicked: {
155155 root.closeAllApps();
156156 powerDialog.hide();
@@ -159,7 +159,7 @@ Item {
159159 color: UbuntuColors.red
160160 }
161161 Button {
162− text: i18n.tr("Restart")
162+ text: i18n.ctr("Button: Restart the system", "Restart")
163163 onClicked: {
164164 root.closeAllApps();
165165 unitySessionService.reboot();
qml/Dash/GenericScopeView.qml+1−1
@@ -592,7 +592,7 @@ FocusScope {
592592 objectName: "scopePageHeader"
593593 width: parent.width
594594 title: scopeView.scope ? scopeView.scope.name : ""
595− searchHint: scopeView.scope && scopeView.scope.searchHint || i18n.tr("Search")
595+ searchHint: scopeView.scope && scopeView.scope.searchHint || i18n.ctr("Label: Hint for dash search line edit", "Search")
596596 showBackButton: scopeView.hasBackAction
597597 searchEntryEnabled: true
598598 settingsEnabled: scopeView.scope && scopeView.scope.settings && scopeView.scope.settings.count > 0 || false
qml/Dash/PageHeader.qml+3−3
@@ -266,14 +266,14 @@ Item {
266266 actions: [
267267 Action {
268268 objectName: "store"
269− text: i18n.tr("Store")
269+ text: i18n.ctr("Button: Open the Ubuntu Store", "Store")
270270 iconName: "ubuntu-store-symbolic"
271271 visible: root.storeEntryEnabled
272272 onTriggered: root.storeClicked();
273273 },
274274 Action {
275275 objectName: "search"
276− text: i18n.tr("Search")
276+ text: i18n.ctr("Button: Start a search in the current dash scope", "Search")
277277 iconName: "search"
278278 visible: root.searchEntryEnabled
279279 onTriggered: {
@@ -283,7 +283,7 @@ Item {
283283 },
284284 Action {
285285 objectName: "settings"
286− text: i18n.tr("Settings")
286+ text: i18n.ctr("Button: Show the current dash scope settings", "Settings")
287287 iconName: "settings"
288288 visible: root.settingsEnabled
289289 onTriggered: root.settingsClicked()
qml/Dash/Previews/PreviewImageGallery.qml+25−6
@@ -38,6 +38,8 @@ PreviewWidget {
3838 model: root.widgetData["sources"]
3939 clip: true
4040
41+ onCurrentIndexChanged: overlay.updateInitialItem()
42+
4143 LazyImage {
4244 objectName: "placeholderScreenshot"
4345 anchors {
@@ -65,9 +67,8 @@ PreviewWidget {
6567 id: mouseArea
6668 anchors.fill: parent
6769 onClicked: {
68− overlay.delegateItem.currentIndex = index;
69− overlay.initialX = rootItem.mapFromItem(parent, 0, 0).x;
70− overlay.initialY = rootItem.mapFromItem(parent, 0, 0).y;
70+ previewImageListView.currentIndex = index;
71+ overlay.updateInitialItem();
7172 overlay.show();
7273 }
7374 }
@@ -78,9 +79,14 @@ PreviewWidget {
7879 id: overlay
7980 objectName: "overlay"
8081 parent: rootItem
81− width: parent.width
82− height: parent.height
83− initialScale: previewImageListView.height / rootItem.height
82+ anchors.fill: parent
83+
84+ function updateInitialItem() {
85+ initialX = rootItem.mapFromItem(previewImageListView.currentItem, 0, 0).x;
86+ initialY = rootItem.mapFromItem(previewImageListView.currentItem, 0, 0).y;
87+ initialWidth = previewImageListView.currentItem.width;
88+ initialHeight = previewImageListView.currentItem.height;
89+ }
8490
8591 delegate: ListView {
8692 id: overlayListView
@@ -92,6 +98,19 @@ PreviewWidget {
9298 snapMode: ListView.SnapOneItem
9399 boundsBehavior: Flickable.DragAndOvershootBounds
94100 model: root.widgetData["sources"]
101+ currentIndex: previewImageListView.currentIndex
102+
103+ onCurrentIndexChanged: {
104+ // if the index changed while overlay is visible, it was from user interaction,
105+ // let's update the index of the original listview
106+ if (overlay.visible) {
107+ previewImageListView.highlightMoveDuration = 0;
108+ previewImageListView.highlightResizeDuration = 0;
109+ previewImageListView.currentIndex = currentIndex;
110+ previewImageListView.highlightMoveDuration = -1;
111+ previewImageListView.highlightResizeDuration = -1;
112+ }
113+ }
95114
96115 delegate: Image {
97116 id: screenshot
qml/Dash/Previews/PreviewOverlay.qml+77−26
@@ -22,48 +22,99 @@ Rectangle {
2222 id: overlay
2323 objectName: "overlay"
2424
25− readonly property real scaleProgress: (scale - initialScale) / (1.0 - initialScale)
25+ readonly property real aspectRatio: width / height
26+ readonly property real initialAspectRatio: initialWidth / initialHeight
27+ readonly property real initialXScale: initialWidth / width
28+ readonly property real initialYScale: initialHeight / height
2629
2730 property alias delegate: loader.sourceComponent
2831 property alias delegateItem: loader.item
2932 property alias headerShown: overlayHeader.shown
30− property bool shown: false
31− property bool opening: false
3233 property real initialX: 0
3334 property real initialY: 0
34− property real initialScale: 0
35−
36− visible: scale > initialScale
37− clip: visible && scale < 1.0
38− scale: shown ? 1.0 : initialScale
35+ property real initialWidth: 1
36+ property real initialHeight: 1
37+
38+ property real xScale: initialXScale
39+ property real yScale: initialYScale
40+ property real progress: 0
41+
42+ implicitWidth: 1
43+ implicitHeight: 1
44+ visible: progress > 0
45+ clip: progress > 0 && progress < 1
46+ color: Qt.rgba(0, 0, 0, progress)
3947 transformOrigin: Item.TopLeft
40− transform: Translate {
41− x: overlay.initialX - overlay.initialX * overlay.scaleProgress
42− y: overlay.initialY - overlay.initialY * overlay.scaleProgress
43− }
44− color: Qt.rgba(0, 0, 0, scaleProgress)
45− radius: units.gu(1) - units.gu(1) * scaleProgress
48+ transform: [
49+ Scale {
50+ origin.x: 0
51+ origin.y: 0
52+ xScale: overlay.xScale
53+ yScale: overlay.yScale
54+ },
55+ Translate {
56+ x: overlay.initialX - overlay.initialX * overlay.progress
57+ y: overlay.initialY - overlay.initialY * overlay.progress
58+ }
59+ ]
60+ state: "hidden"
61+ states: [
62+ State {
63+ name: "shown"
64+ PropertyChanges { target: overlay; progress: 1; xScale: 1; yScale: 1 }
65+ },
66+ State {
67+ name: "hidden"
68+ PropertyChanges { target: overlay; progress: 0; xScale: initialXScale; yScale: initialYScale }
69+ }
70+ ]
71+ transitions: [
72+ Transition {
73+ from: "hidden"
74+ to: "shown"
75+ UbuntuNumberAnimation {
76+ target: overlay
77+ properties: "progress,xScale,yScale"
78+ duration: UbuntuAnimation.FastDuration
79+ }
80+ },
81+ Transition {
82+ from: "shown"
83+ to: "hidden"
84+ UbuntuNumberAnimation {
85+ target: overlay
86+ properties: "progress,xScale,yScale"
87+ duration: UbuntuAnimation.FastDuration / 2
88+ }
89+ }
90+ ]
4691
4792 function show() {
48− opening = true;
49− shown = true;
93+ state = "shown"
5094 }
5195
5296 function hide() {
53− opening = false;
54− shown = false;
55− }
56−
57− Behavior on scale {
58− UbuntuNumberAnimation {
59− duration: overlay.opening ? UbuntuAnimation.FastDuration :
60− UbuntuAnimation.FastDuration / 2
61− }
97+ state = "hidden"
6298 }
6399
64100 Loader {
65101 id: loader
66102 anchors.fill: parent
103+
104+ readonly property bool verticalScaling: initialAspectRatio / aspectRatio >= 1
105+ readonly property real initialXScale: verticalScaling ? 1 : aspectRatio / initialAspectRatio
106+ readonly property real initialYScale: verticalScaling ? initialAspectRatio / aspectRatio : 1
107+ readonly property real xScale: verticalScaling ? loader.initialXScale - loader.initialXScale * overlay.progress + overlay.progress :
108+ loader.yScale * overlay.yScale / overlay.xScale
109+ readonly property real yScale: verticalScaling ? loader.xScale * overlay.xScale / overlay.yScale :
110+ loader.initialYScale - loader.initialYScale * overlay.progress + overlay.progress
111+
112+ transform: Scale {
113+ origin.x: parent.width / 2
114+ origin.y: parent.height / 2
115+ xScale: loader.xScale
116+ yScale: loader.yScale
117+ }
67118 }
68119
69120 Rectangle {
@@ -77,7 +128,7 @@ Rectangle {
77128 }
78129 height: units.gu(7)
79130 visible: opacity > 0
80− opacity: overlay.scaleProgress > 0.6 && shown ? 0.8 : 0
131+ opacity: overlay.state == "shown" && overlay.progress > 0.8 && shown ? 0.8 : 0
81132 color: "black"
82133
83134 Behavior on opacity {
qml/Dash/Previews/PreviewZoomableImage.qml+3−3
@@ -59,9 +59,9 @@ PreviewWidget {
5959 id: overlay
6060 objectName: "overlay"
6161 parent: rootItem
62− width: parent.width
63− height: parent.height
64− initialScale: lazyImage.height / rootItem.height
62+ anchors.fill: parent
63+ initialWidth: lazyImage.width
64+ initialHeight: lazyImage.height
6565
6666 delegate: ZoomableImage {
6767 anchors.fill: parent
qml/Greeter/Greeter.qml+28−17
@@ -19,7 +19,6 @@ import AccountsService 0.1
1919import LightDM 0.1 as LightDM
2020import Ubuntu.Components 1.1
2121import Ubuntu.SystemImage 0.1
22−import Unity.Connectivity 0.1
2322import Unity.Launcher 0.1
2423import "../Components"
2524
@@ -51,7 +50,7 @@ Showable {
5150
5251 property int maxFailedLogins: -1 // disabled by default for now, will enable via settings in future
5352 property int failedLoginsDelayAttempts: 7 // number of failed logins
54− property int failedLoginsDelayMinutes: 5 // minutes of forced waiting
53+ property real failedLoginsDelayMinutes: 5 // minutes of forced waiting
5554
5655 readonly property bool animating: loader.item ? loader.item.animating : false
5756
@@ -112,7 +111,6 @@ Showable {
112111
113112 readonly property bool multiUser: LightDM.Users.count > 1
114113 property int currentIndex
115− property int delayMinutes
116114 property bool waiting
117115
118116 // We want 'launcherOffset' to animate down to zero. But not to animate
@@ -181,19 +179,31 @@ Showable {
181179 }
182180 }
183181
184− Component.onCompleted: {
185− Connectivity.unlockAllModems();
186− }
187−
188182 Timer {
189183 id: forcedDelayTimer
190− interval: 1000 * 60
184+
185+ // We use a short interval and check against the system wall clock
186+ // because we have to consider the case that the system is suspended
187+ // for a few minutes. When we wake up, we want to quickly be correct.
188+ interval: 500
189+
190+ property var delayTarget;
191+ property int delayMinutes;
192+
193+ function forceDelay(delay /* in minutes */) {
194+ delayTarget = new Date();
195+ delayTarget.setTime(delayTarget.getTime() + delay * 60000);
196+ delayMinutes = Math.ceil(delay);
197+ start();
198+ }
199+
191200 onTriggered: {
192− if (d.delayMinutes > 0) {
193− d.delayMinutes -= 1;
194− if (d.delayMinutes > 0) {
195− start(); // go again
196− }
201+ var diff = delayTarget - new Date();
202+ if (diff > 0) {
203+ delayMinutes = Math.ceil(diff / 60000);
204+ start(); // go again
205+ } else {
206+ delayMinutes = 0;
197207 }
198208 }
199209 }
@@ -264,7 +274,7 @@ Showable {
264274 Binding {
265275 target: loader.item
266276 property: "delayMinutes"
267− value: d.delayMinutes
277+ value: forcedDelayTimer.delayMinutes
268278 }
269279
270280 Binding {
@@ -365,9 +375,10 @@ Showable {
365375 }
366376
367377 // Check if we should initiate a forced login delay
368− if (failedLoginsDelayAttempts > 0 && AccountsService.failedLogins % failedLoginsDelayAttempts == 0) {
369− d.delayMinutes = failedLoginsDelayMinutes;
370− forcedDelayTimer.start();
378+ if (failedLoginsDelayAttempts > 0
379+ && AccountsService.failedLogins > 0
380+ && AccountsService.failedLogins % failedLoginsDelayAttempts == 0) {
381+ forcedDelayTimer.forceDelay(failedLoginsDelayMinutes);
371382 }
372383
373384 loader.item.notifyAuthenticationFailed();
qml/Launcher/Launcher.qml+1−1
@@ -203,7 +203,7 @@ Item {
203203 LauncherPanel {
204204 id: panel
205205 objectName: "launcherPanel"
206− enabled: root.available && root.state == "visible"
206+ enabled: root.available && root.state == "visible" || root.state == "visibleTemporary"
207207 width: root.panelWidth
208208 anchors {
209209 top: parent.top
qml/Notifications/SwipeToAct.qml+178−247
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 20014-2015 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -16,12 +16,10 @@
1616
1717import QtQuick 2.3
1818import Ubuntu.Components 1.1
19−import QtGraphicalEffects 1.0
2019
2120Item {
2221 id: swipeToAct
2322
24− width: parent.width
2523 height: childrenRect.height
2624
2725 signal leftTriggered()
@@ -29,280 +27,213 @@ Item {
2927
3028 property string leftIconName
3129 property string rightIconName
32− readonly property double sliderHeight: units.gu(6)
33− readonly property double gap: units.gu(1)
34− readonly property double halfWay: mouseArea.drag.maximumX / 2
3530
36− Rectangle {
37− id: gradient
38− width: parent.width * 5
39− height: sliderHeight
40− visible: false
41− LinearGradient {
42− anchors.fill: parent
43− start: Qt.point(parent.x, parent.y)
44− end: Qt.point(parent.width, parent.y)
45− gradient: Gradient {
46− GradientStop { position: 0.0; color: UbuntuColors.red }
47− GradientStop { position: 0.2; color: UbuntuColors.red }
48− GradientStop { position: 0.4; color: "#dddddd" }
49− GradientStop { position: 0.6; color: "#dddddd" }
50− GradientStop { position: 0.8; color: UbuntuColors.green }
51− GradientStop { position: 1.0; color: UbuntuColors.green }
52− }
31+ QtObject {
32+ id: priv
33+
34+ property double opacityDelta
35+ readonly property double sliderHeight: units.gu(8)
36+ readonly property double gap: units.gu(1)
37+ readonly property color sliderMainColor: "#b2b2b2"
38+ readonly property color sliderBGColor: "#f4f4f4"
39+ readonly property double halfWay: mouseArea.drag.maximumX / 2
40+
41+ UbuntuNumberAnimation on opacityDelta {
42+ from: 0
43+ to: .5
44+ loops: Animation.Infinite
45+ duration: UbuntuAnimation.SleepyDuration
46+ easing.type: Easing.Linear
5347 }
54− }
5548
56− ShaderEffectSource {
57− id: effectSourceGradient
58− sourceItem: gradient
59− width: gradient.width
60− height: gradient.height
61− sourceRect: Qt.rect(0.4 * gradient.width * (slider.x / halfWay), 0, mask.width, mask.height)
62− visible: false
63− hideSource: true
49+ // linearly interpolate between start- and end-color
50+ // with a normalized weight-factor
51+ // 0.0 meaning just the start-color being taken into
52+ // account and 1.0 only taking the end-color into
53+ // account
54+ function interpolate(start, end, factor) {
55+ var rdiff = start.r > end.r ? end.r - start.r : end.r - start.r
56+ var gdiff = start.g > end.g ? end.g - start.g : end.g - start.g
57+ var bdiff = start.b > end.b ? end.b - start.b : end.b - start.b
58+ var adiff = start.a > end.a ? end.a - start.a : end.a - start.a
59+ var r = start.r + factor * rdiff
60+ var g = start.g + factor * gdiff
61+ var b = start.b + factor * bdiff
62+ var a = start.a + factor * adiff
63+ return Qt.rgba(r,g,b,a)
64+ }
6465 }
6566
6667 UbuntuShape {
67− id: mask
68− color: "black"
68+ id: row
6969 width: parent.width
70− height: sliderHeight
70+ height: priv.sliderHeight
71+ color: priv.sliderBGColor
7172 borderSource: "none"
72− visible: false
73− }
7473
75− ShaderEffectSource {
76− id: effectSourceMask
77− sourceItem: mask
78− width: mask.width
79− height: mask.height
80− visible: false
81− hideSource: true
82− }
83−
84− ShaderEffect {
85− width: parent.width
86− height: sliderHeight
87− property variant mask: effectSourceMask
88− property variant gradient: effectSourceGradient
89− vertexShader: "
90− uniform highp mat4 qt_Matrix;
91− attribute highp vec4 qt_Vertex;
92− attribute highp vec2 qt_MultiTexCoord0;
93− varying highp vec2 coord;
94− void main() {
95− coord = qt_MultiTexCoord0;
96− gl_Position = qt_Matrix * qt_Vertex;
97− }"
98− fragmentShader: "
99− varying highp vec2 coord;
100− uniform sampler2D mask;
101− uniform sampler2D gradient;
102− void main() {
103− lowp vec4 texMask = texture2D(mask, coord);
104− lowp vec4 texGradient = texture2D(gradient, coord);
105− gl_FragColor = texGradient.rgba * texMask.a ;
106− }"
74+ UbuntuShape {
75+ id: leftShape
76+ anchors.top: parent.top
77+ anchors.left: parent.left
78+ anchors.margins: priv.gap
79+ color: UbuntuColors.red
80+ borderSource: "none"
81+
82+ state: "normal"
83+ height: units.gu(6)
84+ width: units.gu(6)
85+ radius: "medium"
86+ opacity: slider.x <= priv.halfWay ? 1.0 : 1.0 - ((slider.x - priv.halfWay) / priv.halfWay)
87+
88+ Icon {
89+ anchors.centerIn: parent
90+ width: units.gu(3.5)
91+ height: units.gu(3.5)
92+ name: leftIconName
93+ color: "white"
94+ }
95+ }
10796
10897 Row {
109− id: row
110− anchors.fill: parent
111− spacing: gap
112− anchors.margins: gap
113−
114− UbuntuShape {
115− id: leftShape
116− states: [
117− State {
118− name: "normal"
119− PropertyChanges {
120− target: leftShape
121− color: UbuntuColors.red
122− }
123− PropertyChanges {
124− target: innerLeftShape
125− color: UbuntuColors.red
126− visible: false
127− }
128− },
129− State {
130− name: "selected"
131− PropertyChanges {
132− target: leftShape
133− color: "white"
134− }
135− PropertyChanges {
136− target: innerLeftShape
137− color: UbuntuColors.red
138− visible: true
139− }
140− }
141− ]
142− state: "normal"
143− height: units.gu(4)
144− width: units.gu(7)
145− borderSource: "none"
146− opacity: slider.x <= halfWay ? 1.0 : 1.0 - ((slider.x - halfWay) / halfWay)
147− UbuntuShape {
148− id: innerLeftShape
149− anchors.centerIn: parent
150− borderSource: "none"
151− width: parent.width - units.gu(.5)
152− height: parent.height - units.gu(.5)
153− }
154− Icon {
155− anchors.centerIn: parent
156− width: units.gu(2)
157− height: units.gu(2)
158− name: leftIconName
159− color: "white"
160− }
98+ anchors.verticalCenter: parent.verticalCenter
99+ anchors.right: slider.left
100+ anchors.rightMargin: units.gu(1.5)
101+ spacing: -units.gu(1)
102+ visible: slider.x === priv.halfWay
103+ Icon {
104+ name: "back"
105+ height: units.gu(2.5)
106+ color: priv.sliderMainColor
107+ opacity: .5 + priv.opacityDelta
161108 }
162−
163− Rectangle {
164− id: leftSpacer
165− width: (row.width - (leftShape.width + slider.width + rightShape.width + 4 * row.spacing)) / 2
166− height: units.gu(4)
167− opacity: 0
109+ Icon {
110+ name: "back"
111+ height: units.gu(2.5)
112+ color: priv.sliderMainColor
113+ opacity: 1 - priv.opacityDelta
168114 }
115+ }
169116
170− UbuntuShape {
171− id: slider
172− objectName: "slider"
117+ UbuntuShape {
118+ id: slider
119+ objectName: "slider"
120+ anchors.top: parent.top
121+ anchors.margins: priv.gap
122+ x: priv.halfWay
173123
174− Behavior on x {
175− UbuntuNumberAnimation {
176− duration: UbuntuAnimation.FastDuration
177− easing.type: Easing.OutBounce
178− }
179− }
124+ Component.onCompleted: {
125+ xBehavior.enabled = true
126+ }
180127
181− Behavior on opacity {
182− UbuntuNumberAnimation {
183− duration: UbuntuAnimation.FastDuration
184− }
128+ Behavior on x {
129+ id: xBehavior
130+ enabled: false
131+ UbuntuNumberAnimation {
132+ duration: UbuntuAnimation.FastDuration
133+ easing.type: Easing.OutBounce
185134 }
135+ }
186136
187− onOpacityChanged: {
188− if (opacity === 0) {
189− if (rightShape.state === "selected") {
190− rightTriggered()
191− }
192− if (leftShape.state === "selected") {
193− leftTriggered()
194− }
195− }
137+ Behavior on opacity {
138+ UbuntuNumberAnimation {
139+ duration: UbuntuAnimation.FastDuration
196140 }
141+ }
197142
198− z: 1
199− color: "white"
200− height: units.gu(4)
201− width: units.gu(7)
202− borderSource: "none"
203− Row {
204− anchors.fill: parent
205− spacing: 2 * gap
206− anchors.leftMargin: units.gu(.5)
207− anchors.rightMargin: units.gu(.5)
208− Icon {
209− anchors.verticalCenter: parent.verticalCenter
210− name: "back"
211− width: units.gu(2)
212− height: units.gu(2)
213− }
214− Icon {
215− anchors.verticalCenter: parent.verticalCenter
216− name: "next"
217− width: units.gu(2)
218− height: units.gu(2)
219− }
143+ onXChanged: {
144+ var factor
145+ if (slider.x <= priv.gap + leftShape.width)
146+ {
147+ factor = (slider.x - priv.gap) / leftShape.width
148+ slider.color = priv.interpolate(leftShape.color, priv.sliderMainColor, factor)
149+ } else if (slider.x >= rightShape.x - slider.width) {
150+ factor = (slider.x - rightShape.x + rightShape.width) / rightShape.width
151+ slider.color = priv.interpolate(priv.sliderMainColor, rightShape.color, factor)
152+ } else {
153+ slider.color = priv.sliderMainColor
220154 }
221155 }
222156
223− Rectangle {
224− id: rightSpacer
225− width: leftSpacer.width
226− height: units.gu(4)
227− opacity: 0
157+ z: 1
158+ color: priv.sliderMainColor
159+ height: units.gu(6)
160+ width: units.gu(6)
161+ borderSource: "none"
162+ radius: "medium"
163+ Icon {
164+ anchors.fill: parent
165+ anchors.margins: units.gu(1.5)
166+ source: "grip-large.svg"
167+ color: "white"
228168 }
169+ }
170+ Row {
171+ anchors.verticalCenter: parent.verticalCenter
172+ anchors.left: slider.right
173+ anchors.leftMargin: units.gu(1.5)
174+ spacing: -units.gu(1)
175+ visible: slider.x === priv.halfWay
176+ Icon {
177+ name: "next"
178+ height: units.gu(2.5)
179+ color: priv.sliderMainColor
180+ opacity: 1 - priv.opacityDelta
181+ }
182+ Icon {
183+ name: "next"
184+ height: units.gu(2.5)
185+ color: priv.sliderMainColor
186+ opacity: 0.5 + priv.opacityDelta
187+ }
188+ }
229189
230− UbuntuShape {
231− id: rightShape
232− states: [
233− State {
234− name: "normal"
235− PropertyChanges {
236− target: rightShape
237− color: UbuntuColors.green
238− }
239− PropertyChanges {
240− target: innerRightShape
241− color: UbuntuColors.green
242− visible: false
243− }
244− },
245− State {
246− name: "selected"
247− PropertyChanges {
248− target: rightShape
249− color: "white"
250− }
251− PropertyChanges {
252− target: innerRightShape
253− color: UbuntuColors.green
254− visible: true
255− }
256− }
257− ]
258− state: "normal"
259− height: units.gu(4)
260− width: units.gu(7)
261− borderSource: "none"
262− opacity: slider.x >= halfWay ? 1.0 : slider.x / halfWay
263− UbuntuShape {
264− id: innerRightShape
265− anchors.centerIn: parent
266− borderSource: "none"
267− width: parent.width - units.gu(.5)
268− height: parent.height - units.gu(.5)
269− }
270− Icon {
271− anchors.centerIn: parent
272− width: units.gu(2)
273− height: units.gu(2)
274− name: rightIconName
275− color: "white"
276− }
190+ UbuntuShape {
191+ id: rightShape
192+ anchors.top: parent.top
193+ anchors.right: parent.right
194+ anchors.margins: priv.gap
195+ color: UbuntuColors.green
196+ borderSource: "none"
197+
198+ state: "normal"
199+ height: units.gu(6)
200+ width: units.gu(6)
201+ radius: "medium"
202+ opacity: slider.x >= priv.halfWay ? 1.0 : slider.x / priv.halfWay
203+
204+ Icon {
205+ anchors.centerIn: parent
206+ width: units.gu(3.5)
207+ height: units.gu(3.5)
208+ name: rightIconName
209+ color: "white"
277210 }
278211 }
212+ }
279213
280− MouseArea {
281− id: mouseArea
282− objectName: "swipeMouseArea"
214+ MouseArea {
215+ id: mouseArea
216+ objectName: "swipeMouseArea"
283217
284− anchors.fill: row
285− drag.target: slider
286− drag.axis: Drag.XAxis
287− drag.minimumX: 0
288− drag.maximumX: row.width - slider.width
218+ anchors.fill: row
219+ drag.target: slider
220+ drag.axis: Drag.XAxis
221+ drag.minimumX: priv.gap
222+ drag.maximumX: row.width - slider.width - priv.gap
289223
290− onReleased: {
291− if (slider.x !== drag.minimumX || slider.x !== drag.maximumX) {
292− slider.x = halfWay
293− }
294− if (slider.x === drag.minimumX) {
295− slider.x = drag.minimumX
296− slider.opacity = 0
297− enabled = false
298− leftShape.state = "selected"
299− }
300− if (slider.x === drag.maximumX) {
301− slider.x = drag.maximumX
302− slider.opacity = 0
303− enabled = false
304− rightShape.state = "selected"
305− }
224+ onReleased: {
225+ if (slider.x !== drag.minimumX || slider.x !== drag.maximumX) {
226+ slider.x = priv.halfWay
227+ }
228+ if (slider.x === drag.minimumX) {
229+ slider.x = drag.minimumX
230+ enabled = false
231+ leftTriggered()
232+ }
233+ if (slider.x === drag.maximumX) {
234+ slider.x = drag.maximumX
235+ enabled = false
236+ rightTriggered()
306237 }
307238 }
308239 }
qml/Notifications/grip-large.svgnew file+150
@@ -0,0 +1,150 @@
1+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+<!-- Created with Inkscape (http://www.inkscape.org/) -->
3+
4+<svg
5+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6+ xmlns:cc="http://creativecommons.org/ns#"
7+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8+ xmlns:svg="http://www.w3.org/2000/svg"
9+ xmlns="http://www.w3.org/2000/svg"
10+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12+ width="90"
13+ height="90"
14+ id="svg4874"
15+ version="1.1"
16+ inkscape:version="0.91+devel r"
17+ viewBox="0 0 90 90.000001"
18+ sodipodi:docname="grip-large01.svg">
19+ <defs
20+ id="defs4876" />
21+ <sodipodi:namedview
22+ id="base"
23+ pagecolor="#ffffff"
24+ bordercolor="#666666"
25+ borderopacity="1.0"
26+ inkscape:pageopacity="0.0"
27+ inkscape:pageshadow="2"
28+ inkscape:zoom="7.9580786"
29+ inkscape:cx="13.632541"
30+ inkscape:cy="49.591116"
31+ inkscape:document-units="px"
32+ inkscape:current-layer="g1708"
33+ showgrid="true"
34+ showborder="true"
35+ fit-margin-top="0"
36+ fit-margin-left="0"
37+ fit-margin-right="0"
38+ fit-margin-bottom="0"
39+ inkscape:snap-bbox="true"
40+ inkscape:bbox-paths="true"
41+ inkscape:bbox-nodes="true"
42+ inkscape:snap-bbox-edge-midpoints="true"
43+ inkscape:snap-bbox-midpoints="true"
44+ inkscape:object-paths="true"
45+ inkscape:snap-intersection-paths="true"
46+ inkscape:object-nodes="true"
47+ inkscape:snap-smooth-nodes="true"
48+ inkscape:snap-midpoints="true"
49+ inkscape:snap-object-midpoints="true"
50+ inkscape:snap-center="true"
51+ showguides="true"
52+ inkscape:guide-bbox="true">
53+ <inkscape:grid
54+ type="xygrid"
55+ id="grid5451"
56+ empspacing="6" />
57+ <sodipodi:guide
58+ orientation="1,0"
59+ position="6,77"
60+ id="guide4063" />
61+ <sodipodi:guide
62+ orientation="1,0"
63+ position="3,78"
64+ id="guide4065" />
65+ <sodipodi:guide
66+ orientation="0,1"
67+ position="55,84"
68+ id="guide4067" />
69+ <sodipodi:guide
70+ orientation="0,1"
71+ position="53,87"
72+ id="guide4069" />
73+ <sodipodi:guide
74+ orientation="0,1"
75+ position="20,3"
76+ id="guide4071" />
77+ <sodipodi:guide
78+ orientation="0,1"
79+ position="20,6"
80+ id="guide4073" />
81+ <sodipodi:guide
82+ orientation="1,0"
83+ position="87,7"
84+ id="guide4075" />
85+ <sodipodi:guide
86+ orientation="1,0"
87+ position="84,7"
88+ id="guide4077" />
89+ <sodipodi:guide
90+ orientation="0,1"
91+ position="58,81"
92+ id="guide4074" />
93+ <sodipodi:guide
94+ orientation="1,0"
95+ position="9,74"
96+ id="guide4076" />
97+ <sodipodi:guide
98+ orientation="0,1"
99+ position="21,9"
100+ id="guide4078" />
101+ <sodipodi:guide
102+ orientation="1,0"
103+ position="81,4"
104+ id="guide4080" />
105+ </sodipodi:namedview>
106+ <metadata
107+ id="metadata4879">
108+ <rdf:RDF>
109+ <cc:Work
110+ rdf:about="">
111+ <dc:format>image/svg+xml</dc:format>
112+ <dc:type
113+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
114+ <dc:title></dc:title>
115+ </cc:Work>
116+ </rdf:RDF>
117+ </metadata>
118+ <g
119+ inkscape:label="Layer 1"
120+ inkscape:groupmode="layer"
121+ id="layer1"
122+ transform="translate(67.857146,-84.50504)">
123+ <g
124+ transform="matrix(0,-1,-1,0,373.50506,516.50504)"
125+ id="g4845"
126+ style="display:inline">
127+ <g
128+ inkscape:label="Layer 1"
129+ id="g1708"
130+ transform="matrix(0,-1,-1,0,1394.3622,441.36221)"
131+ inkscape:export-filename="add01.png"
132+ inkscape:export-xdpi="90"
133+ inkscape:export-ydpi="90">
134+ <rect
135+ style="color:#000000;fill:none;stroke:none;stroke-width:7.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
136+ id="rect1710"
137+ width="90"
138+ height="90"
139+ x="0"
140+ y="962.36218" />
141+ <path
142+ style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
143+ d="m 9.000004,971.3622 c -2.209139,0 -4,1.79086 -4,4 0,2.20914 1.790861,4 4,4 2.209139,0 4,-1.79086 4,-4 0,-2.20914 -1.790861,-4 -4,-4 z m 18.199219,0 c -2.209139,0 -4,1.79086 -4,4 0,2.20914 1.790861,4 4,4 2.209139,0 4,-1.79086 4,-4 0,-2.20914 -1.790861,-4 -4,-4 z m 17.800781,0 c -2.209139,0 -4,1.79086 -4,4 0,2.20914 1.790861,4 4,4 2.209139,0 4,-1.79086 4,-4 0,-2.20914 -1.790861,-4 -4,-4 z m 18.199219,0 c -2.209139,0 -4,1.79086 -4,4 0,2.20914 1.790861,4 4,4 2.209139,0 4,-1.79086 4,-4 0,-2.20914 -1.790861,-4 -4,-4 z m 17.800781,0 c -2.209139,0 -4,1.79086 -4,4 0,2.20914 1.790861,4 4,4 2.209139,0 4,-1.79086 4,-4 0,-2.20914 -1.790861,-4 -4,-4 z m -72,16 c -2.209139,0 -4,1.79086 -4,4 0,2.20914 1.790861,4 4,4 2.209139,0 4,-1.79086 4,-4 0,-2.20914 -1.790861,-4 -4,-4 z m 18.199219,0 c -2.209139,0 -4,1.79086 -4,4 0,2.20914 1.790861,4 4,4 2.209139,0 4,-1.79086 4,-4 0,-2.20914 -1.790861,-4 -4,-4 z m 17.800781,0 c -2.209139,0 -4,1.79086 -4,4 0,2.20914 1.790861,4 4,4 2.209139,0 4,-1.79086 4,-4 0,-2.20914 -1.790861,-4 -4,-4 z m 18.199219,0 c -2.209139,0 -4,1.79086 -4,4 0,2.20914 1.790861,4 4,4 2.209139,0 4,-1.79086 4,-4 0,-2.20914 -1.790861,-4 -4,-4 z m 17.800781,0 c -2.209139,0 -4,1.79086 -4,4 0,2.20914 1.790861,4 4,4 2.209139,0 4,-1.79086 4,-4 0,-2.20914 -1.790861,-4 -4,-4 z m -72,16 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 18.199219,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 17.800781,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 18.199219,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 17.800781,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m -72,16 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 18.199219,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 17.800781,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 18.199219,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 17.800781,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m -72,16 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 18.199219,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 17.800781,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 18.199219,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z m 17.800781,0 c -2.209139,0 -4,1.7909 -4,4 0,2.2091 1.790861,4 4,4 2.209139,0 4,-1.7909 4,-4 0,-2.2091 -1.790861,-4 -4,-4 z"
144+ id="path4169"
145+ inkscape:connector-curvature="0"
146+ sodipodi:nodetypes="sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss" />
147+ </g>
148+ </g>
149+ </g>
150+</svg>
qml/Panel/Indicators/MessageMenuItemFactory.qml+1−1
@@ -146,7 +146,7 @@ Loader {
146146 time: timeFormatter.timeString
147147 body: getExtendedProperty(extendedData, "xCanonicalText", "")
148148 replyButtonText: getExtendedProperty(replyActionDescription, "label", "Send")
149− replyHintText: i18n.tr("Reply")
149+ replyHintText: i18n.ctr("Label: Hint in message indicator line edit", "Reply")
150150 // icons
151151 avatar: getExtendedProperty(extendedData, "icon", "image://theme/contact")
152152 icon: getExtendedProperty(extendedData, "xCanonicalAppIcon", "image://theme/message")
qml/Panel/IndicatorsMenu.qml+16
@@ -162,8 +162,18 @@ Showable {
162162 onScroll: bar.addScrollOffset(scrollAmount);
163163 }
164164
165+ MouseArea {
166+ anchors.fill: __showDragHandle
167+ enabled: __showDragHandle.enabled
168+ onClicked: {
169+ bar.selectItemAt(mouseX)
170+ root.show()
171+ }
172+ }
173+
165174 DragHandle {
166175 id: __showDragHandle
176+ objectName: "showDragHandle"
167177 anchors.bottom: parent.bottom
168178 anchors.left: parent.left
169179 anchors.right: parent.right
@@ -182,6 +192,12 @@ Showable {
182192 hintDisplacement: enableHint ? expandedPanelHeight - minimizedPanelHeight + handle.height : 0
183193 }
184194
195+ MouseArea {
196+ anchors.fill: __hideDragHandle
197+ enabled: __hideDragHandle.enabled
198+ onClicked: root.hide()
199+ }
200+
185201 DragHandle {
186202 id: __hideDragHandle
187203 anchors.fill: handle
qml/Panel/Panel.qml+1−1
@@ -43,10 +43,10 @@ Item {
4343 }
4444 color: "black"
4545 opacity: indicators.unitProgress * darkenedOpacity
46+ visible: !indicators.fullyClosed
4647
4748 MouseArea {
4849 anchors.fill: parent
49− enabled: indicators.shown
5050 onClicked: if (indicators.fullyOpened) indicators.hide();
5151 }
5252 }
qml/Panel/SearchIndicator.qmldeleted−82
@@ -1,82 +0,0 @@
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 Ubuntu.Components 0.1
19−import "../Components"
20−
21−Item {
22− id: search
23−
24− width: container.width + units.gu(2)
25− height: units.gu(3)
26−
27− property string headerText: i18n.tr("Search")
28−
29− signal clicked
30−
31− // eater
32− MouseArea {
33− anchors.fill: parent
34− onClicked: search.clicked()
35− }
36−
37− Row {
38− id: container
39− objectName: "container"
40−
41− height: parent.height
42− width: childrenRect.width
43− anchors {
44− left: parent.left
45− leftMargin: units.gu(1)
46− }
47− spacing: units.gu(1)
48−
49− Behavior on opacity { StandardAnimation { duration: 300 } }
50−
51− Image {
52− id: icon
53− source: "graphics/search.png"
54− anchors.verticalCenter: parent.verticalCenter
55− }
56−
57− Label {
58− text: search.headerText
59− color: Qt.rgba(0.8, 0.8, 0.8, 1.0)
60− fontSize: "small"
61− font.capitalization: Font.AllUppercase
62− anchors.verticalCenter: parent.verticalCenter
63− }
64− }
65−
66− states: [
67− State {
68− name: "visible"
69− PropertyChanges {
70− target: container
71− opacity: 1
72− }
73− },
74− State {
75− name: "hidden"
76− PropertyChanges {
77− target: container
78− opacity: 0
79− }
80− }
81− ]
82−}
qml/Shell.qml+12−1
@@ -23,6 +23,7 @@ import Ubuntu.Components 0.1
2323import Ubuntu.Components.Popups 1.0
2424import Ubuntu.Gestures 0.1
2525import Ubuntu.Telephony 0.1 as Telephony
26+import Unity.Connectivity 0.1
2627import Unity.Launcher 0.1
2728import Utils 0.1
2829import LightDM 0.1 as LightDM
@@ -213,7 +214,7 @@ Item {
213214 onFocusedApplicationIdChanged: {
214215 var appId = ApplicationManager.focusedApplicationId;
215216
216− if (tutorial.running && appId != "unity8-dash") {
217+ if (tutorial.running && appId != "" && appId != "unity8-dash") {
217218 // If this happens on first boot, we may be in edge
218219 // tutorial or wizard while receiving a call. But a call
219220 // is more important than wizard so just bail out of those.
@@ -568,8 +569,18 @@ Item {
568569
569570 Wizard {
570571 id: wizard
572+ objectName: "wizard"
571573 anchors.fill: parent
572574 background: shell.background
575+
576+ function unlockWhenDoneWithWizard() {
577+ if (!active) {
578+ Connectivity.unlockAllModems();
579+ }
580+ }
581+
582+ Component.onCompleted: unlockWhenDoneWithWizard()
583+ onActiveChanged: unlockWhenDoneWithWizard()
573584 }
574585
575586 Rectangle {
qml/Stages/DecoratedWindow.qml+5−4
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014-2015 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -20,13 +20,12 @@ import QtQuick 2.3
2020import Ubuntu.Components 1.1
2121import Unity.Application 0.1
2222
23−Item {
23+FocusScope {
2424 id: root
2525
2626 property alias application: applicationWindow.application
2727 property alias active: decoration.active
2828
29− signal requestFocus();
3029 signal close();
3130 signal maximize();
3231 signal minimize();
@@ -53,8 +52,10 @@ Item {
5352
5453 ApplicationWindow {
5554 id: applicationWindow
55+ objectName: application ? "appWindow_" + application.appId : "appWindow_null"
5656 anchors.fill: parent
5757 anchors.topMargin: units.gu(3)
58− interactive: index == 0
58+ interactive: true
59+ focus: true
5960 }
6061}
qml/Stages/DesktopStage.qml+14−2
@@ -20,8 +20,9 @@ import QtQuick 2.3
2020import Ubuntu.Components 1.1
2121import Unity.Application 0.1
2222import "../Components/PanelState"
23+import Utils 0.1
2324
24−Item {
25+FocusScope {
2526 id: root
2627
2728 anchors.fill: parent
@@ -51,6 +52,8 @@ Item {
5152
5253 property alias background: wallpaper.source
5354
55+ property var windowStateStorage: WindowStateStorage
56+
5457 CrossFadeImage {
5558 id: wallpaper
5659 anchors.fill: parent
@@ -139,20 +142,29 @@ Item {
139142 ]
140143
141144 WindowMoveResizeArea {
145+ windowStateStorage: root.windowStateStorage
142146 target: appDelegate
143147 minWidth: appDelegate.minWidth
144148 minHeight: appDelegate.minHeight
145149 resizeHandleWidth: units.gu(0.5)
146150 windowId: model.appId // FIXME: Change this to point to windowId once we have such a thing
147151
148− onPressed: ApplicationManager.requestFocusApplication(model.appId)
152+ onPressed: decoratedWindow.focus = true;
149153 }
150154
151155 DecoratedWindow {
156+ id: decoratedWindow
157+ objectName: "decoratedWindow_" + appId
152158 anchors.fill: parent
153159 application: ApplicationManager.get(index)
154160 active: ApplicationManager.focusedApplicationId === model.appId
155161
162+ onFocusChanged: {
163+ if (focus) {
164+ ApplicationManager.requestFocusApplication(model.appId);
165+ }
166+ }
167+
156168 onClose: ApplicationManager.stopApplication(model.appId)
157169 onMaximize: appDelegate.state = (appDelegate.state == "maximized" ? "normal" : "maximized")
158170 onMinimize: appDelegate.state = "minimized"
qml/Stages/WindowDecoration.qml+1
@@ -55,6 +55,7 @@ Item {
5555
5656 Label {
5757 id: titleLabel
58+ objectName: "windowDecorationTitle"
5859 color: "#DFDBD2"
5960 height: parent.height
6061 verticalAlignment: Text.AlignVCenter
qml/Stages/WindowMoveResizeArea.qml+5−3
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014-2015 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -25,6 +25,8 @@ MouseArea {
2525 anchors.fill: target
2626 anchors.margins: -resizeHandleWidth
2727
28+ property var windowStateStorage: WindowStateStorage
29+
2830 // The target item managed by this. Must be a parent or a sibling
2931 // The area will anchor to it and manage move and resize events
3032 property Item target: null
@@ -48,7 +50,7 @@ MouseArea {
4850 }
4951
5052 Component.onCompleted: {
51− var windowState = WindowStateStorage.getGeometry(root.windowId, Qt.rect(target.x, target.y, target.width, target.height))
53+ var windowState = windowStateStorage.getGeometry(root.windowId, Qt.rect(target.x, target.y, target.width, target.height))
5254 if (windowState !== undefined) {
5355 target.x = windowState.x
5456 target.y = windowState.y
@@ -102,6 +104,6 @@ MouseArea {
102104 }
103105
104106 Component.onDestruction: {
105− WindowStateStorage.saveGeometry(root.windowId, Qt.rect(target.x, target.y, target.width, target.height))
107+ windowStateStorage.saveGeometry(root.windowId, Qt.rect(target.x, target.y, target.width, target.height))
106108 }
107109}
qml/Wizard/Page.qml+1−1
@@ -86,7 +86,7 @@ Item {
8686 bottomMargin: buttonMargin
8787 }
8888 z: 1
89− text: i18n.tr("Back")
89+ text: i18n.ctr("Button: Go back one page in the Wizard", "Back")
9090 visible: pageStack.depth > 1 && hasBackButton
9191 backArrow: true
9292
qml/Wizard/Pages.qml+14−1
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2013 Canonical, Ltd.
2+ * Copyright (C) 2013,2014,2015 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -110,6 +110,8 @@ Item {
110110 // this page, and either skip it or continue.
111111 push(path, {"opacity": 0, "enabled": false})
112112
113+ timeout.restart();
114+
113115 // Check for immediate skip or not. We may have to wait for
114116 // skipValid to be assigned (see Connections object below)
115117 checkSkip()
@@ -124,10 +126,21 @@ Item {
124126 } else {
125127 currentPage.opacity = 1
126128 currentPage.enabled = true
129+ timeout.stop();
127130 }
128131 }
129132 }
130133
134+ Timer {
135+ id: timeout
136+ objectName: "timeout"
137+ interval: 2000 // wizard pages shouldn't take long
138+ onTriggered: {
139+ pageStack.currentPage.skip = true;
140+ pageStack.currentPage.skipValid = true;
141+ }
142+ }
143+
131144 Connections {
132145 target: pageStack.currentPage
133146 onSkipValidChanged: pageStack.checkSkip()
qml/Wizard/Pages/30-passwd-type.qml+6−6
@@ -94,14 +94,14 @@ LocalComponents.Page {
9494 var name = ""
9595 var desc = ""
9696 if (method === UbuntuSecurityPrivacyPanel.Swipe) {
97− name = i18n.tr("Swipe")
98− desc = i18n.tr("No security")
97+ name = i18n.ctr("Label: Type of security method", "Swipe")
98+ desc = i18n.ctr("Label: Description of security method", "No security")
9999 } else if (method === UbuntuSecurityPrivacyPanel.Passcode) {
100− name = i18n.tr("Passcode")
101− desc = i18n.tr("4 digits only")
100+ name = i18n.ctr("Label: Type of security method", "Passcode")
101+ desc = i18n.ctr("Label: Description of security method", "4 digits only")
102102 } else {
103− name = i18n.tr("Passphrase")
104− desc = i18n.tr("Numbers and letters")
103+ name = i18n.ctr("Label: Type of security method", "Passphrase")
104+ desc = i18n.ctr("Label: Description of security method", "Numbers and letters")
105105 }
106106 return "<b>%1</b> (%2)".arg(name).arg(desc)
107107 }
qml/Wizard/Wizard.qml+6−1
@@ -25,7 +25,12 @@ Showable {
2525 // The background wallpaper to use
2626 property string background
2727
28− readonly property alias active: loader.active
28+ // This is a bool instead of an alias because Loader classes like to emit
29+ // changed signals for 'active' during startup even if they aren't actually
30+ // changing values. Having it cached as a proper Qml bool property prevents
31+ // unnecessary 'changed' emissions and provides consuming classes the
32+ // expected behavior of no emission on startup.
33+ readonly property bool active: loader.active
2934
3035 hideAnimation: StandardAnimation { property: "opacity"; to: 0 }
3136
src/Dash/main.cpp+2−2
@@ -98,8 +98,7 @@ int main(int argc, const char *argv[])
9898 // Needed only when manually testing on a desktop.
9999 MouseTouchAdaptor *mouseTouchAdaptor = 0;
100100 if (parser.isSet(mousetouchOption)) {
101− mouseTouchAdaptor = new MouseTouchAdaptor;
102− application->installNativeEventFilter(mouseTouchAdaptor);
101+ mouseTouchAdaptor = MouseTouchAdaptor::instance();
103102 }
104103
105104 QUrl source(::qmlDirectory()+"Dash/DashApplication.qml");
@@ -115,6 +114,7 @@ int main(int argc, const char *argv[])
115114 int result = application->exec();
116115
117116 delete view;
117+ delete mouseTouchAdaptor;
118118 delete application;
119119
120120 return result;
src/MouseTouchAdaptor.cpp+40−4
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2013 Canonical, Ltd.
2+ * Copyright (C) 2013,2015 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -20,12 +20,15 @@
2020
2121#include <qpa/qwindowsysteminterface.h>
2222
23−#include <QtGui/QMouseEvent>
24−#include <QtTest/QTest>
23+#include <QCoreApplication>
24+#include <QMouseEvent>
25+#include <QTest>
2526
2627using QTest::QTouchEventSequence;
2728
2829namespace {
30+MouseTouchAdaptor *g_instance = nullptr;
31+
2932Qt::MouseButton translateMouseButton(xcb_button_t detail)
3033{
3134 switch (detail) {
@@ -39,16 +42,36 @@ Qt::MouseButton translateMouseButton(xcb_button_t detail)
3942} // end of anonymous namespace
4043
4144MouseTouchAdaptor::MouseTouchAdaptor()
42− : m_leftButtonIsPressed(false)
45+ : QObject(nullptr), m_leftButtonIsPressed(false), m_enabled(true)
4346{
47+ QCoreApplication::instance()->installNativeEventFilter(this);
48+
4449 m_touchDevice = new QTouchDevice;
4550 m_touchDevice->setType(QTouchDevice::TouchScreen);
4651 QWindowSystemInterface::registerTouchDevice(m_touchDevice);
4752}
4853
54+MouseTouchAdaptor::~MouseTouchAdaptor()
55+{
56+ g_instance = nullptr;
57+}
58+
59+MouseTouchAdaptor* MouseTouchAdaptor::instance()
60+{
61+ if (!g_instance) {
62+ g_instance = new MouseTouchAdaptor;
63+ }
64+
65+ return g_instance;
66+}
67+
4968bool MouseTouchAdaptor::nativeEventFilter(const QByteArray & eventType,
5069 void * message, long * /*result*/)
5170{
71+ if (!m_enabled) {
72+ return false;
73+ }
74+
5275 if (eventType != "xcb_generic_event_t") {
5376 // wrong backend.
5477 qWarning("MouseTouchAdaptor: XCB backend not in use. Adaptor inoperative!");
@@ -151,3 +174,16 @@ QWindow *MouseTouchAdaptor::findQWindowWithXWindowID(WId windowId)
151174 Q_ASSERT(foundWindow);
152175 return foundWindow;
153176}
177+
178+bool MouseTouchAdaptor::enabled() const
179+{
180+ return m_enabled;
181+}
182+
183+void MouseTouchAdaptor::setEnabled(bool value)
184+{
185+ if (value != m_enabled) {
186+ m_enabled = value;
187+ Q_EMIT enabledChanged(value);
188+ }
189+}
src/MouseTouchAdaptor.h+18−5
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2013 Canonical, Ltd.
2+ * Copyright (C) 2013,2015 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -27,15 +27,26 @@ class QMouseEvent;
2727class QTouchDevice;
2828
2929// Transforms QMouseEvents into single-finger QTouchEvents.
30−class MouseTouchAdaptor : public QAbstractNativeEventFilter {
31−
30+class MouseTouchAdaptor : public QObject, public QAbstractNativeEventFilter {
31+ Q_OBJECT
3232public:
33− MouseTouchAdaptor();
33+ virtual ~MouseTouchAdaptor();
34+
35+ static MouseTouchAdaptor* instance();
3436
3537 // Filters mouse events and posts the equivalent QTouchEvents.
36− virtual bool nativeEventFilter(const QByteArray & eventType, void *message, long *result);
38+ bool nativeEventFilter(const QByteArray & eventType, void *message, long *result) override;
39+
40+ Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged)
41+
42+ bool enabled() const;
43+ void setEnabled(bool value);
44+
45+Q_SIGNALS:
46+ void enabledChanged(bool value);
3747
3848private:
49+ MouseTouchAdaptor();
3950
4051 bool handleButtonPress(xcb_button_press_event_t *pressEvent);
4152 bool handleButtonRelease(xcb_button_release_event_t *releaseEvent);
@@ -44,6 +55,8 @@ private:
4455
4556 QTouchDevice *m_touchDevice;
4657 bool m_leftButtonIsPressed;
58+
59+ bool m_enabled;
4760};
4861
4962#endif // MOUSE_TOUCH_ADAPTOR_H
src/main.cpp+1−2
@@ -102,8 +102,7 @@ int main(int argc, const char *argv[])
102102 // Needed only when manually testing on a desktop.
103103 MouseTouchAdaptor *mouseTouchAdaptor = 0;
104104 if (parser.hasMouseToTouch()) {
105− mouseTouchAdaptor = new MouseTouchAdaptor;
106− application->installNativeEventFilter(mouseTouchAdaptor);
105+ mouseTouchAdaptor = MouseTouchAdaptor::instance();
107106 }
108107
109108 QUrl source(::qmlDirectory()+"OrientedShell.qml");
tests/autopilot/setup.py+2−2
@@ -1,8 +1,8 @@
1−#!/usr/bin/python
1+#!/usr/bin/python3
22# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
33#
44# Unity Autopilot Test Suite
5−# Copyright (C) 2012-2013 Canonical
5+# Copyright (C) 2012, 2013, 2015 Canonical
66#
77# This program is free software: you can redistribute it and/or modify
88# it under the terms of the GNU General Public License as published by
tests/autopilot/unity8/application_lifecycle/tests/__init__.py+2−2
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2014 Canonical
4+# Copyright (C) 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@ from unity8.shell import tests
2828class ApplicationLifeCycleTestCase(tests.UnityTestCase):
2929
3030 def setUp(self):
31− super(ApplicationLifeCycleTestCase, self).setUp()
31+ super().setUp()
3232 self._qml_mock_enabled = False
3333 self._data_dirs_mock_enabled = False
3434 unity_proxy = self.launch_unity()
tests/autopilot/unity8/application_lifecycle/tests/test_application_lifecycle.py+2−4
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2013, 2014 Canonical
4+# Copyright (C) 2013, 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -19,8 +19,6 @@
1919
2020"""Tests for the application lifecycle."""
2121
22−from __future__ import absolute_import
23−
2422import logging
2523import os
2624
@@ -40,7 +38,7 @@ class ApplicationLifecycleTests(tests.ApplicationLifeCycleTestCase):
4038 def setUp(self):
4139 if model() == 'Desktop':
4240 self.skipTest('Test cannot be run on the desktop.')
43− super(ApplicationLifecycleTests, self).setUp()
41+ super().setUp()
4442
4543 def swipe_screen_from_right(self):
4644 width = self.main_window.width
tests/autopilot/unity8/application_lifecycle/tests/test_url_dispatcher.py+2−2
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2014 Canonical
4+# Copyright (C) 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ class URLDispatcherTestCase(tests.ApplicationLifeCycleTestCase):
3232 def setUp(self):
3333 if platform.model() == 'Desktop':
3434 self.skipTest("URL dispatcher doesn't work on the desktop.")
35− super(URLDispatcherTestCase, self).setUp()
35+ super().setUp()
3636
3737 def test_swipe_out_application_started_by_url_dispatcher(self):
3838 _, desktop_file_path = self.create_test_application()
tests/autopilot/unity8/fixture_setup.py+4−4
@@ -38,13 +38,13 @@ class LaunchDashApp(fixtures.Fixture):
3838 :type variables: A dictionary.
3939
4040 """
41− super(LaunchDashApp, self).__init__()
41+ super().__init__()
4242 self.binary_path = binary_path
4343 self.variables = variables
4444
4545 def setUp(self):
4646 """Launch the dash app when the fixture is used."""
47− super(LaunchDashApp, self).setUp()
47+ super().setUp()
4848 self.addCleanup(self.stop_application)
4949 self.application_proxy = self.launch_application()
5050
@@ -69,11 +69,11 @@ class LaunchDashApp(fixtures.Fixture):
6969class DisplayRotationLock(fixtures.Fixture):
7070
7171 def __init__(self, enable):
72− super(DisplayRotationLock, self).__init__()
72+ super().__init__()
7373 self.enable = enable
7474
7575 def setUp(self):
76− super(DisplayRotationLock, self).setUp()
76+ super().setUp()
7777 original_state = self._is_rotation_lock_enabled()
7878 if self.enable != original_state:
7979 self.addCleanup(self._set_rotation_lock, original_state)
tests/autopilot/unity8/indicators/__init__.py+1−1
@@ -34,7 +34,7 @@ class IndicatorPage(emulators.UnityEmulatorBase):
3434 return False
3535
3636
37−class DisplayIndicator(object):
37+class DisplayIndicator():
3838
3939 def __init__(self, main_window):
4040 self._main_window = main_window
tests/autopilot/unity8/indicators/tests/__init__.py+1−1
@@ -29,6 +29,6 @@ class IndicatorTestCase(tests.UnityTestCase):
2929 def setUp(self):
3030 if platform.model() == 'Desktop':
3131 self.skipTest('Test cannot be run on the desktop.')
32− super(IndicatorTestCase, self).setUp()
32+ super().setUp()
3333 self.unity_proxy = self.launch_unity()
3434 process_helpers.unlock_unity(self.unity_proxy)
tests/autopilot/unity8/indicators/tests/test_display_indicator.py−3
@@ -26,9 +26,6 @@ from unity8.indicators import tests
2626class DisplayIndicatorTestCase(tests.IndicatorTestCase):
2727
2828 def test_indicator_icon_must_be_visible_after_rotation_locked(self):
29− # TODO remove the skip when the bug is fixed. --elopio - 2015-01-20
30− self.skipTest(
31− 'This test fails because of bug http://pad.lv/1410915')
3229 rotation_unlocked = fixture_setup.DisplayRotationLock(False)
3330 self.useFixture(rotation_unlocked)
3431 display_indicator = indicators.DisplayIndicator(self.main_window)
tests/autopilot/unity8/indicators/tests/test_indicators.py+2−4
@@ -16,8 +16,6 @@
1616# You should have received a copy of the GNU General Public License
1717# along with this program. If not, see <http://www.gnu.org/licenses/>.
1818
19−from __future__ import absolute_import
20−
2119from testscenarios import multiply_scenarios
2220
2321from autopilot import platform
@@ -42,7 +40,7 @@ class IndicatorExistsTestCase(tests.IndicatorTestCase):
4240 )
4341
4442 def setUp(self):
45− super(IndicatorExistsTestCase, self).setUp()
43+ super().setUp()
4644 if (platform.model() == 'Nexus 10' and
4745 self.indicator_name == 'indicator-bluetooth'):
4846 self.skipTest('Nexus 10 does not have bluetooth at the moment.')
@@ -77,7 +75,7 @@ class IndicatorPageTitleMatchesWidgetTestCase(tests.IndicatorTestCase):
7775 )
7876
7977 def setUp(self):
80− super(IndicatorPageTitleMatchesWidgetTestCase, self).setUp()
78+ super().setUp()
8179 if (platform.model() == 'Nexus 10' and
8280 self.indicator_name == 'indicator-bluetooth'):
8381 self.skipTest('Nexus 10 does not have bluetooth at the moment.')
tests/autopilot/unity8/process_helpers.py+2−9
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Utilities
4−# Copyright (C) 2013, 2014 Canonical
4+# Copyright (C) 2013, 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -19,16 +19,9 @@
1919
2020import logging
2121import subprocess
22−import sys
2322import dbus
2423
25−# This has to work in both python 3 (ap 1.5) and py2 (ap legacy 1.4.1) so we
26−# pick the correct location in each case. Remove the py2 branch once we no
27−# longer need to support python 2.
28−if sys.version >= '3':
29− from autopilot.exceptions import ProcessSearchError
30−else:
31− from autopilot.introspection import ProcessSearchError
24+from autopilot.exceptions import ProcessSearchError
3225from autopilot.introspection import get_proxy_object_for_existing_process
3326
3427from unity8.shell import emulators
tests/autopilot/unity8/shell/__init__.py+2−2
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2012-2013 Canonical
4+# Copyright (C) 2012-2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@ def disable_qml_mocking(fn):
3838 return wrapper
3939
4040
41−class DragMixin(object):
41+class DragMixin():
4242 def _drag(self, x1, y1, x2, y2):
4343 # XXX This ugly code is here just temporarily, waiting for drag
4444 # improvements to land on autopilot so we don't have to access device
tests/autopilot/unity8/shell/emulators/__init__.py+3−3
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2012, 2013, 2014 Canonical
4+# Copyright (C) 2012, 2013, 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -17,10 +17,10 @@
1717# along with this program. If not, see <http://www.gnu.org/licenses/>.
1818#
1919
20−from ubuntuuitoolkit import emulators as toolkit_emulators
20+import ubuntuuitoolkit
2121
2222
23−class UnityEmulatorBase(toolkit_emulators.UbuntuUIToolkitEmulatorBase):
23+class UnityEmulatorBase(ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase):
2424 """A base class for all unity emulators."""
2525
2626
tests/autopilot/unity8/shell/emulators/create_interactive_notification.py+2−3
@@ -1,10 +1,9 @@
1−#!/usr/bin/env python
2−from __future__ import print_function
1+#!/usr/bin/env python3
32
43# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
54#
65# Unity Autopilot Test Suite
7−# Copyright (C) 2012-2013 Canonical
6+# Copyright (C) 2012, 2013, 2014, 2015 Canonical
87#
98# This program is free software: you can redistribute it and/or modify
109# it under the terms of the GNU General Public License as published by
tests/autopilot/unity8/shell/emulators/dash.py+4−5
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2012, 2013, 2014 Canonical
4+# Copyright (C) 2012, 2013, 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -24,20 +24,19 @@ from unity8.shell import emulators
2424
2525from autopilot import logging as autopilot_logging
2626from autopilot.introspection import dbus
27−from ubuntuuitoolkit import emulators as toolkit_emulators
2827
2928
3029logger = logging.getLogger(__name__)
3130
3231
33−class DashApp(object):
32+class DashApp():
3433
3534 """Autopilot helper for the Dash app."""
3635
3736 def __init__(self, app_proxy):
3837 self.app_proxy = app_proxy
3938 self.main_view = self.app_proxy.select_single(
40− toolkit_emulators.MainView)
39+ ubuntuuitoolkit.MainView)
4140 self.dash = self.main_view.select_single(Dash)
4241
4342
@@ -45,7 +44,7 @@ class Dash(emulators.UnityEmulatorBase):
4544 """An emulator that understands the Dash."""
4645
4746 def __init__(self, *args):
48− super(Dash, self).__init__(*args)
47+ super().__init__(*args)
4948 self.dash_content_list = self.wait_select_single(
5049 'QQuickListView', objectName='dashContentList')
5150
tests/autopilot/unity8/shell/fixture_setup.py+2−2
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2014 Canonical
4+# Copyright (C) 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ import unity8
3131class FakeScopes(fixtures.Fixture):
3232
3333 def setUp(self):
34− super(FakeScopes, self).setUp()
34+ super().setUp()
3535 self.useFixture(
3636 fixtures.EnvironmentVariable(
3737 'QML2_IMPORT_PATH',
tests/autopilot/unity8/shell/tests/__init__.py+3−3
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2012, 2013, 2014 Canonical
4+# Copyright (C) 2012, 2013, 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -148,7 +148,7 @@ class UnityTestCase(AutopilotTestCase):
148148 sys.exit(2)
149149
150150 def setUp(self):
151− super(UnityTestCase, self).setUp()
151+ super().setUp()
152152 if is_unity7_running():
153153 self.useFixture(toolkit_fixtures.HideUnity7Launcher())
154154
@@ -399,7 +399,7 @@ class DashBaseTestCase(AutopilotTestCase):
399399 environment = {}
400400
401401 def setUp(self):
402− super(DashBaseTestCase, self).setUp()
402+ super().setUp()
403403
404404 if is_unity7_running():
405405 self.useFixture(toolkit_fixtures.HideUnity7Launcher())
tests/autopilot/unity8/shell/tests/test_emulators.py+4−4
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2014 Canonical
4+# Copyright (C) 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -38,7 +38,7 @@ class MainWindowTestCase(tests.UnityTestCase):
3838 scenarios = tests._get_device_emulation_scenarios()
3939
4040 def setUp(self):
41− super(MainWindowTestCase, self).setUp()
41+ super().setUp()
4242 unity_proxy = self.launch_unity()
4343 process_helpers.unlock_unity(unity_proxy)
4444
@@ -110,7 +110,7 @@ class GenericScopeViewEmulatorTestCase(tests.DashBaseTestCase):
110110 def setUp(self):
111111 # Set up the fake scopes before launching unity.
112112 self.useFixture(fixture_setup.FakeScopes())
113− super(GenericScopeViewEmulatorTestCase, self).setUp()
113+ super().setUp()
114114 self.generic_scope = self.dash.open_scope('MockScope1')
115115
116116 def test_open_preview(self):
@@ -129,7 +129,7 @@ class DashAppsEmulatorTestCase(tests.DashBaseTestCase):
129129 def setUp(self):
130130 # Set up the fake scopes before launching unity.
131131 self.useFixture(fixture_setup.FakeScopes())
132− super(DashAppsEmulatorTestCase, self).setUp()
132+ super().setUp()
133133 self.applications_scope = self.dash.open_scope('clickscope')
134134
135135 def test_get_applications_should_return_correct_applications(self):
tests/autopilot/unity8/shell/tests/test_lock_screen.py+1−9
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2012, 2013, 2014 Canonical
4+# Copyright (C) 2012, 2013, 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -17,22 +17,14 @@
1717# along with this program. If not, see <http://www.gnu.org/licenses/>.
1818#
1919
20−
21−from __future__ import absolute_import
22−
2320from unity8.shell.tests import UnityTestCase, _get_device_emulation_scenarios
2421
2522from autopilot.matchers import Eventually
26−import sys
2723from testtools.matchers import Equals
2824import logging
2925
3026logger = logging.getLogger(__name__)
3127
32−# py2 compatible alias for py3
33−if sys.version >= '3':
34− basestring = str
35−
3628
3729class TestLockscreen(UnityTestCase):
3830
tests/autopilot/unity8/shell/tests/test_notifications.py+4−12
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2012, 2013, 2014 Canonical
4+# Copyright (C) 2012, 2013, 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -19,8 +19,6 @@
1919
2020"""Tests for Notifications"""
2121
22−from __future__ import absolute_import
23−
2422from unity8 import shell
2523from unity8.process_helpers import unlock_unity
2624from unity8.shell.tests import UnityTestCase, _get_device_emulation_scenarios
@@ -34,15 +32,9 @@ import os
3432import logging
3533import signal
3634import subprocess
37−import sys
3835
3936logger = logging.getLogger(__name__)
4037
41−# from __future__ import range
42−# (python3's range, is same as python2's xrange)
43−if sys.version_info < (3,):
44− range = xrange
45−
4638
4739class NotificationsBase(UnityTestCase):
4840 """Base class for all notification tests that provides helper methods."""
@@ -118,7 +110,7 @@ class InteractiveNotificationBase(NotificationsBase):
118110 """Collection of test for Interactive tests including snap decisions."""
119111
120112 def setUp(self):
121− super(InteractiveNotificationBase, self).setUp()
113+ super().setUp()
122114 # Need to keep track when we launch the notification script.
123115 self._notify_proc = None
124116
@@ -338,7 +330,7 @@ class InteractiveNotificationBase(NotificationsBase):
338330 action_string = "%s,%s" % (action_id, action_label)
339331 script_args.extend(['--action', action_string])
340332
341− python_bin = subprocess.check_output(['which', 'python']).strip()
333+ python_bin = subprocess.check_output(['which', 'python3']).strip()
342334 command = [python_bin, self._get_notify_script()] + script_args
343335 logger.info("Launching snap-decision notification as: %s", command)
344336 self._notify_proc = subprocess.Popen(
@@ -410,7 +402,7 @@ class EphemeralNotificationsTests(NotificationsBase):
410402 """Collection of tests for Emphemeral notifications (non-interactive.)"""
411403
412404 def setUp(self):
413− super(EphemeralNotificationsTests, self).setUp()
405+ super().setUp()
414406 # Because we are using the Notify library we need to init and un-init
415407 # otherwise we get crashes.
416408 Notify.init("Autopilot Ephemeral Notification Tests")
tests/autopilot/unity8/shell/tests/test_tutorial.py+2−2
@@ -1,7 +1,7 @@
11# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
22#
33# Unity Autopilot Test Suite
4−# Copyright (C) 2014 Canonical
4+# Copyright (C) 2014, 2015 Canonical
55#
66# This program is free software: you can redistribute it and/or modify
77# it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ from unity8.shell.emulators import tutorial # NOQA
3131class TutorialTestCase(tests.UnityTestCase):
3232
3333 def setUp(self):
34− super(TutorialTestCase, self).setUp()
34+ super().setUp()
3535 self._qml_mock_enabled = False
3636 self._data_dirs_mock_enabled = False
3737
tests/autopilot/unity8/shell/tests/test_upstart.py+1−7
@@ -38,12 +38,6 @@ import logging
3838
3939logger = logging.getLogger(__name__)
4040
41−# from __future__ import range
42−# (python3's range, is same as python2's xrange)
43−import sys
44−if sys.version_info < (3,):
45− range = xrange
46−
4741
4842class UpstartIntegrationTests(UnityTestCase):
4943
@@ -95,7 +89,7 @@ class UpstartIntegrationTests(UnityTestCase):
9589 self.addCleanup(ensure_stopped)
9690
9791 def _set_proxy(self):
98− super(UpstartIntegrationTests, self)._set_proxy(
92+ super()._set_proxy(
9993 get_proxy_object_for_existing_process(
10094 pid=self.process.pid,
10195 emulator_base=UnityEmulatorBase,))
tests/mocks/LightDM/CMakeLists.txt+2−5
@@ -34,12 +34,9 @@ add_library(MockLightDM-qml MODULE
3434# installed on the system. So we make sure we link to our full fake version
3535# At run time, we can point to whichever version we happen to be using via
3636# LD_LIBRARY_PATH.
37−add_dependencies(MockLightDM-qml MockLightDM MockUserMetrics)
3837target_link_libraries(MockLightDM-qml
39− -L${CMAKE_CURRENT_BINARY_DIR}/liblightdm
40− -llightdm-qt5-2
41− -L${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics
42− -lusermetricsoutput
38+ MockLightDM
39+ MockUserMetrics
4340 unity8-private
4441 )
4542
tests/mocks/Unity/Application/ApplicationManager.cpp−4
@@ -241,10 +241,6 @@ ApplicationInfo* ApplicationManager::add(QString appId)
241241
242242bool ApplicationManager::stopApplication(const QString &appId)
243243{
244− if (appId == "unity8-dash") {
245− return false;
246− }
247−
248244 ApplicationInfo *application = findApplication(appId);
249245 if (application == nullptr)
250246 return false;
tests/mocks/Unity/Application/ApplicationManager.h+3−1
@@ -34,6 +34,7 @@ class ApplicationManager : public ApplicationManagerInterface {
3434 Q_FLAGS(ExecFlags)
3535
3636 Q_PROPERTY(bool empty READ isEmpty NOTIFY emptyChanged)
37+ Q_PROPERTY(QStringList availableApplications READ availableApplications NOTIFY availableApplicationsChanged)
3738
3839 public:
3940 ApplicationManager(QObject *parent = nullptr);
@@ -75,7 +76,7 @@ class ApplicationManager : public ApplicationManagerInterface {
7576 void setForceDashActive(bool forceDashActive) override;
7677
7778 // Only for testing
78− Q_INVOKABLE QStringList availableApplications();
79+ QStringList availableApplications();
7980 Q_INVOKABLE ApplicationInfo* add(QString appId);
8081
8182 QModelIndex findIndex(ApplicationInfo* application);
@@ -85,6 +86,7 @@ class ApplicationManager : public ApplicationManagerInterface {
8586 Q_SIGNALS:
8687 void focusRequested(const QString &appId);
8788 void emptyChanged(bool empty);
89+ void availableApplicationsChanged(QStringList list);
8890
8991 private Q_SLOTS:
9092 void onWindowCreatedTimerTimeout();
tests/mocks/Unity/Indicators/CMakeLists.txt+1−3
@@ -26,10 +26,8 @@ add_library(IndicatorsFakeQml SHARED
2626)
2727add_definitions(-DUNITYINDICATORS_LIBRARY)
2828
29−add_dependencies(IndicatorsFakeQml QMenuModelQml)
3029target_link_libraries(IndicatorsFakeQml
31− -L${CMAKE_BINARY_DIR}/tests/mocks/QMenuModel
32− -lqmenumodel
30+ QMenuModelQml
3331)
3432
3533qt5_use_modules(IndicatorsFakeQml Core Qml Quick)
tests/plugins/LightDM/CMakeLists.txt+2−4
@@ -19,13 +19,11 @@ include_directories(
1919 )
2020
2121target_link_libraries(GreeterDBusTestExec
22− -L${CMAKE_BINARY_DIR}/tests/mocks/LightDM/liblightdm
23− -llightdm-qt5-2
22+ MockLightDM
2423 )
2524
2625target_link_libraries(GreeterUsersModelTestExec
27− -L${CMAKE_BINARY_DIR}/tests/mocks/LightDM/liblightdm
28− -llightdm-qt5-2
26+ MockLightDM
2927 )
3028
3129add_definitions(-DCURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
tests/qmltests/CMakeLists.txt+1−2
@@ -22,7 +22,6 @@ set(qmltest_DEFAULT_PROPERTIES ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/
2222add_qml_test(. OrientedShell)
2323add_qml_test(. Shell)
2424add_qml_test(. ShellWithPin)
25−add_qml_test(. TabletShell)
2625add_qml_test(Components Background)
2726add_qml_test(Components Carousel)
2827add_qml_test(Components Dialogs)
@@ -80,12 +79,12 @@ add_qml_test(Panel IndicatorsBar)
8079add_qml_test(Panel IndicatorsMenu)
8180add_qml_test(Panel MenuContent)
8281add_qml_test(Panel Panel)
83−add_qml_test(Panel SearchIndicator)
8482add_qml_test(Panel/Indicators IndicatorsLight ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/QMenuModel")
8583# These MenuItemFactory tests need the test/mocks/ to come before plugins/
8684add_qml_test(Panel/Indicators MenuItemFactory IMPORT_PATHS ${CMAKE_BINARY_DIR}/tests/mocks ${qmltest_DEFAULT_IMPORT_PATHS})
8785add_qml_test(Panel/Indicators MessageMenuItemFactory IMPORT_PATHS ${CMAKE_BINARY_DIR}/tests/mocks ${qmltest_DEFAULT_IMPORT_PATHS})
8886add_qml_test(Stages ApplicationWindow)
87+add_qml_test(Stages DesktopStage)
8988add_qml_test(Stages PhoneStage ENVIRONMENT)
9089add_qml_test(Stages SpreadDelegate ENVIRONMENT)
9190add_qml_test(Stages SurfaceContainer ENVIRONMENT)
tests/qmltests/Dash/Previews/tst_Preview.qml+1−3
@@ -113,9 +113,7 @@ Rectangle {
113113
114114 // Scroll down
115115 var previewListRow0 = findChild(preview, "previewListRow0");
116− touchFlick(preview, preview.width / 2, units.gu(20), preview.width / 2, units.gu(1));
117− tryCompare(previewListRow0, "atYEnd", true);
118− tryCompare(previewListRow0, "moving", false);
116+ flickToYEnd(previewListRow0);
119117
120118 // Click on the combo
121119 var widget = findChild(preview, "widget-21");
tests/qmltests/Dash/Previews/tst_PreviewImageGallery.qml+1−1
@@ -22,7 +22,7 @@ import Unity.Test 0.1 as UT
2222Rectangle {
2323 id: root
2424 width: units.gu(80)
25− height: units.gu(80)
25+ height: units.gu(70)
2626 color: "lightgrey"
2727
2828 property var sourcesModel0: {
tests/qmltests/Dash/tst_Dash.qml+1−3
@@ -497,9 +497,7 @@ Item {
497497 tryCompare(subPageLoader, "x", 0);
498498 tryCompare(findChild(dashTempScopeItem, "categoryListView"), "visible", false);
499499 var previewListRow0 = findChild(subPageLoader, "previewListRow0");
500− touchFlick(previewListRow0, previewListRow0.width / 2, units.gu(20), previewListRow0.width / 2, units.gu(1));
501− tryCompare(previewListRow0, "atYEnd", true);
502− tryCompare(previewListRow0, "moving", false);
500+ flickToYEnd(previewListRow0);
503501 var widget = findChild(subPageLoader, "widget-21");
504502 var initialWidgetHeight = widget.height;
505503 var openButton = findChild(widget, "buttonopen_click");
tests/qmltests/Greeter/tst_Greeter.qml+15
@@ -146,6 +146,8 @@ Item {
146146 tryCompare(greeter, "waiting", false);
147147 view = findChild(greeter, "testView");
148148 verifySelected(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
149+ greeter.failedLoginsDelayAttempts = 7;
150+ greeter.failedLoginsDelayMinutes = 5;
149151 }
150152
151153 function cleanup() {
@@ -429,6 +431,19 @@ Item {
429431 compare(LightDM.Infographic.username, "has-password");
430432 }
431433
434+ function test_forcedDelay() {
435+ greeter.failedLoginsDelayAttempts = 1;
436+ greeter.failedLoginsDelayMinutes = 0.001; // make delay very short
437+
438+ selectUser("has-password");
439+ tryCompare(viewShowPromptSpy, "count", 1);
440+
441+ compare(view.delayMinutes, 0);
442+ view.responded("wr0ng p4ssw0rd");
443+ tryCompare(view, "delayMinutes", 1);
444+ tryCompare(view, "delayMinutes", 0);
445+ }
446+
432447 function test_dbusRequestAuthenticationUser() {
433448 selectUser("no-password");
434449 LightDM.Greeter.requestAuthenticationUser("has-password");
tests/qmltests/Greeter/tst_WideView.qml+10−3
@@ -313,7 +313,7 @@ Item {
313313 property Item view: loader.status === Loader.Ready ? loader.item : null
314314
315315 function init() {
316− view.currentIndex = 0; // break binding with text field
316+ selectIndex(0); // break binding with text field
317317 selectedSpy.clear();
318318 respondedSpy.clear();
319319 teaseSpy.clear();
@@ -343,9 +343,15 @@ Item {
343343 return -1;
344344 }
345345
346+ function selectIndex(i) {
347+ view.currentIndex = i;
348+ var userList = findChild(view, "userList");
349+ tryCompare(userList, "movingInternally", false);
350+ }
351+
346352 function selectUser(name) {
347353 var i = getIndexOf(name);
348− view.currentIndex = i;
354+ selectIndex(i);
349355 return i;
350356 }
351357
@@ -441,7 +447,8 @@ Item {
441447
442448 // Escape is used to reset the authentication, especially if PAM is unresponsive
443449 function test_escape() {
444− view.currentIndex = 1;
450+ selectIndex(1);
451+ selectedSpy.clear();
445452 view.locked = true;
446453 view.showPrompt("Prompt", true, true);
447454 var passwordInput = findChild(view, "passwordInput");
tests/qmltests/Launcher/tst_Launcher.qml+51−6
@@ -17,7 +17,7 @@
1717import QtQuick 2.0
1818import QtQuick.Layouts 1.1
1919import QtTest 1.0
20−import Unity.Test 0.1 as UT
20+import Unity.Test 0.1
2121import Ubuntu.Components 1.1
2222import ".."
2323import "../../../qml/Launcher"
@@ -78,7 +78,9 @@ Item {
7878 ColumnLayout {
7979 anchors { bottom: parent.bottom; right: parent.right; margins: units.gu(1) }
8080 spacing: units.gu(1)
81− width: units.gu(20)
81+ width: childrenRect.width
82+
83+ MouseTouchEmulationCheckbox {}
8284
8385 Button {
8486 text: "emit hinting signal"
@@ -98,7 +100,7 @@ Item {
98100 target: LauncherModel
99101 }
100102
101− UT.UnityTestCase {
103+ UnityTestCase {
102104 id: testCase
103105 name: "Launcher"
104106 when: windowShown
@@ -116,6 +118,9 @@ Item {
116118 launcherLoader.active = true;
117119 }
118120 function init() {
121+ // Make sure we don't start the test with the mouse hovering the launcher
122+ mouseMove(root, root.width, root.height / 2);
123+
119124 var listView = findChild(launcher, "launcherListView");
120125 // wait for it to settle before doing the flick. Otherwise the flick
121126 // might fail.
@@ -148,6 +153,17 @@ Item {
148153 tryCompare(launcher, "state", "visible");
149154 }
150155
156+ function revealByHover() {
157+ mouseMove(root, 1, root.height / 2);
158+
159+ var panel = findChild(launcher, "launcherPanel");
160+ verify(panel != undefined);
161+
162+ // wait until it gets fully extended
163+ tryCompare(panel, "x", 0);
164+ tryCompare(launcher, "state", "visibleTemporary");
165+ }
166+
151167 function waitUntilLauncherDisappears() {
152168 var panel = findChild(launcher, "launcherPanel");
153169 tryCompare(panel, "x", -panel.width, 1000);
@@ -189,8 +205,19 @@ Item {
189205 Launcher::launcherApplicationSelected signal should be emitted with the
190206 corresponding desktop file. E.g. clicking on phone icon should yield
191207 launcherApplicationSelected("[...]dialer-app.desktop") */
192− function test_clickingOnAppIconCausesSignalEmission() {
193− dragLauncherIntoView();
208+ function test_clickingOnAppIconCausesSignalEmission_data() {
209+ return [
210+ {tag: "by mouse", mouse: true},
211+ {tag: "by touch", mouse: false}
212+ ]
213+ }
214+
215+ function test_clickingOnAppIconCausesSignalEmission(data) {
216+ if (data.mouse) {
217+ revealByHover();
218+ } else {
219+ dragLauncherIntoView();
220+ }
194221 launcher.lastSelectedApplication = "";
195222 launcher.inverted = false;
196223
@@ -200,7 +227,11 @@ Item {
200227
201228 verify(appIcon != undefined);
202229
203− mouseClick(appIcon);
230+ if (data.mouse) {
231+ mouseClick(appIcon);
232+ } else {
233+ tap(appIcon);
234+ }
204235
205236 tryCompare(launcher, "lastSelectedApplication",
206237 appIcon.appId);
@@ -559,5 +590,19 @@ Item {
559590
560591 tryCompare(quickList, "state", "");
561592 }
593+
594+ function test_revealByHover() {
595+ var panel = findChild(launcher, "launcherPanel");
596+ verify(panel != undefined);
597+
598+ revealByHover();
599+ tryCompare(launcher, "state", "visibleTemporary");
600+
601+ // Now move the mouse away and make sure it hides in less than a second
602+ mouseMove(root, root.width, root.height / 2)
603+
604+ tryCompare(launcher, "state", "", 1000, "Launcher didn't hide after moving mouse away from it");
605+ waitUntilLauncherDisappears();
606+ }
562607 }
563608}
tests/qmltests/Panel/tst_Panel.qml+62−2
@@ -17,7 +17,7 @@
1717import QtQuick 2.1
1818import QtQuick.Layouts 1.1
1919import QtTest 1.0
20−import Unity.Test 0.1 as UT
20+import Unity.Test 0.1
2121import Ubuntu.Components 0.1
2222import Unity.Indicators 0.1 as Indicators
2323import Ubuntu.Telephony 0.1 as Telephony
@@ -119,6 +119,14 @@ IndicatorTest {
119119 }
120120 }
121121 }
122+
123+ Rectangle {
124+ Layout.preferredHeight: units.dp(1);
125+ Layout.fillWidth: true;
126+ color: "black"
127+ }
128+
129+ MouseTouchEmulationCheckbox {}
122130 }
123131 }
124132
@@ -127,7 +135,7 @@ IndicatorTest {
127135 phoneNumber: "+447812221111"
128136 }
129137
130− UT.UnityTestCase {
138+ UnityTestCase {
131139 name: "Panel"
132140 when: windowShown
133141
@@ -161,6 +169,16 @@ IndicatorTest {
161169 return indicatorItem;
162170 }
163171
172+ function pullDownIndicatorsMenu() {
173+ var showDragHandle = findChild(panel, "showDragHandle");
174+ touchFlick(showDragHandle,
175+ showDragHandle.width / 2,
176+ showDragHandle.height / 2,
177+ showDragHandle.width / 2,
178+ showDragHandle.height / 2 + (showDragHandle.autoCompleteDragThreshold * 1.1));
179+ tryCompare(panel.indicators, "fullyOpened", true);
180+ }
181+
164182 function test_drag_show_data() {
165183 return [
166184 { tag: "pinned", fullscreen: false, call: null,
@@ -328,5 +346,47 @@ IndicatorTest {
328346
329347 compare(backgroundPressedSpy.count, 0);
330348 }
349+
350+ function test_darkenedAreaEatsAllEvents() {
351+
352+ // The center of the area not covered by the indicators menu
353+ // Ie, the visible darkened area behind the menu
354+ var touchPosX = (panel.width - panel.indicators.width) / 2
355+ var touchPosY = panel.indicators.minimizedPanelHeight +
356+ ((panel.height - panel.indicators.minimizedPanelHeight) / 2)
357+
358+ // input goes through while the indicators menu is closed
359+ tryCompare(panel.indicators, "fullyClosed", true);
360+ compare(backgroundPressedSpy.count, 0);
361+ tap(panel, touchPosX, touchPosY);
362+ compare(backgroundPressedSpy.count, 2);
363+
364+ pullDownIndicatorsMenu();
365+
366+ // Darkened area eats input when the indicators menu is fully opened
367+ tap(panel, touchPosX, touchPosY);
368+ compare(backgroundPressedSpy.count, 2);
369+ backgroundPressedSpy.clear();
370+
371+ // And should continue to eat inpunt until the indicators menu is fully closed
372+ wait(10);
373+ while (!panel.indicators.fullyClosed) {
374+ tap(panel, touchPosX, touchPosY);
375+
376+ // it could have got fully closed during the tap
377+ // so we have to double check here
378+ if (!panel.indicators.fullyClosed) {
379+ compare(backgroundPressedSpy.count, 0);
380+ }
381+
382+ // let the animation go a bit further
383+ wait(50);
384+ }
385+
386+ // Now that's fully closed, input should go through again
387+ backgroundPressedSpy.clear();
388+ tap(panel, touchPosX, touchPosY);
389+ compare(backgroundPressedSpy.count, 2);
390+ }
331391 }
332392}
tests/qmltests/Panel/tst_SearchIndicator.qmldeleted−61
@@ -1,61 +0,0 @@
1−/*
2− * Copyright 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 QtTest 1.0
19−import "../../../qml/Panel"
20−import Ubuntu.Components 0.1
21−import Unity.Test 0.1 as UT
22−
23−Item {
24− width: units.gu(9)
25− height: units.gu(3)
26−
27− SignalSpy {
28− id: clickedSpy
29− target: searchIndicator
30− signalName: "clicked"
31− }
32−
33− SearchIndicator {
34− id: searchIndicator
35− anchors.fill: parent
36− }
37−
38− UT.UnityTestCase {
39− name: "SearchIndicator"
40− when: windowShown
41−
42− function test_clickedSignal() {
43− clickedSpy.clear();
44− mouseClick(searchIndicator,
45− searchIndicator.width / 2, searchIndicator.height / 2);
46− compare(clickedSpy.count, 1);
47− }
48−
49− function test_hideUp() {
50− var container = findChild(searchIndicator, "container");
51− searchIndicator.state = "hidden";
52− tryCompare(container, "opacity", 0);
53− }
54−
55− function test_show() {
56− var container = findChild(searchIndicator, "container");
57− searchIndicator.state = "visible";
58− tryCompare(container, "opacity", 1);
59− }
60− }
61−}
tests/qmltests/Stages/ApplicationCheckBox.qml+20−1
@@ -24,15 +24,23 @@ RowLayout {
2424 property string appId
2525 property alias checked: checkbox.checked
2626
27+ enabled: appId !== "unity8-dash"
28+
2729 Layout.fillWidth: true
2830 CheckBox {
2931 id: checkbox
3032 checked: false
3133 activeFocusOnPress: false
34+ property bool noop: false
3235 onCheckedChanged: {
36+ if (noop) {
37+ return;
38+ }
3339 if (checked) {
34− ApplicationManager.startApplication(root.appId);
40+ var application = ApplicationManager.startApplication(root.appId);
41+ appConnections.target = application;
3542 } else {
43+ appConnections.target = null;
3644 ApplicationManager.stopApplication(root.appId);
3745 }
3846 }
@@ -42,4 +50,15 @@ RowLayout {
4250 color: "white"
4351 anchors.verticalCenter: parent.verticalCenter
4452 }
53+
54+ Connections {
55+ id: appConnections
56+ onStateChanged: {
57+ if (target.state == ApplicationInfoInterface.Stopped) {
58+ checkbox.noop = true;
59+ checkbox.checked = false;
60+ checkbox.noop = false;
61+ }
62+ }
63+ }
4564}
tests/qmltests/Stages/tst_DesktopStage.qmlnew file+201
@@ -0,0 +1,201 @@
1+/*
2+ * Copyright (C) 2015 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 QtTest 1.0
19+import Ubuntu.Components 1.1
20+import Ubuntu.Components.ListItems 1.0 as ListItem
21+import Unity.Application 0.1
22+import Unity.Test 0.1
23+
24+import "../../../qml/Stages"
25+
26+Rectangle {
27+ id: root
28+ color: "darkblue"
29+ width: desktopStageLoader.width + controls.width
30+ height: desktopStageLoader.height
31+
32+ QtObject {
33+ id: fakeWindowStateStorage
34+
35+ property var storedGeom: [
36+ ["unity8-dash", Qt.rect(units.gu(2), units.gu(2), units.gu(50), units.gu(50))],
37+ ["webbrowser-app", Qt.rect(units.gu(60), units.gu(2), units.gu(50), units.gu(50))]
38+ ]
39+
40+ function saveGeometry(windowId, geometry) {
41+ for (var i = 0; i < storedGeom.length; ++i) {
42+ if (storedGeom[i][0] === windowId) {
43+ storedGeom[i][1] = geometry;
44+ return;
45+ }
46+ }
47+ // if new
48+ storedGeom[storedGeom.length] = [windowId, geometry];
49+ }
50+ function getGeometry(windowId, defaultGeometry) {
51+ for (var i = 0; i < storedGeom.length; ++i) {
52+ if (storedGeom[i][0] === windowId) {
53+ return storedGeom[i][1];
54+ }
55+ }
56+ return defaultGeometry;
57+ }
58+ }
59+
60+ Loader {
61+ id: desktopStageLoader
62+ x: ((root.width - controls.width) - width) / 2
63+ y: (root.height - height) / 2
64+ width: units.gu(160*0.9)
65+ height: units.gu(100*0.9)
66+
67+ focus: true
68+
69+ property bool itemDestroyed: false
70+ sourceComponent: Component {
71+ DesktopStage {
72+ anchors.fill: parent
73+ windowStateStorage: fakeWindowStateStorage
74+ Component.onDestruction: {
75+ desktopStageLoader.itemDestroyed = true;
76+ }
77+ focus: true
78+ }
79+ }
80+ }
81+
82+ Rectangle {
83+ id: controls
84+ color: "darkgrey"
85+ width: units.gu(30)
86+ anchors {
87+ top: parent.top
88+ bottom: parent.bottom
89+ right: parent.right
90+ }
91+
92+ Column {
93+ anchors { left: parent.left; right: parent.right; top: parent.top; margins: units.gu(1) }
94+ spacing: units.gu(1)
95+ Repeater {
96+ model: ApplicationManager.availableApplications
97+ ApplicationCheckBox {
98+ appId: modelData
99+ }
100+ }
101+ }
102+ }
103+
104+ UnityTestCase {
105+ id: testCase
106+ name: "DesktopStage"
107+ when: windowShown
108+
109+ property Item desktopStage: desktopStageLoader.status === Loader.Ready ? desktopStageLoader.item : null
110+
111+ function init() {
112+ }
113+
114+ function cleanup() {
115+ desktopStageLoader.itemDestroyed = false;
116+ desktopStageLoader.active = false;
117+
118+ tryCompare(desktopStageLoader, "status", Loader.Null);
119+ tryCompare(desktopStageLoader, "item", null);
120+ // Loader.status might be Loader.Null and Loader.item might be null but the Loader
121+ // actually took place. Likely because Loader waits until the next event loop
122+ // iteration to do its work. So to ensure the reload, we will wait until the
123+ // Shell instance gets destroyed.
124+ tryCompare(desktopStageLoader, "itemDestroyed", true);
125+
126+ killAllRunningApps();
127+
128+ desktopStageLoader.active = true;
129+ tryCompare(desktopStageLoader, "status", Loader.Ready);
130+ }
131+
132+ function killAllRunningApps() {
133+ while (ApplicationManager.count > 1) {
134+ var appIndex = ApplicationManager.get(0).appId == "unity8-dash" ? 1 : 0
135+ ApplicationManager.stopApplication(ApplicationManager.get(appIndex).appId);
136+ }
137+ compare(ApplicationManager.count, 1)
138+ }
139+
140+ function waitUntilAppSurfaceShowsUp(appId) {
141+ var appWindow = findChild(desktopStage, "appWindow_" + appId);
142+ verify(appWindow);
143+ var appWindowStates = findInvisibleChild(appWindow, "applicationWindowStateGroup");
144+ verify(appWindowStates);
145+ tryCompare(appWindowStates, "state", "surface");
146+ }
147+
148+ function rectsIntersect(aLocal, bLocal) {
149+
150+ var a = aLocal.mapToItem(null, 0, 0, aLocal.width, aLocal.height);
151+ var b = bLocal.mapToItem(null, 0, 0, bLocal.width, bLocal.height);
152+
153+ return !((a.y+a.height) < b.y
154+ || a.y > (b.y+b.height)
155+ || (a.x+a.width) < b.x
156+ || a.x > (b.x+b.width));
157+ }
158+
159+ function test_tappingOnWindowChangesFocusedApp() {
160+ ApplicationManager.startApplication("webbrowser-app");
161+ waitUntilAppSurfaceShowsUp("webbrowser-app");
162+
163+ var webbrowserWindow = findChild(desktopStage, "appWindow_webbrowser-app");
164+ verify(webbrowserWindow);
165+ var dashWindow = findChild(desktopStage, "appWindow_unity8-dash");
166+ verify(dashWindow);
167+
168+ // some sanity check
169+ compare(rectsIntersect(dashWindow, webbrowserWindow), false);
170+
171+ tap(dashWindow);
172+ compare(dashWindow.application.session.surface.activeFocus, true);
173+
174+ tap(webbrowserWindow);
175+ compare(webbrowserWindow.application.session.surface.activeFocus, true);
176+ }
177+
178+ function test_tappingOnWindowTitleChangesFocusedApp() {
179+ ApplicationManager.startApplication("webbrowser-app");
180+ waitUntilAppSurfaceShowsUp("webbrowser-app");
181+
182+ var webbrowserWindow = findChild(desktopStage, "decoratedWindow_webbrowser-app");
183+ verify(webbrowserWindow);
184+ var webbrowserWindowTitle = findChild(webbrowserWindow, "windowDecorationTitle");
185+ verify(webbrowserWindowTitle);
186+ var dashWindow = findChild(desktopStage, "decoratedWindow_unity8-dash");
187+ verify(dashWindow);
188+ var dashWindowTitle = findChild(dashWindow, "windowDecorationTitle");
189+ verify(dashWindowTitle);
190+
191+ // some sanity check
192+ compare(rectsIntersect(dashWindow, webbrowserWindow), false);
193+
194+ tap(dashWindowTitle);
195+ compare(dashWindow.application.session.surface.activeFocus, true);
196+
197+ tap(webbrowserWindowTitle);
198+ compare(webbrowserWindow.application.session.surface.activeFocus, true);
199+ }
200+ }
201+}
tests/qmltests/Stages/tst_PhoneStage.qml+1−1
@@ -103,7 +103,7 @@ Item {
103103 function addApps(count) {
104104 if (count == undefined) count = 1;
105105 for (var i = 0; i < count; i++) {
106− var app = ApplicationManager.startApplication(ApplicationManager.availableApplications()[ApplicationManager.count])
106+ var app = ApplicationManager.startApplication(ApplicationManager.availableApplications[ApplicationManager.count])
107107 tryCompare(app, "state", ApplicationInfoInterface.Running)
108108 var spreadView = findChild(phoneStage, "spreadView");
109109 tryCompare(spreadView, "contentX", -spreadView.shift);
tests/qmltests/Wizard/tst_Wizard.qml+18−1
@@ -1,5 +1,5 @@
11/*
2− * Copyright 2014 Canonical Ltd.
2+ * Copyright 2014,2015 Canonical Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -285,6 +285,23 @@ Item {
285285 waitForPage("simPage");
286286 }
287287
288+ function test_simWaitTimeout() {
289+ MockQOfono.setModems(["a"], [false], [false]);
290+
291+ // Go to SIM page, which will be waiting for skip to be valid
292+ var page = goToPage("languagePage");
293+ tap(findChild(page, "forwardButton"));
294+ verifyPageIsBlocked("simPage");
295+
296+ var timeout = findInvisibleChild(wizard, "timeout");
297+ timeout.interval = 100; // reduce our delay
298+
299+ // Now just wait for timeout
300+ compare(timeout.running, true);
301+ waitForPage("passwdPage");
302+ compare(timeout.running, false);
303+ }
304+
288305 function enterPasscode(passcode) {
289306 for (var i = 0; i < passcode.length; ++i) {
290307 var character = passcode.charAt(i);
tests/qmltests/tst_Shell.qml+380−80
@@ -26,13 +26,17 @@ import Unity.Application 0.1
2626import Unity.Connectivity 0.1
2727import Unity.Indicators 0.1
2828import Unity.Notifications 1.0
29−import Unity.Test 0.1 as UT
29+import Unity.Test 0.1
3030import Powerd 0.1
31+import Wizard 0.1 as Wizard
3132
3233import "../../qml"
3334
34−Item {
35+Rectangle {
3536 id: root
37+ color: "grey"
38+ width: units.gu(100) + controls.width
39+ height: units.gu(71)
3640
3741 Component.onCompleted: {
3842 // must set the mock mode before loading the Shell
@@ -41,18 +45,36 @@ Item {
4145 shellLoader.active = true;
4246 }
4347
44− width: shellLoader.width + controlsRect.width
45− height: shellLoader.height
46−
47− Row {
48− anchors.fill: parent
48+ Item {
49+ anchors.left: root.left
50+ anchors.right: controls.left
51+ anchors.top: root.top
52+ anchors.bottom: root.bottom
4953 Loader {
5054 id: shellLoader
5155 focus: true
5256
53− property bool tablet: false
54− width: tablet ? units.gu(160) : units.gu(40)
55− height: tablet ? units.gu(100) : units.gu(71)
57+ anchors.centerIn: parent
58+
59+ state: "phone"
60+ states: [
61+ State {
62+ name: "phone"
63+ PropertyChanges {
64+ target: shellLoader
65+ width: units.gu(40)
66+ height: units.gu(71)
67+ }
68+ },
69+ State {
70+ name: "tablet"
71+ PropertyChanges {
72+ target: shellLoader
73+ width: units.gu(100)
74+ height: units.gu(71)
75+ }
76+ }
77+ ]
5678
5779 active: false
5880 property bool itemDestroyed: false
@@ -68,44 +90,58 @@ Item {
6890 }
6991 }
7092 }
93+ }
94+
95+ Rectangle {
96+ id: controls
97+ color: "darkgrey"
98+ width: units.gu(30)
99+ anchors.top: root.top
100+ anchors.bottom: root.bottom
101+ anchors.right: root.right
102+
103+ Column {
104+ anchors { left: parent.left; right: parent.right; top: parent.top; margins: units.gu(1) }
105+ spacing: units.gu(1)
106+ Row {
107+ anchors { left: parent.left; right: parent.right }
108+ Button {
109+ text: "Show Greeter"
110+ activeFocusOnPress: false
111+ onClicked: {
112+ if (shellLoader.status !== Loader.Ready)
113+ return;
71114
72− Rectangle {
73− id: controlsRect
74− color: "darkgrey"
75− width: units.gu(30)
76− height: shellLoader.height
77−
78− Column {
79− anchors { left: parent.left; right: parent.right; top: parent.top; margins: units.gu(1) }
80− spacing: units.gu(1)
81− Row {
82− anchors { left: parent.left; right: parent.right }
83− Button {
84− text: "Show Greeter"
85− activeFocusOnPress: false
86− onClicked: {
87− if (shellLoader.status !== Loader.Ready)
88− return;
89−
90− var greeter = testCase.findChild(shellLoader.item, "greeter");
91− if (!greeter.shown) {
92− LightDM.Greeter.showGreeter();
93− }
115+ var greeter = testCase.findChild(shellLoader.item, "greeter");
116+ if (!greeter.shown) {
117+ LightDM.Greeter.showGreeter();
94118 }
95119 }
96120 }
97− ListItem.ItemSelector {
98− anchors { left: parent.left; right: parent.right }
99− activeFocusOnPress: false
100− text: "LightDM mock mode"
101− model: ["single", "single-passphrase", "single-pin"]
102− onSelectedIndexChanged: {
103− shellLoader.active = false;
104− LightDM.Greeter.mockMode = model[selectedIndex];
105− LightDM.Users.mockMode = model[selectedIndex];
106− shellLoader.active = true;
107− }
121+ }
122+ ListItem.ItemSelector {
123+ anchors { left: parent.left; right: parent.right }
124+ activeFocusOnPress: false
125+ text: "LightDM mock mode"
126+ model: ["single", "single-passphrase", "single-pin", "full"]
127+ onSelectedIndexChanged: {
128+ shellLoader.active = false;
129+ LightDM.Greeter.mockMode = model[selectedIndex];
130+ LightDM.Users.mockMode = model[selectedIndex];
131+ shellLoader.active = true;
132+ }
133+ }
134+ ListItem.ItemSelector {
135+ anchors { left: parent.left; right: parent.right }
136+ activeFocusOnPress: false
137+ text: "Size"
138+ model: ["phone", "tablet"]
139+ onSelectedIndexChanged: {
140+ shellLoader.active = false;
141+ shellLoader.state = model[selectedIndex];
142+ shellLoader.active = true;
108143 }
144+ MouseTouchEmulationCheckbox { color: "white" }
109145 }
110146 }
111147 }
@@ -167,7 +203,7 @@ Item {
167203 phoneNumber: "+447812221111"
168204 }
169205
170− UT.UnityTestCase {
206+ UnityTestCase {
171207 id: testCase
172208 name: "Shell"
173209 when: windowShown
@@ -175,19 +211,49 @@ Item {
175211 property Item shell: shellLoader.status === Loader.Ready ? shellLoader.item : null
176212
177213 function init() {
178− tryCompare(shell, "enabled", true); // enabled by greeter when ready
214+ if (shellLoader.active) {
215+ // happens for the very first test function as shell
216+ // is loaded by default
217+ tearDown();
218+ }
179219
180− swipeAwayGreeter();
220+ }
221+
222+ function cleanup() {
223+ tryCompare(shell, "enabled", true); // make sure greeter didn't leave us in disabled state
224+ tearDown();
225+ }
226+
227+ function loadShell(formFactor) {
228+ shellLoader.state = formFactor;
229+ shellLoader.active = true;
230+ tryCompare(shellLoader, "status", Loader.Ready);
231+ removeTimeConstraintsFromDirectionalDragAreas(shellLoader.item);
232+ tryCompare(shell, "enabled", true); // enabled by greeter when ready
181233
182234 sessionSpy.target = findChild(shell, "greeter")
183235 dashCommunicatorSpy.target = findInvisibleChild(shell, "dashCommunicator");
184236
185237 var launcher = findChild(shell, "launcher");
186238 launcherShowDashHomeSpy.target = launcher;
239+
240+ waitForGreeterToStabilize();
187241 }
188242
189− function cleanup() {
190− tryCompare(shell, "enabled", true); // make sure greeter didn't leave us in disabled state
243+ function waitForGreeterToStabilize() {
244+ var greeter = findChild(shell, "greeter");
245+ verify(greeter);
246+
247+ var loginList = findChild(greeter, "loginList");
248+ // Only present in WideView
249+ if (loginList) {
250+ var userList = findChild(loginList, "userList");
251+ verify(userList);
252+ tryCompare(userList, "movingInternally", false);
253+ }
254+ }
255+
256+ function tearDown() {
191257 launcherShowDashHomeSpy.target = null;
192258
193259 shellLoader.itemDestroyed = false;
@@ -204,17 +270,18 @@ Item {
204270 // Shell instance gets destroyed.
205271 tryCompare(shellLoader, "itemDestroyed", true);
206272
273+ setLightDMMockMode("single"); // back to the default value
274+
275+ AccountsService.demoEdges = false;
276+ Wizard.System.wizardEnabled = false;
277+
207278 // kill all (fake) running apps
208279 killApps(ApplicationManager);
209280
210281 unlockAllModemsSpy.clear()
211282 LightDM.Greeter.authenticate(""); // reset greeter
212283
213− // reload our test subject to get it in a fresh state once again
214− shellLoader.active = true;
215−
216− tryCompare(shellLoader, "status", Loader.Ready);
217− removeTimeConstraintsFromDirectionalDragAreas(shellLoader.item);
284+ sessionSpy.clear();
218285 }
219286
220287 function killApps() {
@@ -226,6 +293,8 @@ Item {
226293 }
227294
228295 function test_snapDecisionDismissalReturnsFocus() {
296+ loadShell("phone");
297+ swipeAwayGreeter();
229298 var notifications = findChild(shell, "notificationList");
230299 var app = ApplicationManager.startApplication("camera-app");
231300 var stage = findChild(shell, "stage")
@@ -284,19 +353,41 @@ Item {
284353 mockNotificationsModel.append(n)
285354 }
286355
287− function test_leftEdgeDrag_data() {
356+ function test_phoneLeftEdgeDrag_data() {
288357 return [
289− {tag: "without launcher", revealLauncher: false, swipeLength: units.gu(27), appHides: true, focusedApp: "dialer-app", launcherHides: true, greeterShown: false},
290− {tag: "with launcher", revealLauncher: true, swipeLength: units.gu(27), appHides: true, focusedApp: "dialer-app", launcherHides: true, greeterShown: false},
291− {tag: "small swipe", revealLauncher: false, swipeLength: units.gu(25), appHides: false, focusedApp: "dialer-app", launcherHides: false, greeterShown: false},
292− {tag: "long swipe", revealLauncher: false, swipeLength: units.gu(27), appHides: true, focusedApp: "dialer-app", launcherHides: true, greeterShown: false},
293− {tag: "small swipe with greeter", revealLauncher: false, swipeLength: units.gu(25), appHides: false, focusedApp: "dialer-app", launcherHides: false, greeterShown: true},
294− {tag: "long swipe with greeter", revealLauncher: false, swipeLength: units.gu(27), appHides: true, focusedApp: "dialer-app", launcherHides: true, greeterShown: true},
295− {tag: "swipe over dash", revealLauncher: false, swipeLength: units.gu(27), appHides: true, focusedApp: "unity8-dash", launcherHides: false, greeterShown: false},
358+ {tag: "without launcher",
359+ revealLauncher: false, swipeLength: units.gu(27), appHides: true, focusedApp: "dialer-app",
360+ launcherHides: true, greeterShown: false},
361+
362+ {tag: "with launcher",
363+ revealLauncher: true, swipeLength: units.gu(27), appHides: true, focusedApp: "dialer-app",
364+ launcherHides: true, greeterShown: false},
365+
366+ {tag: "small swipe",
367+ revealLauncher: false, swipeLength: units.gu(25), appHides: false, focusedApp: "dialer-app",
368+ launcherHides: false, greeterShown: false},
369+
370+ {tag: "long swipe",
371+ revealLauncher: false, swipeLength: units.gu(27), appHides: true, focusedApp: "dialer-app",
372+ launcherHides: true, greeterShown: false},
373+
374+ {tag: "small swipe with greeter",
375+ revealLauncher: false, swipeLength: units.gu(25), appHides: false, focusedApp: "dialer-app",
376+ launcherHides: false, greeterShown: true},
377+
378+ {tag: "long swipe with greeter",
379+ revealLauncher: false, swipeLength: units.gu(27), appHides: true, focusedApp: "dialer-app",
380+ launcherHides: true, greeterShown: true},
381+
382+ {tag: "swipe over dash",
383+ revealLauncher: false, swipeLength: units.gu(27), appHides: true, focusedApp: "unity8-dash",
384+ launcherHides: false, greeterShown: false},
296385 ];
297386 }
298387
299− function test_leftEdgeDrag(data) {
388+ function test_phoneLeftEdgeDrag(data) {
389+ loadShell("phone");
390+ swipeAwayGreeter();
300391 dragLauncherIntoView();
301392 tapOnAppIconInLauncher();
302393 waitUntilApplicationWindowIsFullyVisible();
@@ -329,7 +420,32 @@ Item {
329420 compare(animateTimer.nextState, "visible");
330421 }
331422
423+ function test_tabletLeftEdgeDrag_data() {
424+ return [
425+ {tag: "without password", user: "no-password", loggedIn: true, demo: false},
426+ {tag: "with password", user: "has-password", loggedIn: false, demo: false},
427+ {tag: "with demo", user: "has-password", loggedIn: true, demo: true},
428+ ]
429+ }
430+
431+ function test_tabletLeftEdgeDrag(data) {
432+ setLightDMMockMode("full");
433+ loadShell("tablet");
434+
435+ selectUser(data.user)
436+
437+ AccountsService.demoEdges = data.demo
438+ var tutorial = findChild(shell, "tutorial");
439+ tryCompare(tutorial, "running", data.demo);
440+
441+ swipeFromLeftEdge(shell.width * 0.75)
442+ wait(500) // to give time to handle dash() signal from Launcher
443+ confirmLoggedIn(data.loggedIn)
444+ }
445+
332446 function test_suspend() {
447+ loadShell("phone");
448+ swipeAwayGreeter();
333449 var greeter = findChild(shell, "greeter");
334450
335451 // Launch an app from the launcher
@@ -389,6 +505,61 @@ Item {
389505 waitForRendering(greeter);
390506 }
391507
508+ function selectUserAtIndex(i) {
509+ // We could be anywhere in list; find target index to know which direction
510+ var greeter = findChild(shell, "greeter")
511+ var userlist = findChild(greeter, "userList")
512+ if (userlist.currentIndex == i)
513+ keyClick(Qt.Key_Escape) // Reset state if we're not moving
514+ while (userlist.currentIndex != i) {
515+ var next = userlist.currentIndex + 1
516+ if (userlist.currentIndex > i) {
517+ next = userlist.currentIndex - 1
518+ }
519+ tap(findChild(greeter, "username"+next));
520+ tryCompare(userlist, "currentIndex", next)
521+ tryCompare(userlist, "movingInternally", false)
522+ }
523+ tryCompare(shell, "enabled", true); // wait for PAM to settle
524+ }
525+
526+ function selectUser(name) {
527+ // Find index of user with the right name
528+ for (var i = 0; i < LightDM.Users.count; i++) {
529+ if (LightDM.Users.data(i, LightDM.UserRoles.NameRole) == name) {
530+ break
531+ }
532+ }
533+ if (i == LightDM.Users.count) {
534+ fail("Didn't find name")
535+ return -1
536+ }
537+ selectUserAtIndex(i)
538+ return i
539+ }
540+
541+ function clickPasswordInput(isButton) {
542+ var greeter = findChild(shell, "greeter")
543+ tryCompare(greeter, "fullyShown", true);
544+
545+ var passwordMouseArea = findChild(shell, "passwordMouseArea")
546+ tryCompare(passwordMouseArea, "enabled", isButton)
547+
548+ var passwordInput = findChild(shell, "passwordInput")
549+ mouseClick(passwordInput)
550+ }
551+
552+ function confirmLoggedIn(loggedIn) {
553+ var greeter = findChild(shell, "greeter");
554+ tryCompare(greeter, "shown", loggedIn ? false : true);
555+ verify(loggedIn ? sessionSpy.count > 0 : sessionSpy.count === 0);
556+ }
557+
558+ function setLightDMMockMode(mode) {
559+ LightDM.Greeter.mockMode = mode;
560+ LightDM.Users.mockMode = mode;
561+ }
562+
392563 /*
393564 Regression test for bug https://bugs.launchpad.net/touch-preview-images/+bug/1193419
394565
@@ -401,6 +572,8 @@ Item {
401572 - verify the setCurrentScope() D-Bus call to the dash has been called for the correct scope id.
402573 */
403574 function test_minimizingAppTakesToDashApps() {
575+ loadShell("phone");
576+ swipeAwayGreeter();
404577 dragLauncherIntoView();
405578
406579 // Launch an app from the launcher
@@ -421,6 +594,8 @@ Item {
421594 }
422595
423596 function test_showInputMethod() {
597+ loadShell("phone");
598+ swipeAwayGreeter();
424599 var item = findChild(shell, "inputMethod");
425600 var surface = SurfaceManager.inputMethodSurface();
426601
@@ -450,6 +625,8 @@ Item {
450625 }
451626
452627 function test_surfaceLosesActiveFocusWhilePanelIsOpen() {
628+ loadShell("phone");
629+ swipeAwayGreeter();
453630 var app = ApplicationManager.startApplication("dialer-app");
454631 waitUntilAppWindowIsFullyLoaded(app);
455632
@@ -480,28 +657,26 @@ Item {
480657 tryCompare(app.session.surface, "activeFocus", true);
481658 }
482659
483− function test_launchedAppHasActiveFocus() {
484− var dialerApp = ApplicationManager.startApplication("dialer-app");
660+ function test_launchedAppHasActiveFocus_data() {
661+ return [
662+ {tag:"phone", formFactor:"phone"},
663+ {tag:"tablet", formFactor:"tablet"},
664+ ];
665+ }
666+
667+ function test_launchedAppHasActiveFocus(data) {
668+ loadShell(data.formFactor);
669+ swipeAwayGreeter();
670+
671+ var dialerApp = ApplicationManager.startApplication("webbrowser-app");
485672 verify(dialerApp);
486− waitUntilAppSurfaceShowsUp("dialer-app")
673+ waitUntilAppSurfaceShowsUp("webbrowser-app")
487674
488675 verify(dialerApp.session.surface);
489676
490677 tryCompare(dialerApp.session.surface, "activeFocus", true);
491678 }
492679
493− // Wait for the whole UI to settle down
494− function waitForUIToSettle() {
495− var launcher = findChild(shell, "launcherPanel")
496− tryCompareFunction(function() {return launcher.x === 0 || launcher.x === -launcher.width;}, true);
497− if (launcher.x === 0) {
498− mouseClick(shell)
499− }
500− tryCompare(launcher, "x", -launcher.width)
501−
502− waitForRendering(shell)
503− }
504−
505680 function waitUntilAppSurfaceShowsUp(appId) {
506681 var appWindow = findChild(shell, "appWindow_" + appId);
507682 verify(appWindow);
@@ -594,6 +769,8 @@ Item {
594769 }
595770
596771 function test_focusRequestedHidesGreeter() {
772+ loadShell("phone");
773+ swipeAwayGreeter();
597774 var greeter = findChild(shell, "greeter");
598775
599776 var app = ApplicationManager.startApplication("dialer-app");
@@ -614,6 +791,8 @@ Item {
614791 }
615792
616793 function test_focusRequestedHidesIndicators() {
794+ loadShell("phone");
795+ swipeAwayGreeter();
617796 var indicators = findChild(shell, "indicators");
618797
619798 showIndicators();
@@ -626,6 +805,8 @@ Item {
626805 }
627806
628807 function test_showAndHideGreeterDBusCalls() {
808+ loadShell("phone");
809+ swipeAwayGreeter();
629810 var greeter = findChild(shell, "greeter")
630811 tryCompare(greeter, "shown", false)
631812 waitForRendering(greeter);
@@ -637,6 +818,9 @@ Item {
637818 }
638819
639820 function test_greeterLoginsAutomaticallyWhenNoPasswordSet() {
821+ loadShell("phone");
822+ swipeAwayGreeter();
823+
640824 sessionSpy.clear();
641825 verify(sessionSpy.valid);
642826
@@ -646,6 +830,8 @@ Item {
646830 }
647831
648832 function test_fullscreen() {
833+ loadShell("phone");
834+ swipeAwayGreeter();
649835 var panel = findChild(shell, "panel");
650836 compare(panel.fullscreenMode, false);
651837 ApplicationManager.startApplication("camera-app");
@@ -659,6 +845,8 @@ Item {
659845 }
660846
661847 function test_leftEdgeDragFullscreen() {
848+ loadShell("phone");
849+ swipeAwayGreeter();
662850 var panel = findChild(shell, "panel");
663851 tryCompare(panel, "fullscreenMode", false)
664852
@@ -680,6 +868,8 @@ Item {
680868 }
681869
682870 function test_unlockedProperties() {
871+ loadShell("phone");
872+ swipeAwayGreeter();
683873 // Confirm that various properties have the correct values when unlocked
684874 var greeter = findChild(shell, "greeter");
685875 tryCompare(greeter, "locked", false);
@@ -692,10 +882,60 @@ Item {
692882 }
693883
694884 function test_unlockAllModemsOnBoot() {
885+ loadShell("phone");
886+ swipeAwayGreeter();
695887 tryCompare(unlockAllModemsSpy, "count", 1)
696888 }
697889
890+ function test_unlockAllModemsAfterWizard() {
891+ Wizard.System.wizardEnabled = true;
892+ loadShell("phone");
893+
894+ var wizard = findChild(shell, "wizard");
895+ compare(wizard.active, true);
896+ compare(Wizard.System.wizardEnabled, true);
897+ compare(unlockAllModemsSpy.count, 0);
898+
899+ wizard.hide();
900+ tryCompare(wizard, "active", false);
901+ compare(Wizard.System.wizardEnabled, false);
902+ compare(unlockAllModemsSpy.count, 1);
903+ }
904+
905+ function test_wizardEarlyExit() {
906+ Wizard.System.wizardEnabled = true;
907+ AccountsService.demoEdges = true;
908+ loadShell("phone");
909+
910+ var wizard = findChild(shell, "wizard");
911+ var tutorial = findChild(shell, "tutorial");
912+ tryCompare(wizard, "active", true);
913+ tryCompare(tutorial, "running", true);
914+ tryCompare(ApplicationManager, "focusedApplicationId", "unity8-dash");
915+
916+ // Make sure we stay running when nothing focused (can happen for
917+ // a moment when we restart the dash after switching language)
918+ ApplicationManager.stopApplication("unity8-dash");
919+ tryCompare(ApplicationManager, "focusedApplicationId", "");
920+ compare(wizard.shown, true);
921+ compare(tutorial.running, true);
922+
923+ // And make sure we stay running when dash focused again
924+ ApplicationManager.startApplication("unity8-dash");
925+ tryCompare(ApplicationManager, "focusedApplicationId", "unity8-dash");
926+ compare(wizard.shown, true);
927+ compare(tutorial.running, true);
928+
929+ // And make sure we stop when something else is focused
930+ ApplicationManager.startApplication("gallery-app");
931+ tryCompare(ApplicationManager, "focusedApplicationId", "gallery-app");
932+ compare(wizard.shown, false);
933+ compare(tutorial.running, false);
934+ }
935+
698936 function test_tapOnRightEdgeReachesApplicationSurface() {
937+ loadShell("phone");
938+ swipeAwayGreeter();
699939 var topmostSpreadDelegate = findChild(shell, "appDelegate0");
700940 verify(topmostSpreadDelegate);
701941
@@ -723,6 +963,8 @@ Item {
723963 by the right-edge drag area)
724964 */
725965 function test_rightEdgeDragDoesNotReachApplicationSurface() {
966+ loadShell("phone");
967+ swipeAwayGreeter();
726968 var topmostSpreadDelegate = findChild(shell, "appDelegate0");
727969 var topmostSurface = findChild(topmostSpreadDelegate, "surfaceContainer").surface;
728970 var rightEdgeDragArea = findChild(shell, "spreadDragArea");
@@ -767,6 +1009,8 @@ Item {
7671009 }
7681010
7691011 function test_tapUbuntuIconInLauncherOverAppSpread() {
1012+ loadShell("phone");
1013+ swipeAwayGreeter();
7701014
7711015 waitUntilFocusedApplicationIsShowingItsSurface();
7721016
@@ -811,19 +1055,75 @@ Item {
8111055 function test_background_data() {
8121056 return [
8131057 {tag: "color", accounts: Qt.resolvedUrl("data:image/svg+xml,<svg><rect width='100%' height='100%' fill='#dd4814'/></svg>"), gsettings: "", output: Qt.resolvedUrl("data:image/svg+xml,<svg><rect width='100%' height='100%' fill='#dd4814'/></svg>")},
814− {tag: "empty", accounts: "", gsettings: "", output: shell.defaultBackground},
1058+ {tag: "empty", accounts: "", gsettings: "", output: "defaultBackground"},
8151059 {tag: "as-specified", accounts: Qt.resolvedUrl("../data/unity/backgrounds/blue.png"), gsettings: "", output: Qt.resolvedUrl("../data/unity/backgrounds/blue.png")},
8161060 {tag: "gs-specified", accounts: "", gsettings: Qt.resolvedUrl("../data/unity/backgrounds/red.png"), output: Qt.resolvedUrl("../data/unity/backgrounds/red.png")},
8171061 {tag: "both-specified", accounts: Qt.resolvedUrl("../data/unity/backgrounds/blue.png"), gsettings: Qt.resolvedUrl("../data/unity/backgrounds/red.png"), output: Qt.resolvedUrl("../data/unity/backgrounds/blue.png")},
8181062 {tag: "invalid-as", accounts: Qt.resolvedUrl("../data/unity/backgrounds/nope.png"), gsettings: Qt.resolvedUrl("../data/unity/backgrounds/red.png"), output: Qt.resolvedUrl("../data/unity/backgrounds/red.png")},
819− {tag: "invalid-both", accounts: Qt.resolvedUrl("../data/unity/backgrounds/nope.png"), gsettings: Qt.resolvedUrl("../data/unity/backgrounds/stillnope.png"), output: shell.defaultBackground},
1063+ {tag: "invalid-both", accounts: Qt.resolvedUrl("../data/unity/backgrounds/nope.png"), gsettings: Qt.resolvedUrl("../data/unity/backgrounds/stillnope.png"), output: "defaultBackground"},
8201064 ]
8211065 }
8221066 function test_background(data) {
1067+ loadShell("phone");
1068+ swipeAwayGreeter();
8231069 AccountsService.backgroundFile = data.accounts;
8241070 var backgroundSettings = findInvisibleChild(shell, "backgroundSettings");
8251071 backgroundSettings.pictureUri = data.gsettings;
826− tryCompare(shell, "background", data.output);
1072+
1073+ if (data.output === "defaultBackground") {
1074+ tryCompare(shell, "background", shell.defaultBackground);
1075+ } else {
1076+ tryCompare(shell, "background", data.output);
1077+ }
1078+ }
1079+
1080+ function test_tabletLogin_data() {
1081+ return [
1082+ {tag: "auth error", user: "auth-error", loggedIn: false, password: ""},
1083+ {tag: "with password", user: "has-password", loggedIn: true, password: "password"},
1084+ {tag: "without password", user: "no-password", loggedIn: true, password: ""},
1085+ ]
1086+ }
1087+
1088+ function test_tabletLogin(data) {
1089+ setLightDMMockMode("full");
1090+ loadShell("tablet");
1091+
1092+ selectUser(data.user);
1093+
1094+ clickPasswordInput(data.password === "" /* isButton */);
1095+
1096+ if (data.password !== "") {
1097+ typeString(data.password);
1098+ keyClick(Qt.Key_Enter);
1099+ }
1100+
1101+ confirmLoggedIn(data.loggedIn);
1102+ }
1103+
1104+ function test_appLaunchDuringGreeter_data() {
1105+ return [
1106+ {tag: "auth error", user: "auth-error", loggedIn: false, passwordFocus: false},
1107+ {tag: "without password", user: "no-password", loggedIn: true, passwordFocus: false},
1108+ {tag: "with password", user: "has-password", loggedIn: false, passwordFocus: true},
1109+ ]
1110+ }
1111+
1112+ function test_appLaunchDuringGreeter(data) {
1113+ setLightDMMockMode("full");
1114+ loadShell("tablet");
1115+
1116+ selectUser(data.user)
1117+
1118+ var greeter = findChild(shell, "greeter")
1119+ var app = ApplicationManager.startApplication("dialer-app")
1120+
1121+ confirmLoggedIn(data.loggedIn)
1122+
1123+ if (data.passwordFocus) {
1124+ var passwordInput = findChild(greeter, "passwordInput")
1125+ tryCompare(passwordInput, "focus", true)
1126+ }
8271127 }
8281128 }
8291129}
tests/qmltests/tst_TabletShell.qmldeleted−305
@@ -1,305 +0,0 @@
1−/*
2− * Copyright (C) 2013-2015 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 QtTest 1.0
19−import AccountsService 0.1
20−import GSettings 1.0
21−import LightDM 0.1 as LightDM
22−import Ubuntu.Components 1.1
23−import Ubuntu.Telephony 0.1 as Telephony
24−import Unity.Application 0.1
25−import Unity.Connectivity 0.1
26−import Unity.Test 0.1 as UT
27−import Powerd 0.1
28−
29−import "../../qml"
30−
31−Item {
32− id: root
33− width: units.gu(120)
34− height: units.gu(80)
35−
36− Component.onCompleted: {
37− // must set the mock mode before loading the Shell
38− LightDM.Greeter.mockMode = "full";
39− LightDM.Users.mockMode = "full";
40− shellLoader.active = true;
41− }
42−
43− QtObject {
44− id: applicationArguments
45−
46− function hasGeometry() {
47− return false
48− }
49−
50− function width() {
51− return 0
52− }
53−
54− function height() {
55− return 0
56− }
57− }
58−
59− Row {
60− anchors.fill: parent
61− Loader {
62− id: shellLoader
63−
64− active: false
65− width: units.gu(100)
66− height: parent.height
67−
68− property bool itemDestroyed: false
69− sourceComponent: Component {
70− Shell {
71− orientation: Qt.LandscapeOrientation
72− usageScenario: "tablet"
73−
74− Component.onDestruction: {
75− shellLoader.itemDestroyed = true
76− }
77− }
78− }
79− }
80−
81− Rectangle {
82− color: "white"
83− width: units.gu(20)
84− height: parent.height
85−
86− Column {
87− anchors { left: parent.left; right: parent.right; top: parent.top; margins: units.gu(1) }
88− spacing: units.gu(1)
89− Button {
90− text: "Show Greeter"
91− onClicked: {
92− if (shellLoader.status !== Loader.Ready)
93− return
94−
95− var greeter = testCase.findChild(shellLoader.item, "greeter")
96− if (!greeter.shown) {
97− greeter.show()
98− }
99− }
100− }
101− Button {
102− text: "Demo edges"
103− onClicked: {
104− AccountsService.demoEdges = true;
105− }
106− }
107− }
108− }
109− }
110−
111− SignalSpy {
112− id: sessionSpy
113− signalName: "sessionStarted"
114− }
115−
116− SignalSpy {
117− id: dashCommunicatorSpy
118− signalName: "setCurrentScopeCalled"
119− }
120−
121− SignalSpy {
122− id: unlockAllModemsSpy
123− target: Connectivity
124− signalName: "unlockingAllModems"
125− }
126−
127− Telephony.CallEntry {
128− id: phoneCall
129− phoneNumber: "+447812221111"
130− }
131−
132− UT.UnityTestCase {
133− id: testCase
134− name: "TabletShell"
135− when: windowShown
136−
137− property Item shell: shellLoader.status === Loader.Ready ? shellLoader.item : null
138−
139− function init() {
140− tryCompare(shell, "enabled", true); // will be enabled when greeter is all ready
141− var userList = findChild(shell, "userList");
142− tryCompare(userList, "movingInternally", false);
143− sessionSpy.clear()
144− sessionSpy.target = findChild(shell, "greeter")
145− dashCommunicatorSpy.target = findInvisibleChild(shell, "dashCommunicator")
146− }
147−
148− function cleanup() {
149− tryCompare(shell, "enabled", true); // make sure greeter didn't leave us in disabled state
150−
151− shellLoader.itemDestroyed = false
152−
153− shellLoader.active = false
154−
155− tryCompare(shellLoader, "status", Loader.Null)
156− tryCompare(shellLoader, "item", null)
157− // Loader.status might be Loader.Null and Loader.item might be null but the Loader
158− // item might still be alive. So if we set Loader.active back to true
159− // again right now we will get the very same Shell instance back. So no reload
160− // actually took place. Likely because Loader waits until the next event loop
161− // iteration to do its work. So to ensure the reload, we will wait until the
162− // Shell instance gets destroyed.
163− tryCompare(shellLoader, "itemDestroyed", true)
164−
165− // kill all (fake) running apps
166− killApps()
167−
168− unlockAllModemsSpy.clear()
169− AccountsService.demoEdges = false
170− LightDM.Greeter.authenticate(""); // reset greeter
171−
172− // reload our test subject to get it in a fresh state once again
173− shellLoader.active = true
174−
175− tryCompare(shellLoader, "status", Loader.Ready)
176− removeTimeConstraintsFromDirectionalDragAreas(shellLoader.item)
177− }
178−
179− function killApps() {
180− while (ApplicationManager.count > 1) {
181− var appIndex = ApplicationManager.get(0).appId == "unity8-dash" ? 1 : 0
182− ApplicationManager.stopApplication(ApplicationManager.get(appIndex).appId)
183− }
184− compare(ApplicationManager.count, 1)
185− }
186−
187− function selectIndex(i) {
188− // We could be anywhere in list; find target index to know which direction
189− var greeter = findChild(shell, "greeter")
190− var userlist = findChild(greeter, "userList")
191− if (userlist.currentIndex == i)
192− keyClick(Qt.Key_Escape) // Reset state if we're not moving
193− while (userlist.currentIndex != i) {
194− var next = userlist.currentIndex + 1
195− if (userlist.currentIndex > i) {
196− next = userlist.currentIndex - 1
197− }
198− tap(findChild(greeter, "username"+next));
199− tryCompare(userlist, "currentIndex", next)
200− tryCompare(userlist, "movingInternally", false)
201− }
202− }
203−
204− function selectUser(name) {
205− // Find index of user with the right name
206− for (var i = 0; i < LightDM.Users.count; i++) {
207− if (LightDM.Users.data(i, LightDM.UserRoles.NameRole) == name) {
208− break
209− }
210− }
211− if (i == LightDM.Users.count) {
212− fail("Didn't find name")
213− return -1
214− }
215− selectIndex(i)
216− return i
217− }
218−
219− function clickPasswordInput(isButton) {
220− var greeter = findChild(shell, "greeter")
221− tryCompare(greeter, "fullyShown", true);
222−
223− var passwordMouseArea = findChild(shell, "passwordMouseArea")
224− tryCompare(passwordMouseArea, "enabled", isButton)
225−
226− var passwordInput = findChild(shell, "passwordInput")
227− mouseClick(passwordInput)
228− }
229−
230− function confirmLoggedIn(loggedIn) {
231− var greeter = findChild(shell, "greeter");
232− tryCompare(greeter, "shown", loggedIn ? false : true);
233− verify(loggedIn ? sessionSpy.count > 0 : sessionSpy.count === 0);
234− }
235−
236− function swipeFromLeftEdge(swipeLength) {
237− var touchStartX = 2
238− var touchStartY = shell.height / 2
239− touchFlick(shell, touchStartX, touchStartY, swipeLength, touchStartY)
240− }
241−
242− function test_login_data() {
243− return [
244− {tag: "auth error", user: "auth-error", loggedIn: false, password: ""},
245− {tag: "with password", user: "has-password", loggedIn: true, password: "password"},
246− {tag: "without password", user: "no-password", loggedIn: true, password: ""},
247− ]
248− }
249−
250− function test_login(data) {
251− selectUser(data.user)
252−
253− clickPasswordInput(data.password === "")
254−
255− if (data.password !== "") {
256− typeString(data.password)
257− keyClick(Qt.Key_Enter)
258− }
259−
260− confirmLoggedIn(data.loggedIn)
261− }
262−
263− function test_appLaunchDuringGreeter_data() {
264− return [
265− {tag: "auth error", user: "auth-error", loggedIn: false, passwordFocus: false},
266− {tag: "without password", user: "no-password", loggedIn: true, passwordFocus: false},
267− {tag: "with password", user: "has-password", loggedIn: false, passwordFocus: true},
268− ]
269− }
270−
271− function test_appLaunchDuringGreeter(data) {
272− selectUser(data.user)
273−
274− var greeter = findChild(shell, "greeter")
275− var app = ApplicationManager.startApplication("dialer-app")
276−
277− confirmLoggedIn(data.loggedIn)
278−
279− if (data.passwordFocus) {
280− var passwordInput = findChild(greeter, "passwordInput")
281− tryCompare(passwordInput, "focus", true)
282− }
283− }
284−
285− function test_leftEdgeDrag_data() {
286− return [
287− {tag: "without password", user: "no-password", loggedIn: true, demo: false},
288− {tag: "with password", user: "has-password", loggedIn: false, demo: false},
289− {tag: "with demo", user: "has-password", loggedIn: true, demo: true},
290− ]
291− }
292−
293− function test_leftEdgeDrag(data) {
294− selectUser(data.user)
295−
296− AccountsService.demoEdges = data.demo
297− var tutorial = findChild(shell, "tutorial");
298− tryCompare(tutorial, "running", data.demo);
299−
300− swipeFromLeftEdge(shell.width * 0.75)
301− wait(500) // to give time to handle dash() signal from Launcher
302− confirmLoggedIn(data.loggedIn)
303− }
304− }
305−}
tests/uqmlscene/CMakeLists.txt−1
@@ -2,7 +2,6 @@ add_executable(uqmlscene
22 ${shellapplication_MOC_SRCS}
33 ActiveFocusLogger.cpp
44 main.cpp
5− ${CMAKE_SOURCE_DIR}/src/MouseTouchAdaptor.cpp
65 )
76
87qt5_use_modules(uqmlscene Qml Quick Test)
tests/uqmlscene/main.cpp−4
@@ -63,8 +63,6 @@
6363#include <QtCore/QTranslator>
6464#include <QtCore/QLibraryInfo>
6565
66−#include <MouseTouchAdaptor.h>
67−
6866// UbuntuGestures lib
6967#include <TouchRegistry.h>
7068
@@ -436,8 +434,6 @@ int main(int argc, char ** argv)
436434 app.setOrganizationName("Qt Project");
437435 app.setOrganizationDomain("qt-project.org");
438436
439− MouseTouchAdaptor mouseTouchAdaptor;
440− app.installNativeEventFilter(&mouseTouchAdaptor);
441437 // Create it before loading the module, so that TestUtil
442438 // doesn't create one with a fake timer factory.
443439 // When interacting manually with a test we want the real deal.
tests/utils/modules/Unity/Test/CMakeLists.txt+2
@@ -6,12 +6,14 @@ include_directories(
66 ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
77 ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
88 ${CMAKE_SOURCE_DIR}/libs/UbuntuGestures
9+ ${CMAKE_SOURCE_DIR}/src
910)
1011
1112set(UnityTestQML_SOURCES
1213 testutil.cpp
1314 plugin.cpp
1415 TouchEventSequenceWrapper.cpp
16+ ${CMAKE_SOURCE_DIR}/src/MouseTouchAdaptor.cpp
1517)
1618
1719add_library(UnityTestQml MODULE ${UnityTestQML_SOURCES})
tests/utils/modules/Unity/Test/MouseTouchEmulationCheckbox.qmlnew file+43
@@ -0,0 +1,43 @@
1+/*
2+ * Copyright (C) 2015 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 QtQuick.Layouts 1.1
19+import Ubuntu.Components 1.1
20+import Unity.Test 0.1
21+
22+RowLayout {
23+ id: root
24+ property alias color: label.color
25+
26+ Binding {
27+ target: MouseTouchAdaptor
28+ property: "enabled"
29+ value: checkbox.checked
30+ }
31+
32+ Layout.fillWidth: true
33+ CheckBox {
34+ id: checkbox
35+ checked: true
36+ activeFocusOnPress: false
37+ }
38+ Label {
39+ id: label
40+ text: "Mouse emulates touch"
41+ anchors.verticalCenter: parent.verticalCenter
42+ }
43+}
tests/utils/modules/Unity/Test/UnityTestCase.qml+29−6
@@ -23,12 +23,22 @@ TestCase {
2323 id: testCase
2424 TestUtil {id:util}
2525
26− ActivityIndicator {
27− visible: testCase.running
28− anchors.centerIn: parent
29− Component.onCompleted: parent = testCase.parent
30− z: 100
31− running: visible
26+ // This is needed for waitForRendering calls to return
27+ // if the watched element already got rendered
28+ Rectangle {
29+ width: units.gu(1)
30+ height: width
31+ parent: testCase.parent
32+ border { width: units.dp(1); color: "black" }
33+ opacity: 0.6
34+
35+ RotationAnimation on rotation {
36+ running: true
37+ from: 0
38+ to: 360
39+ loops: Animation.Infinite
40+ duration: 1000
41+ }
3242 }
3343
3444 // Fake implementation to be provided to items under test
@@ -221,6 +231,19 @@ TestCase {
221231 }
222232 }
223233
234+ function flickToYEnd(item) {
235+ var i = 0;
236+ var x = item.width / 2;
237+ var y = item.height - units.gu(1);
238+ var toY = units.gu(1);
239+ while (i < 5 && !item.atYEnd) {
240+ touchFlick(item, x, y, x, toY);
241+ tryCompare(item, "moving", false);
242+ ++i;
243+ }
244+ tryCompare(item, "atYEnd", true);
245+ }
246+
224247 function touchEvent(item) {
225248 return UT.Util.touchEvent(item)
226249 }
tests/utils/modules/Unity/Test/plugin.cpp+15−2
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2012, 2013 Canonical, Ltd.
2+ * Copyright (C) 2012, 2013, 2015 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -17,20 +17,33 @@
1717
1818#include "plugin.h"
1919#include "testutil.h"
20+#include <MouseTouchAdaptor.h>
2021#include "TouchEventSequenceWrapper.h"
2122
2223#include <qqml.h>
2324
24−static QObject *testutil_provider(QQmlEngine* /* engine */, QJSEngine* /* scriptEngine */)
25+namespace {
26+QObject *testutil_provider(QQmlEngine* /* engine */, QJSEngine* /* scriptEngine */)
2527{
2628 return new TestUtil();
2729}
30+QObject *getMouseTouchAdaptorQMLSingleton(QQmlEngine* /* engine */, QJSEngine* /* scriptEngine */)
31+{
32+ return MouseTouchAdaptor::instance();
33+}
34+} // anonymous namespace
2835
2936void UnityTestPlugin::registerTypes(const char *uri)
3037{
3138 Q_ASSERT(QLatin1String(uri) == QLatin1String("Unity.Test"));
39+
40+ // Ensure the instance gets created
41+ MouseTouchAdaptor::instance();
42+
3243 // @uri Unity.Test
3344 qmlRegisterSingletonType<TestUtil>(uri, 0, 1, "Util", testutil_provider);
3445 qmlRegisterUncreatableType<TouchEventSequenceWrapper>(uri, 0, 1, "TouchEventSequence",
3546 "You cannot directly create a TouchEventSequence object.");
47+ qmlRegisterSingletonType<MouseTouchAdaptor>(uri, 0, 1, "MouseTouchAdaptor",
48+ getMouseTouchAdaptorQMLSingleton);
3649}
tests/utils/modules/Unity/Test/qmldir+1
@@ -3,3 +3,4 @@ plugin UnityTestQml
33typeinfo Test.qmltypes
44
55UnityTestCase 0.1 UnityTestCase.qml
6+MouseTouchEmulationCheckbox 0.1 MouseTouchEmulationCheckbox.qml
tools/registry-tracker.cpp+2
@@ -75,6 +75,8 @@ void RegistryTracker::runRegistry()
7575 return;
7676 }
7777
78+ // FIXME At the moment we use pkg-config but ideally the library
79+ // would just have a function that returns these values
7880 QString scopeInstallDir;
7981 QString scopeRegistryBin;
8082 QString scopeRunnerBin;