on xenial help sign in
[ Albert Astals Cid ]
cd7d4f4Josh Arenson
CMakeLists.txt+10
@@ -129,6 +129,16 @@ if(NOT QUIET_LOGGER)
129 set(STDOUT_LOGGER "-o" "-,txt")
129 set(STDOUT_LOGGER "-o" "-,txt")
130endif()
130endif()
131
131
132+execute_process(COMMAND arch OUTPUT_VARIABLE ARCH)
133+if (NOT ARCH MATCHES "arm*")
134+ set(ENABLE_TOUCH_EMULATION true)
135+ add_definitions(-DUNITY8_ENABLE_TOUCH_EMULATION)
136+ pkg_check_modules(MOUSETOUCHADAPTOR_LIBS REQUIRED x11 xcb xi)
137+else()
138+ set(ENABLE_TOUCH_EMULATION false)
139+ message(STATUS "Touch emulation support disabled.")
140+endif()
141+
132# add subdirectories to build
142# add subdirectories to build
133add_subdirectory(include)
143add_subdirectory(include)
134add_subdirectory(libs)
144add_subdirectory(libs)
data/51-unity8-greeter.conf+3
@@ -1,2 +1,5 @@
1[Seat:*]
1[Seat:*]
2greeter-session=unity8-greeter
2greeter-session=unity8-greeter
3+
4+# When unity8 can be run under mir on the desktop, change this to unity.
5+type=xlocal
data/CMakeLists.txt+1−1
@@ -22,7 +22,7 @@ install(FILES
22 DESTINATION ${CMAKE_INSTALL_DATADIR}/lightdm/lightdm.conf.d
22 DESTINATION ${CMAKE_INSTALL_DATADIR}/lightdm/lightdm.conf.d
23 )
23 )
24
24
25− # install dash icon
25+# install dash icon
26install(FILES
26install(FILES
27 ${CMAKE_CURRENT_SOURCE_DIR}/${DASH_APP}.png
27 ${CMAKE_CURRENT_SOURCE_DIR}/${DASH_APP}.png
28 DESTINATION ${SHELL_APP_DIR}/Dash/
28 DESTINATION ${SHELL_APP_DIR}/Dash/
data/unity8-greeter-init.confnew file+12
@@ -0,0 +1,12 @@
1+description "Unity 8 Greeter initialization"
2+author "Michael Terry <mterry@ubuntu.com>"
3+
4+start on unity8-greeter-started
5+task
6+emits indicator-services-start
7+
8+script
9+ start --no-wait ofono-setup || true
10+ initctl emit --no-wait indicator-services-start || true
11+ start --no-wait maliit-server || true
12+end script
data/unity8-greeter-wrappernew file+98
@@ -0,0 +1,98 @@
1+#!/bin/sh
2+# -*- Mode: sh; indent-tabs-mode: nil; tab-width: 4 -*-
3+#
4+# Copyright (C) 2011,2013 Canonical Ltd
5+# Author: Michael Terry <michael.terry@canonical.com>
6+#
7+# This program is free software: you can redistribute it and/or modify it under
8+# the terms of the GNU General Public License as published by the Free Software
9+# Foundation, version 3 of the License.
10+#
11+# See http://www.gnu.org/copyleft/gpl.html the full text of the license.
12+
13+# This wrapper merely ensures that init and friends live only as long as this
14+# script does. Otherwise, it's very easy for some processes to not notice that
15+# the session died. We could try to do this in-process, but we want to do this
16+# cleanup even if the greeter aborts.
17+
18+trap cleanup TERM EXIT
19+
20+cleanup()
21+{
22+ trap - TERM EXIT
23+ # Kill upstart and indicators
24+ if [ -n "$INIT_PID" ]; then
25+ kill "$INIT_PID"
26+ fi
27+ if [ -n "$CMD_PID" ]; then
28+ kill "$CMD_PID"
29+ fi
30+ exit 0
31+}
32+
33+set_greeter_var()
34+{
35+ export "$1=$2"
36+ gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.UpdateActivationEnvironment "{'$1': '$2'}"
37+ if [ -n "$INIT_PID" ]; then
38+ initctl set-env --global "$1=$2"
39+ fi
40+}
41+
42+SUB_SOCKET=$XDG_RUNTIME_DIR/mir_socket
43+rm -f $SUB_SOCKET # clear socket in case we were hard shut down
44+
45+# If touch session script (which sets up grid units and mir variables) is available, use it
46+TOUCH_WRAPPER=
47+if [ -x /usr/bin/ubuntu-touch-session ]; then
48+ TOUCH_WRAPPER=/usr/bin/ubuntu-touch-session
49+fi
50+
51+# Pretend that we're in an ubuntu-touch session, so that indicator-network
52+# will start.
53+export DESKTOP_SESSION=ubuntu-touch
54+
55+# We disable ofono using pulse. It causes problems with racing with the user's
56+# pulse. We need to come up with a better long-term fix for this, because we
57+# eventually need the greeter to play ringtones for users that aren't logged in.
58+set_greeter_var PA_DISABLED 1
59+
60+# Normal unity8 sessions are entirely driven by Upstart. But greeters
61+# are special. They need access to the file descriptors that lightdm
62+# creates for them and don't want to start all the services that a normal
63+# session would. So it's inconvenient to live within an upstart session.
64+# But... we still want to use Upstart for some services. So launch here.
65+USC_SOCKET=$MIR_SOCKET MIR_SOCKET=$SUB_SOCKET $TOUCH_WRAPPER /sbin/upstart --user --no-startup-event &
66+INIT_PID=$!
67+while [ ! -e "$XDG_RUNTIME_DIR/upstart/sessions/$INIT_PID.session" ]; do sleep 0.1; done
68+export UPSTART_SESSION=$(/sbin/initctl list-sessions | grep "^$INIT_PID " | cut -d' ' -f2)
69+
70+# Start any pre-greeter tasks if needed (like wizard)
71+/sbin/initctl emit unity8-greeter-starting
72+
73+# Define language here for phone if available. When phone user switches their
74+# language, they expect that to affect the greeter too. But the user doesn't
75+# have permission to switch system language, only their own. So we notice if
76+# the phablet user exists and use their language if so. TODO: talk to design
77+# about whether we should switch language on fly as users are selected (this
78+# is very hard to do technically).
79+#
80+# Do this after unity8-greeter-starting, in case a customization upstart job
81+# changes language.
82+if [ "$(id -u phablet 2>/dev/null)" = "32011" ]; then
83+ USER_LANG=$(gdbus call --system --dest org.freedesktop.Accounts --object-path /org/freedesktop/Accounts/User32011 --method org.freedesktop.DBus.Properties.Get org.freedesktop.Accounts.User Language | cut -d\' -f2)
84+ if [ -n "$USER_LANG" ]; then
85+ set_greeter_var LANGUAGE "$USER_LANG"
86+ fi
87+ USER_LOCALE=$(gdbus call --system --dest org.freedesktop.Accounts --object-path /org/freedesktop/Accounts/User32011 --method org.freedesktop.DBus.Properties.Get org.freedesktop.Accounts.User FormatsLocale | cut -d\' -f2)
88+ if [ -n "$USER_LOCALE" ]; then
89+ set_greeter_var LANG "$USER_LOCALE"
90+ set_greeter_var LC_ALL "$USER_LOCALE"
91+ fi
92+fi
93+
94+# And finally actually start the greeter
95+exec env QT_QPA_PLATFORM=ubuntumirclient MIR_SERVER_FILE=$SUB_SOCKET $TOUCH_WRAPPER $@ &
96+CMD_PID=$!
97+wait $CMD_PID
98+CMD_PID=
data/unity8-greeter.desktop.in+2−1
@@ -2,5 +2,6 @@
2Type=Application
2Type=Application
3Name=Unity 8 Greeter
3Name=Unity 8 Greeter
4Comment=The converged Unity shell's Greeter
4Comment=The converged Unity shell's Greeter
5−Exec=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@/unity8 --mode=greeter
5+Exec=/usr/bin/unity8-greeter-wrapper /usr/bin/unity8 --mode=greeter
6+X-LightDM-Session-Type=mir
6X-Ubuntu-Touch=true
7X-Ubuntu-Touch=true
debian/changelog+75
@@ -1,3 +1,78 @@
1+unity8 (8.11+16.04.20160111.1-0ubuntu1) xenial; urgency=medium
2+
3+ [ Albert Astals Cid ]
4+ * Clear fake item icon name as soon as it goes invisible (LP:
5+ #1531172)
6+ * Fix LVWPH test failing on Xenial (Qt 5.5)
7+ * Fix dragging so that test passes on Xenial
8+ * Fix focus on the dash page header text field with new SDK (LP:
9+ #1528178)
10+ * Make the card creator test pass again
11+ * Quit the dash communicator thread before destroying it (LP:
12+ #1508485)
13+ * Remove duplicated override_dh_auto_clean
14+ * SDK changed the name they give to the buttons, follow
15+
16+ [ Andrea Cimitan ]
17+ * Fix a broken binding
18+
19+ [ CI Train Bot ]
20+ * Resync trunk.
21+ * Update translation template
22+
23+ [ Daniel d'Andrada ]
24+ * Have "make tryFoo" work with Qt 5.5
25+ * Make DragHandle tests run again.
26+
27+ [ Lukáš Tinkl ]
28+ * Fix dismissing the launcher when clicking/tapping outside (LP:
29+ #1531339, #1530940)
30+ * Fix panel drop shadow and click-to-focus of maximized apps (LP:
31+ #1531854)
32+ * Fix wifi access point indicator items signal strength icon on
33+ desktop
34+
35+ [ Michael Terry ]
36+ * Guard against a couple odd timing scenarios for the too-many-failed-
37+ login-attempts lockout screen.
38+ * Skip the wizard's password screens if there is already a password
39+ set by other means. (LP: #1531268)
40+ * Stop the emergency dialer from accidentally exposing the mtp
41+ service. (LP: #1525981)
42+
43+ [ Michael Zanetti ]
44+ * Make sure the triangle of the quicklist is in bounds (LP: #1531340)
45+
46+ [ Pawel Stolowski ]
47+ * Changes 'shareData' and 'contentType' attributes to 'share-data' and
48+ 'content-type', to match existing naming schema.
49+
50+ -- Michał Sawicz <michal.sawicz@canonical.com> Mon, 11 Jan 2016 17:38:49 +0000
51+
52+unity8 (8.11+16.04.20160107-0ubuntu1) xenial; urgency=medium
53+
54+ [ Albert Astals Cid ]
55+ * Introduce audio cards
56+
57+ [ CI Train Bot ]
58+ * Update translation template
59+
60+ [ Michael Zanetti ]
61+ * Introduce audio cards
62+
63+ -- CI Train Bot <ci-train-bot@canonical.com> Thu, 07 Jan 2016 08:04:47 +0000
64+
65+unity8 (8.11+16.04.20160105.1-0ubuntu1) xenial; urgency=medium
66+
67+ [ CI Train Bot ]
68+ * Resync trunk.
69+ * Update translation template
70+
71+ [ Nick Dedekind ]
72+ * Use volume-sync action to resync the volume control. (LP: #1520548)
73+
74+ -- Xavi Garcia <xavi.garcia.mena@canonical.com> Tue, 05 Jan 2016 13:55:38 +0000
75+
1unity8 (8.11+16.04.20151208.1-0ubuntu1) xenial; urgency=medium
76unity8 (8.11+16.04.20151208.1-0ubuntu1) xenial; urgency=medium
2
77
3 [ Albert Astals Cid ]
78 [ Albert Astals Cid ]
debian/control+9−4
@@ -30,9 +30,13 @@ Build-Depends: cmake,
30 libqt5xmlpatterns5-dev,
30 libqt5xmlpatterns5-dev,
31 libsystemsettings-dev,
31 libsystemsettings-dev,
32 libudev-dev,
32 libudev-dev,
33− libunity-api-dev (>= 7.104),
33+ libunity-api-dev (>= 7.105),
34 libusermetricsoutput1-dev,
34 libusermetricsoutput1-dev,
35+# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
36+ libx11-dev[!armhf],
35− libxcb1-dev,
37+ libxcb1-dev[!armhf],
38+ libxi-dev[!armhf],
39+# End of X11 libs
36 pkg-config,
40 pkg-config,
37 python3-all:any,
41 python3-all:any,
38 python3-setuptools,
42 python3-setuptools,
@@ -49,7 +53,7 @@ Build-Depends: cmake,
49 qtdeclarative5-dev (>= 5.4),
53 qtdeclarative5-dev (>= 5.4),
50 qtdeclarative5-dev-tools,
54 qtdeclarative5-dev-tools,
51 qtdeclarative5-private-dev (>= 5.4),
55 qtdeclarative5-private-dev (>= 5.4),
52− qtdeclarative5-qtmultimedia-plugin,
56+ qtdeclarative5-qtmultimedia-plugin (>= 5.4.1-1ubuntu19~overlay2),
53 qtdeclarative5-ubuntu-content1,
57 qtdeclarative5-ubuntu-content1,
54 qtdeclarative5-ubuntu-settings-components (>= 0.6),
58 qtdeclarative5-ubuntu-settings-components (>= 0.6),
55 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.3.1676) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.3.1676),
59 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.3.1676) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.3.1676),
@@ -77,6 +81,7 @@ Description: Indicators client test application
77Package: unity8-greeter
81Package: unity8-greeter
78Architecture: any
82Architecture: any
79Depends: unity8 (= ${binary:Version}),
83Depends: unity8 (= ${binary:Version}),
84+ unity-system-compositor,
80 ${misc:Depends},
85 ${misc:Depends},
81 ${shlibs:Depends}
86 ${shlibs:Depends}
82Recommends: lightdm
87Recommends: lightdm
@@ -142,7 +147,7 @@ Depends: qml-module-qtquick-layouts,
142 unity-application-impl-12,
147 unity-application-impl-12,
143 unity-notifications-impl-3,
148 unity-notifications-impl-3,
144 unity-plugin-scopes | unity-scopes-impl,
149 unity-plugin-scopes | unity-scopes-impl,
145− unity-scopes-impl-7,
150+ unity-scopes-impl-9,
146 unity8-fake-env | unity-application-impl,
151 unity8-fake-env | unity-application-impl,
147 ${misc:Depends},
152 ${misc:Depends},
148Breaks: unity8 (<< 7.86),
153Breaks: unity8 (<< 7.86),
debian/rules−4
@@ -11,10 +11,6 @@ export NO_PNG_PKG_MANGLE=1
11%:
11%:
12 dh $@ --parallel --fail-missing --with python3
12 dh $@ --parallel --fail-missing --with python3
13
13
14−override_dh_auto_clean:
15− dh_auto_clean
16− rm -rf builddir
17−
18override_dh_auto_configure:
14override_dh_auto_configure:
19 # Debian defines CMAKE_INSTALL_LOCALSTATEDIR as /usr/var, which is wrong.
15 # Debian defines CMAKE_INSTALL_LOCALSTATEDIR as /usr/var, which is wrong.
20 # So until Debian bug 719148 is fixed, do it ourselves.
16 # So until Debian bug 719148 is fixed, do it ourselves.
debian/unity8-greeter.install+2
@@ -1,2 +1,4 @@
1+data/unity8-greeter-wrapper usr/bin/
2+data/unity8-greeter-init.conf usr/share/upstart/sessions/
1usr/share/lightdm/greeters/unity8-greeter.desktop
3usr/share/lightdm/greeters/unity8-greeter.desktop
2usr/share/lightdm/lightdm.conf.d/51-unity8-greeter.conf
4usr/share/lightdm/lightdm.conf.d/51-unity8-greeter.conf
plugins/Dash/AudioProgressBar.qmlnew file+53
@@ -0,0 +1,53 @@
1+/*
2+ * Copyright 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.4
18+import Ubuntu.Components 1.3
19+import Dash 0.1
20+
21+Item {
22+ id: root
23+
24+ implicitHeight: progressBarImage.height
25+
26+ property url source
27+ readonly property double progress: AudioUrlComparer.compare(source, DashAudioPlayer.currentSource) ? DashAudioPlayer.progress : 0
28+
29+ Image {
30+ id: progressBarImage
31+ anchors { left: parent.left; right: parent.right }
32+ height: units.dp(6)
33+ source: "graphics/music_progress_bg.png"
34+ sourceSize.width: width
35+ sourceSize.height: height
36+ }
37+
38+ UbuntuShape {
39+ id: progressBarFill
40+ objectName: "progressBarFill"
41+
42+ readonly property int maxWidth: progressBarImage.width
43+
44+ anchors {
45+ left: progressBarImage.left
46+ right: progressBarImage.right
47+ verticalCenter: progressBarImage.verticalCenter
48+ rightMargin: maxWidth - (maxWidth * root.progress)
49+ }
50+ height: units.dp(2)
51+ backgroundColor: UbuntuColors.orange
52+ }
53+}
plugins/Dash/CMakeLists.txt+3
@@ -38,3 +38,6 @@ target_link_libraries(Dash-qml
38qt5_use_modules(Dash-qml Qml Quick Concurrent)
38qt5_use_modules(Dash-qml Qml Quick Concurrent)
39
39
40add_unity8_plugin(Dash 0.1 Dash TARGETS Dash-qml)
40add_unity8_plugin(Dash 0.1 Dash TARGETS Dash-qml)
41+
42+install(FILES graphics/music_progress_bg.png DESTINATION ${SHELL_INSTALL_QML}/Dash/graphics/)
43+file(COPY graphics/music_progress_bg.png DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/graphics/)
plugins/Dash/CardAudioProgress.qmlnew file+59
@@ -0,0 +1,59 @@
1+/*
2+ * Copyright 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.4
18+import Ubuntu.Components 1.3
19+import Dash 0.1
20+
21+Item {
22+ id: root
23+
24+ implicitHeight: positionLabel.y + positionLabel.height
25+ visible: AudioUrlComparer.compare(source, DashAudioPlayer.currentSource)
26+
27+ property int duration: 0
28+ property alias source: progress.source
29+ property color color: theme.palette.normal.baseText
30+ readonly property int position: root.visible ? DashAudioPlayer.position / 1000 : 0
31+
32+ AudioProgressBar {
33+ id: progress
34+ anchors { left: parent.left; right: parent.right }
35+ }
36+
37+ Label {
38+ id: positionLabel
39+ anchors {
40+ left: parent.left
41+ top: progress.bottom
42+ }
43+ verticalAlignment: Text.AlignBottom
44+ fontSize: "x-small"
45+ text: DashAudioPlayer.lengthToString(root.position)
46+ color: root.color
47+ }
48+
49+ Label {
50+ anchors {
51+ right: parent.right
52+ top: progress.bottom
53+ }
54+ verticalAlignment: Text.AlignBottom
55+ fontSize: "x-small"
56+ text: DashAudioPlayer.lengthToString(duration)
57+ color: root.color
58+ }
59+}
plugins/Dash/CardCreator.js+107−2
@@ -136,6 +136,43 @@ var kArtShapeHolderCode = 'Item { \n\
136 } \n\
136 } \n\
137 }\n';
137 }\n';
138
138
139+// %1 is anchors.fill
140+// %2 is width
141+// %3 is height
142+var kAudioButtonCode = 'AbstractButton { \n\
143+ id: audioButton; \n\
144+ anchors.fill: %1; \n\
145+ width: %2; \n\
146+ height: %3; \n\
147+ readonly property url source: (cardData["quickPreviewData"] && cardData["quickPreviewData"]["uri"]) || ""; \n\
148+ UbuntuShape { \n\
149+ anchors.fill: parent; \n\
150+ visible: parent.pressed; \n\
151+ radius: "medium"; \n\
152+ } \n\
153+ Icon { \n\
154+ anchors.fill: parent; \n\
155+ anchors.margins: parent.height > units.gu(5) ? units.gu(2) : 0; \n\
156+ opacity: 0.9; \n\
157+ name: DashAudioPlayer.playing && AudioUrlComparer.compare(parent.source, DashAudioPlayer.currentSource) ? "media-playback-pause" : "media-playback-start"; \n\
158+ } \n\
159+ onClicked: { \n\
160+ if (AudioUrlComparer.compare(source, DashAudioPlayer.currentSource)) { \n\
161+ if (DashAudioPlayer.playing) { \n\
162+ DashAudioPlayer.pause(); \n\
163+ } else { \n\
164+ DashAudioPlayer.play(); \n\
165+ } \n\
166+ } else { \n\
167+ var playlist = (cardData["quickPreviewData"] && cardData["quickPreviewData"]["playlist"]) || null; \n\
168+ DashAudioPlayer.playSource(source, playlist); \n\
169+ } \n\
170+ } \n\
171+ onPressAndHold: { \n\
172+ root.pressAndHold(); \n\
173+ } \n\
174+ }';
175+
139var kOverlayLoaderCode = 'Loader { \n\
176var kOverlayLoaderCode = 'Loader { \n\
140 id: overlayLoader; \n\
177 id: overlayLoader; \n\
141 readonly property real overlayHeight: (fixedHeaderHeight > 0 ? fixedHeaderHeight : headerHeight) + units.gu(2); \n\
178 readonly property real overlayHeight: (fixedHeaderHeight > 0 ? fixedHeaderHeight : headerHeight) + units.gu(2); \n\
@@ -316,6 +353,22 @@ var kSummaryLabelCode = 'Label { \n\
316 color: %3; \n\
353 color: %3; \n\
317 }\n';
354 }\n';
318
355
356+// %1 is used as bottom anchor of audio progress bar
357+// %2 is used as left anchor of audio progress bar
358+// %3 is used as text color
359+var kAudioProgressBarCode = 'CardAudioProgress { \n\
360+ id: audioProgressBar; \n\
361+ duration: (cardData["quickPreviewData"] && cardData["quickPreviewData"]["duration"]) || 0; \n\
362+ source: (cardData["quickPreviewData"] && cardData["quickPreviewData"]["uri"]) || ""; \n\
363+ anchors { \n\
364+ bottom: %1; \n\
365+ left: %2; \n\
366+ right: parent.right; \n\
367+ margins: units.gu(1); \n\
368+ } \n\
369+ color: %3; \n\
370+ }';
371+
319function cardString(template, components) {
372function cardString(template, components) {
320 var code;
373 var code;
321
374
@@ -351,7 +404,20 @@ function cardString(template, components) {
351 var headerAsOverlay = hasArt && template && template["overlay"] === true && (hasTitle || hasMascot);
404 var headerAsOverlay = hasArt && template && template["overlay"] === true && (hasTitle || hasMascot);
352 var hasSubtitle = hasTitle && components["subtitle"] || false;
405 var hasSubtitle = hasTitle && components["subtitle"] || false;
353 var hasHeaderRow = hasMascot && hasTitle;
406 var hasHeaderRow = hasMascot && hasTitle;
354− var hasAttributes = hasTitle && components["attributes"]["field"] || false;
407+ var hasAttributes = hasTitle && components["attributes"] && components["attributes"]["field"] || false;
408+ var isAudio = template["quick-preview-type"] === "audio";
409+
410+ if (isAudio) {
411+ // For now we only support audio cards with [optional] art, title, subtitle
412+ // in horizontal mode
413+ // Anything else makes it behave not like an audio card
414+ if (hasSummary) isAudio = false;
415+ if (!isHorizontal) isAudio = false;
416+ if (hasMascot) isAudio = false;
417+ if (hasEmblem) isAudio = false;
418+ if (headerAsOverlay) isAudio = false;
419+ if (hasAttributes) isAudio = false;
420+ }
355
421
356 if (hasBackground) {
422 if (hasBackground) {
357 var templateCardBackground = (template && typeof template["card-background"] === "string") ? template["card-background"] : "";
423 var templateCardBackground = (template && typeof template["card-background"] === "string") ? template["card-background"] : "";
@@ -421,17 +487,22 @@ function cardString(template, components) {
421 topMargin: units.gu(1);\n';
487 topMargin: units.gu(1);\n';
422 }
488 }
423 }
489 }
490+
424 var headerLeftAnchor;
491 var headerLeftAnchor;
425 var headerLeftAnchorHasMargin = false;
492 var headerLeftAnchorHasMargin = false;
426 if (isHorizontal && hasArt) {
493 if (isHorizontal && hasArt) {
427 headerLeftAnchor = 'left: artShapeHolder.right; \n\
494 headerLeftAnchor = 'left: artShapeHolder.right; \n\
428 leftMargin: units.gu(1);\n';
495 leftMargin: units.gu(1);\n';
429 headerLeftAnchorHasMargin = true;
496 headerLeftAnchorHasMargin = true;
497+ } else if (isHorizontal && isAudio) {
498+ headerLeftAnchor = 'left: audioButton.right; \n\
499+ leftMargin: units.gu(1);\n';
500+ headerLeftAnchorHasMargin = true;
430 } else {
501 } else {
431 headerLeftAnchor = 'left: parent.left;\n';
502 headerLeftAnchor = 'left: parent.left;\n';
432 }
503 }
433
504
434− var touchdownOnArtShape = !hasBackground && hasArt && !hasMascot && !hasSummary;
505+ var touchdownOnArtShape = !hasBackground && hasArt && !hasMascot && !hasSummary && !isAudio;
435
506
436 if (hasHeaderRow) {
507 if (hasHeaderRow) {
437 code += 'readonly property int headerHeight: row.height;\n'
508 code += 'readonly property int headerHeight: row.height;\n'
@@ -445,6 +516,14 @@ function cardString(template, components) {
445 } else {
516 } else {
446 code += 'readonly property int headerHeight: attributesRow.height;\n'
517 code += 'readonly property int headerHeight: attributesRow.height;\n'
447 }
518 }
519+ } else if (isAudio) {
520+ if (hasSubtitle) {
521+ code += 'readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin + audioProgressBar.height + audioProgressBar.anchors.topMargin;\n'
522+ } else if (hasTitle) {
523+ code += 'readonly property int headerHeight: titleLabel.height + audioProgressBar.height + audioProgressBar.anchors.topMargin;\n'
524+ } else {
525+ code += 'readonly property int headerHeight: audioProgressBar.height;\n'
526+ }
448 } else if (hasSubtitle) {
527 } else if (hasSubtitle) {
449 code += 'readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin;\n'
528 code += 'readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin;\n'
450 } else if (hasTitle) {
529 } else if (hasTitle) {
@@ -632,6 +711,30 @@ function cardString(template, components) {
632 code += mascotShapeCode + mascotCode + titleSubtitleCode;
711 code += mascotShapeCode + mascotCode + titleSubtitleCode;
633 }
712 }
634
713
714+ if (isAudio) {
715+ var audioProgressBarLeftAnchor = 'audioButton.right';
716+ var audioProgressBarBottomAnchor = 'audioButton.bottom';
717+ var audioProgressBarTextColor = 'root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText';
718+
719+ code += kAudioProgressBarCode.arg(audioProgressBarBottomAnchor)
720+ .arg(audioProgressBarLeftAnchor)
721+ .arg(audioProgressBarTextColor);
722+
723+ var audioButtonAnchorsFill;
724+ var audioButtonWidth;
725+ var audioButtonHeight;
726+ if (hasArt) {
727+ audioButtonAnchorsFill = 'artShapeHolder';
728+ audioButtonWidth = 'undefined';
729+ audioButtonHeight = 'undefined';
730+ } else {
731+ audioButtonAnchorsFill = 'undefined';
732+ audioButtonWidth = 'height';
733+ audioButtonHeight = '(root.fixedHeaderHeight > 0 ? root.fixedHeaderHeight : headerHeight) + 2 * units.gu(1)';
734+ }
735+ code += kAudioButtonCode.arg(audioButtonAnchorsFill).arg(audioButtonWidth).arg(audioButtonHeight);
736+ }
737+
635 if (hasSummary) {
738 if (hasSummary) {
636 var summaryTopAnchor;
739 var summaryTopAnchor;
637 if (isHorizontal && hasArt) summaryTopAnchor = 'artShapeHolder.bottom';
740 if (isHorizontal && hasArt) summaryTopAnchor = 'artShapeHolder.bottom';
@@ -670,6 +773,8 @@ function cardString(template, components) {
670 var implicitHeight = 'implicitHeight: ';
773 var implicitHeight = 'implicitHeight: ';
671 if (hasSummary) {
774 if (hasSummary) {
672 implicitHeight += 'summary.y + summary.height + units.gu(1);\n';
775 implicitHeight += 'summary.y + summary.height + units.gu(1);\n';
776+ } else if (isAudio) {
777+ implicitHeight += 'audioButton.height;\n';
673 } else if (headerAsOverlay) {
778 } else if (headerAsOverlay) {
674 implicitHeight += 'artShapeHolder.height;\n';
779 implicitHeight += 'artShapeHolder.height;\n';
675 } else if (hasHeaderRow) {
780 } else if (hasHeaderRow) {
plugins/Dash/DashAudioPlayer.qmlnew file+96
@@ -0,0 +1,96 @@
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+pragma Singleton
18+import QtQuick 2.4
19+import QtMultimedia 5.6
20+import Dash 0.1
21+
22+QtObject {
23+ readonly property real progress: audio.position / audio.duration
24+ readonly property bool playing: audio.playbackState === Audio.PlayingState
25+ readonly property bool paused: audio.playbackState === Audio.PausedState
26+ readonly property bool stopped: audio.playbackState === Audio.StoppedState
27+ readonly property alias position: audio.position
28+ readonly property url currentSource: audio.playlist.currentItemSource
29+
30+ function playSource(newSource, newPlaylist) {
31+ stop();
32+ audio.playlist.clear();
33+ if (newPlaylist) {
34+ // Look for newSource in newPlaylist
35+ var sourceIndex = -1;
36+ for (var i in newPlaylist) {
37+ if (AudioUrlComparer.compare(newSource, newPlaylist[i])) {
38+ sourceIndex = i;
39+ break;
40+ }
41+ }
42+ var urls = [];
43+ if (sourceIndex === -1 && newSource != "") {
44+ // If the playing song is not in the playlist, add it
45+ urls.push(newSource);
46+ sourceIndex = 0;
47+ }
48+ for (var i in newPlaylist) {
49+ urls.push(newPlaylist[i]);
50+ }
51+ audio.playlist.addItems(urls);
52+ audio.playlist.currentIndex = sourceIndex;
53+ } else {
54+ audio.playlist.addItem(newSource);
55+ audio.playlist.currentIndex = 0;
56+ }
57+ play();
58+ }
59+
60+ function stop() {
61+ audio.stop();
62+ }
63+
64+ function play() {
65+ audio.play();
66+ }
67+
68+ function pause() {
69+ audio.pause();
70+ }
71+
72+ property QtObject audio: Audio {
73+ id: audio
74+ objectName: "audio"
75+ playlist: Playlist {
76+ objectName: "playlist"
77+ }
78+
79+ onErrorStringChanged: console.warn("Dash Audio player error:", errorString)
80+ }
81+
82+ function lengthToString(s) {
83+ if (typeof(s) !== "number" || s < 0) return "";
84+
85+ var sec = "" + s % 60;
86+ if (sec.length == 1) sec = "0" + sec;
87+ var hour = Math.floor(s / 3600);
88+ if (hour < 1) {
89+ return Math.floor(s / 60) + ":" + sec;
90+ } else {
91+ var min = "" + Math.floor(s / 60) % 60;
92+ if (min.length == 1) min = "0" + min;
93+ return hour + ":" + min + ":" + sec;
94+ }
95+ }
96+}
plugins/Dash/graphics/music_progress_bg.pngnew file

Binary file not shown.

plugins/Dash/listviewwithpageheader.cpp+5−1
@@ -1177,7 +1177,7 @@ void ListViewWithPageHeader::headerHeightChanged(qreal newHeaderHeight, qreal ol
1177
1177
1178void ListViewWithPageHeader::adjustMinYExtent()
1178void ListViewWithPageHeader::adjustMinYExtent()
1179{
1179{
1180− if (m_visibleItems.isEmpty()) {
1180+ if (m_visibleItems.isEmpty() || contentHeight() < height()) {
1181 m_minYExtent = 0;
1181 m_minYExtent = 0;
1182 } else {
1182 } else {
1183 qreal nonCreatedHeight = 0;
1183 qreal nonCreatedHeight = 0;
@@ -1359,6 +1359,10 @@ void ListViewWithPageHeader::updatePolish()
1359
1359
1360 m_contentHeightDirty = false;
1360 m_contentHeightDirty = false;
1361 adjustMinYExtent();
1361 adjustMinYExtent();
1362+ if (contentHeight < height()) {
1363+ // need this since in the previous call to adjustMinYExtent contentHeight is not set yet
1364+ m_minYExtent = 0;
1365+ }
1362 m_inContentHeightKeepHeaderShown = m_headerItem && m_headerItem->y() == contentY();
1366 m_inContentHeightKeepHeaderShown = m_headerItem && m_headerItem->y() == contentY();
1363 setContentHeight(contentHeight);
1367 setContentHeight(contentHeight);
1364 m_inContentHeightKeepHeaderShown = false;
1368 m_inContentHeightKeepHeaderShown = false;
plugins/Dash/plugin.cpp+35
@@ -23,6 +23,38 @@
23#include "verticaljournal.h"
23#include "verticaljournal.h"
24
24
25#include <QAbstractItemModel>
25#include <QAbstractItemModel>
26+#include <QUrlQuery>
27+
28+static QUrl oauthCleanedUrl(QUrl u)
29+{
30+ QUrlQuery q(u);
31+ q.removeQueryItem("oauth_nonce");
32+ q.removeQueryItem("oauth_timestamp");
33+ q.removeQueryItem("oauth_consumer_key");
34+ q.removeQueryItem("oauth_signature_method");
35+ q.removeQueryItem("oauth_version");
36+ q.removeQueryItem("oauth_signature");
37+ u.setQuery(q);
38+ return u;
39+}
40+
41+class AudioComparer : public QObject
42+{
43+ Q_OBJECT
44+public:
45+ Q_INVOKABLE bool compare(const QUrl &url1, const QUrl &url2)
46+ {
47+ return oauthCleanedUrl(url1) == oauthCleanedUrl(url2);
48+ }
49+};
50+
51+static QObject *audio_comparer_singleton_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
52+{
53+ Q_UNUSED(engine)
54+ Q_UNUSED(scriptEngine)
55+
56+ return new AudioComparer();
57+}
26
58
27void DashPlugin::registerTypes(const char *uri)
59void DashPlugin::registerTypes(const char *uri)
28{
60{
@@ -32,4 +64,7 @@ void DashPlugin::registerTypes(const char *uri)
32 qmlRegisterType<ListViewWithPageHeader>(uri, 0, 1, "ListViewWithPageHeader");
64 qmlRegisterType<ListViewWithPageHeader>(uri, 0, 1, "ListViewWithPageHeader");
33 qmlRegisterType<OrganicGrid>(uri, 0, 1, "OrganicGrid");
65 qmlRegisterType<OrganicGrid>(uri, 0, 1, "OrganicGrid");
34 qmlRegisterType<VerticalJournal>(uri, 0, 1, "VerticalJournal");
66 qmlRegisterType<VerticalJournal>(uri, 0, 1, "VerticalJournal");
67+ qmlRegisterSingletonType<AudioComparer>(uri, 0, 1, "AudioUrlComparer", audio_comparer_singleton_provider);
35}
68}
69+
70+#include "plugin.moc"
plugins/Dash/qmldir+3
@@ -2,6 +2,9 @@ module Dash
2plugin Dash-qml
2plugin Dash-qml
3typeinfo Dash.qmltypes
3typeinfo Dash.qmltypes
4singleton CardCreatorCache 0.1 CardCreatorCache.qml
4singleton CardCreatorCache 0.1 CardCreatorCache.qml
5+singleton DashAudioPlayer 0.1 DashAudioPlayer.qml
5ScopeStyle 0.1 ScopeStyle.qml
6ScopeStyle 0.1 ScopeStyle.qml
6CardAttributes 0.1 CardAttributes.qml
7CardAttributes 0.1 CardAttributes.qml
7CroppedImageMinimumSourceSize 0.1 CroppedImageMinimumSourceSize.qml
8CroppedImageMinimumSourceSize 0.1 CroppedImageMinimumSourceSize.qml
9+AudioProgressBar 0.1 AudioProgressBar.qml
10+CardAudioProgress 0.1 CardAudioProgress.qml
plugins/Ubuntu/Gestures/DirectionalDragArea.cpp+8−2
@@ -715,8 +715,14 @@ void DirectionalDragArea::itemChange(ItemChange change, const ItemChangeData &va
715 value.window->installEventFilter(TouchRegistry::instance());
715 value.window->installEventFilter(TouchRegistry::instance());
716
716
717 // TODO: Handle window->screen() changes (ie window changing screens)
717 // TODO: Handle window->screen() changes (ie window changing screens)
718+
718− qreal pixelsPerMm = value.window->screen()->physicalDotsPerInch() / 25.4;
719+ qreal pixelsPerInch = value.window->screen()->physicalDotsPerInch();
719− d->setPixelsPerMm(pixelsPerMm);
720+ if (pixelsPerInch < 0) {
721+ // It can return garbage when run in a XVFB server (Virtual Framebuffer 'fake' X server)
722+ pixelsPerInch = 72;
723+ }
724+
725+ d->setPixelsPerMm(pixelsPerInch / 25.4);
720 }
726 }
721 }
727 }
722}
728}
plugins/Unity/DashCommunicator/dashcommunicator.cpp+6
@@ -27,6 +27,12 @@ DashCommunicator::DashCommunicator(QObject *parent):
27 start();
27 start();
28}
28}
29
29
30+DashCommunicator::~DashCommunicator()
31+{
32+ quit();
33+ wait();
34+}
35+
30void DashCommunicator::setCurrentScope(int index, bool animate, bool isSwipe)
36void DashCommunicator::setCurrentScope(int index, bool animate, bool isSwipe)
31{
37{
32 m_mutex.lock();
38 m_mutex.lock();
plugins/Unity/DashCommunicator/dashcommunicator.h+1−1
@@ -28,7 +28,7 @@ class DashCommunicator: public QThread
28 Q_OBJECT
28 Q_OBJECT
29public:
29public:
30 explicit DashCommunicator(QObject *parent = 0);
30 explicit DashCommunicator(QObject *parent = 0);
31− ~DashCommunicator() = default;
31+ ~DashCommunicator();
32
32
33public Q_SLOTS:
33public Q_SLOTS:
34 void setCurrentScope(int index, bool animate, bool isSwipe);
34 void setCurrentScope(int index, bool animate, bool isSwipe);
po/am.po+6−4
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-11-19 19:27+0000\n"
11"PO-Revision-Date: 2015-11-19 19:27+0000\n"
12"Last-Translator: samson <Unknown>\n"
12"Last-Translator: samson <Unknown>\n"
13"Language-Team: Amharic <am@li.org>\n"
13"Language-Team: Amharic <am@li.org>\n"
14+"Language: am\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -752,7 +753,8 @@ msgstr "%1 〉"
752#~ "You have now mastered the edge gestures and can start using the "
753#~ "You have now mastered the edge gestures and can start using the "
753#~ "phone<br><br>Tap on the screen to start"
754#~ "phone<br><br>Tap on the screen to start"
754#~ msgstr ""
755#~ msgstr ""
755−#~ "አሁን የ ጠርዝ እንቅስቃሴን አውቀዋል እና መጀመር ይችላሉ ስልኩን መጠቀም <br><br>መመልከቻውን መታ ያድርጉ ለመጀመር"
756+#~ "አሁን የ ጠርዝ እንቅስቃሴን አውቀዋል እና መጀመር ይችላሉ ስልኩን መጠቀም <br><br>መመልከቻውን መታ ያድርጉ "
757+#~ "ለመጀመር"
756
758
757#~ msgid "Restart"
759#~ msgid "Restart"
758#~ msgstr "እንደገና ማስጀመሪያ"
760#~ msgstr "እንደገና ማስጀመሪያ"
po/ar.po+7−7
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-29 09:41+0000\n"
11"PO-Revision-Date: 2015-07-29 09:41+0000\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
13"Language-Team: Arabic <ar@li.org>\n"
13"Language-Team: Arabic <ar@li.org>\n"
14+"Language: ar\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
18"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
19"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
@@ -530,8 +531,7 @@ msgstr "أدخِل شريحة SIM ثم أعِد تشغيل الجهاز"
530
531
531#: qml/Wizard/Pages/20-sim.qml:59
532#: qml/Wizard/Pages/20-sim.qml:59
532msgid "Without it, you won’t be able to make calls or use text messaging."
533msgid "Without it, you won’t be able to make calls or use text messaging."
533−msgstr ""
534−"بدونها لن تتمكن من إجراء أي مكالمات هاتفية أو استخدام الرسائل النصية."
534+msgstr "بدونها لن تتمكن من إجراء أي مكالمات هاتفية أو استخدام الرسائل النصية."
535
535
536#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
536#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
537msgid "Skip"
537msgid "Skip"
@@ -748,8 +748,8 @@ msgstr ""
748#~ "You have now mastered the edge gestures and can start using the "
748#~ "You have now mastered the edge gestures and can start using the "
749#~ "phone<br><br>Tap on the screen to start"
749#~ "phone<br><br>Tap on the screen to start"
750#~ msgstr ""
750#~ msgstr ""
751−#~ "أنت الآن بارع في إيماءات الحواف ويمكنك البدء باستخدام هاتفك<br><br>انقر على "
751+#~ "أنت الآن بارع في إيماءات الحواف ويمكنك البدء باستخدام هاتفك<br><br>انقر "
752−#~ "الشاشة للبدء"
752+#~ "على الشاشة للبدء"
753
753
754#~ msgid "%a %l:%M %p"
754#~ msgid "%a %l:%M %p"
755#~ msgstr "%a %l:%M %p"
755#~ msgstr "%a %l:%M %p"
po/ast.po+8−9
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-10-06 12:07+0000\n"
11"PO-Revision-Date: 2015-10-06 12:07+0000\n"
12"Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n"
12"Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n"
13"Language-Team: Asturian <ast@li.org>\n"
13"Language-Team: Asturian <ast@li.org>\n"
14+"Language: ast\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -45,8 +46,7 @@ msgstr "Quedasti bloquiáu polos escesivos intentos fallíos de fras de pasu."
45
46
46#: qml/Components/DelayedLockscreen.qml:65
47#: qml/Components/DelayedLockscreen.qml:65
47msgid "You have been locked out due to too many failed passcode attempts."
48msgid "You have been locked out due to too many failed passcode attempts."
48−msgstr ""
49−"Quedasti bloquiáu polos escesivos intentos fallíos de códigu de pasu."
49+msgstr "Quedasti bloquiáu polos escesivos intentos fallíos de códigu de pasu."
50
50
51#: qml/Components/DelayedLockscreen.qml:74
51#: qml/Components/DelayedLockscreen.qml:74
52#, qt-format
52#, qt-format
@@ -582,8 +582,7 @@ msgstr "Namái usando GPS (menos precisión)"
582
582
583#: qml/Wizard/Pages/50-location.qml:86
583#: qml/Wizard/Pages/50-location.qml:86
584msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
584msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
585−msgstr ""
586−"Usando GPS, Wi-fi anónimes ya información de redes móviles (aconseyao)"
585+msgstr "Usando GPS, Wi-fi anónimes ya información de redes móviles (aconseyao)"
587
586
588#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
587#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
589#: qml/Wizard/Pages/50-location.qml:103
588#: qml/Wizard/Pages/50-location.qml:103
@@ -701,8 +700,8 @@ msgstr "%1 〉"
701
700
702#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
701#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
703#~ msgstr ""
702#~ msgstr ""
704−#~ "Esliza'l deu dende la esquierda p'amosar el llanzador y acceder rápidamente "
703+#~ "Esliza'l deu dende la esquierda p'amosar el llanzador y acceder "
705−#~ "a les aplicaciones"
704+#~ "rápidamente a les aplicaciones"
706
705
707#~ msgid "Well done"
706#~ msgid "Well done"
708#~ msgstr "Bien fecho"
707#~ msgstr "Bien fecho"
po/az.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-09-03 16:39+0000\n"
11"PO-Revision-Date: 2014-09-03 16:39+0000\n"
12"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
12"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
13"Language-Team: Azerbaijani <az@li.org>\n"
13"Language-Team: Azerbaijani <az@li.org>\n"
14+"Language: az\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/be.po+9−9
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-12-13 13:12+0000\n"
11"PO-Revision-Date: 2015-12-13 13:12+0000\n"
12"Last-Translator: Mikhail_SaTuRn <mikhail_saturn@tut.by>\n"
12"Last-Translator: Mikhail_SaTuRn <mikhail_saturn@tut.by>\n"
13"Language-Team: Belarusian <be@li.org>\n"
13"Language-Team: Belarusian <be@li.org>\n"
14+"Language: be\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17−"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
18−"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19−"X-Launchpad-Export-Date: 2015-12-14 05:32+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
@@ -42,8 +43,7 @@ msgstr "Прылада заблакаваная"
42
43
43#: qml/Components/DelayedLockscreen.qml:64
44#: qml/Components/DelayedLockscreen.qml:64
44msgid "You have been locked out due to too many failed passphrase attempts."
45msgid "You have been locked out due to too many failed passphrase attempts."
45−msgstr ""
46−"Вы былі заблакаваныя з-за занадта вялікай колькасці няўдалых спробаў."
46+msgstr "Вы былі заблакаваныя з-за занадта вялікай колькасці няўдалых спробаў."
47
47
48#: qml/Components/DelayedLockscreen.qml:65
48#: qml/Components/DelayedLockscreen.qml:65
49msgid "You have been locked out due to too many failed passcode attempts."
49msgid "You have been locked out due to too many failed passcode attempts."
@@ -735,8 +735,8 @@ msgstr "%1 〉"
735
735
736#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
736#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
737#~ msgstr ""
737#~ msgstr ""
738−#~ "Правядзіце пальцам ад левага краю, каб адкрыць панэль запуску для паскарэння "
738+#~ "Правядзіце пальцам ад левага краю, каб адкрыць панэль запуску для "
739−#~ "доступу да праграм"
739+#~ "паскарэння доступу да праграм"
740
740
741#~ msgid "Skip intro"
741#~ msgid "Skip intro"
742#~ msgstr "Прапусціць уводзіны"
742#~ msgstr "Прапусціць уводзіны"
po/bg.po+6−5
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-04-12 14:43+0000\n"
11"PO-Revision-Date: 2015-04-12 14:43+0000\n"
12"Last-Translator: George Karavasilev <kokoto-java@ubuntu.com>\n"
12"Last-Translator: George Karavasilev <kokoto-java@ubuntu.com>\n"
13"Language-Team: Bulgarian <bg@li.org>\n"
13"Language-Team: Bulgarian <bg@li.org>\n"
14+"Language: bg\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -710,8 +711,8 @@ msgstr ""
710
711
711#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
712#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
712#~ msgstr ""
713#~ msgstr ""
713−#~ "Приплъзнете пръста си от левия край към десния, за да отворите стартера за "
714+#~ "Приплъзнете пръста си от левия край към десния, за да отворите стартера "
714−#~ "бърз достъп до приложенията"
715+#~ "за бърз достъп до приложенията"
715
716
716#~ msgid "Try swiping from the right edge to unlock the phone"
717#~ msgid "Try swiping from the right edge to unlock the phone"
717#~ msgstr ""
718#~ msgstr ""
po/bn.po+164−101
@@ -6,26 +6,27 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-11-27 19:38+0000\n"
11"PO-Revision-Date: 2015-11-27 19:38+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Bengali <bn@li.org>\n"
13"Language-Team: Bengali <bn@li.org>\n"
14+"Language: bn\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
23−msgstr ""
24+msgstr "পাসওয়ার্ড: "
24
25
25#: plugins/Unity/Launcher/launcheritem.cpp:47
26#: plugins/Unity/Launcher/launcheritem.cpp:47
26#: plugins/Unity/Launcher/launcheritem.cpp:106
27#: plugins/Unity/Launcher/launcheritem.cpp:106
27msgid "Pin shortcut"
28msgid "Pin shortcut"
28−msgstr ""
29+msgstr "পিন"
29
30
30#: plugins/Unity/Launcher/launcheritem.cpp:52
31#: plugins/Unity/Launcher/launcheritem.cpp:52
31msgid "Quit"
32msgid "Quit"
@@ -33,26 +34,26 @@ msgstr ""
33
34
34#: plugins/Unity/Launcher/launcheritem.cpp:106
35#: plugins/Unity/Launcher/launcheritem.cpp:106
35msgid "Unpin shortcut"
36msgid "Unpin shortcut"
36−msgstr ""
37+msgstr "আনপিন"
37
38
38#: qml/Components/DelayedLockscreen.qml:49
39#: qml/Components/DelayedLockscreen.qml:49
39msgid "Device Locked"
40msgid "Device Locked"
40−msgstr ""
41+msgstr "ডিভাইসটি লক করা"
41
42
42#: qml/Components/DelayedLockscreen.qml:64
43#: qml/Components/DelayedLockscreen.qml:64
43msgid "You have been locked out due to too many failed passphrase attempts."
44msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45+msgstr "অধিকবার পাসফ্রেজ ভুল দেওয়ার কারনে আপনার আইডি লক করা হয়েছে"
45
46
46#: qml/Components/DelayedLockscreen.qml:65
47#: qml/Components/DelayedLockscreen.qml:65
47msgid "You have been locked out due to too many failed passcode attempts."
48msgid "You have been locked out due to too many failed passcode attempts."
48−msgstr ""
49+msgstr "অধিকবার পাসকোড ভুল করার কারনে আপনার আইডি লক করা হয়েছে"
49
50
50#: qml/Components/DelayedLockscreen.qml:74
51#: qml/Components/DelayedLockscreen.qml:74
51#, qt-format
52#, qt-format
52msgid "Please wait %1 minute and then try again…"
53msgid "Please wait %1 minute and then try again…"
53msgid_plural "Please wait %1 minutes and then try again…"
54msgid_plural "Please wait %1 minutes and then try again…"
54−msgstr[0] ""
55+msgstr[0] "অনুগ্রহ করে %1 মিনিট অপেক্ষা করুন এবং পরবর্তীতে চেষ্টা করুন..."
55−msgstr[1] ""
56+msgstr[1] "অনুগ্রহ করে %1 মিনিট অপেক্ষা করুন এবং পরবর্তীতে চেষ্টা করুন..."
56
57
57#: qml/Components/Dialogs.qml:144
58#: qml/Components/Dialogs.qml:144
58msgctxt "Title: Lock/Log out dialog"
59msgctxt "Title: Lock/Log out dialog"
@@ -61,12 +62,12 @@ msgstr ""
61
62
62#: qml/Components/Dialogs.qml:145
63#: qml/Components/Dialogs.qml:145
63msgid "Are you sure you want to log out?"
64msgid "Are you sure you want to log out?"
64−msgstr ""
65+msgstr "আপনি কি লগ আউট করতে চান?"
65
66
66#: qml/Components/Dialogs.qml:147
67#: qml/Components/Dialogs.qml:147
67msgctxt "Button: Lock the system"
68msgctxt "Button: Lock the system"
68msgid "Lock"
69msgid "Lock"
69−msgstr ""
70+msgstr "লক করুন"
70
71
71#: qml/Components/Dialogs.qml:154
72#: qml/Components/Dialogs.qml:154
72msgctxt "Button: Log out from the system"
73msgctxt "Button: Log out from the system"
@@ -76,43 +77,43 @@ msgstr ""
76#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:194
77#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:194
77#: qml/Components/Dialogs.qml:253
78#: qml/Components/Dialogs.qml:253
78msgid "Cancel"
79msgid "Cancel"
79−msgstr ""
80+msgstr "বাতিল"
80
81
81#: qml/Components/Dialogs.qml:173
82#: qml/Components/Dialogs.qml:173
82msgctxt "Title: Reboot/Shut down dialog"
83msgctxt "Title: Reboot/Shut down dialog"
83msgid "Shut down"
84msgid "Shut down"
84−msgstr ""
85+msgstr "বন্ধ করুন"
85
86
86#: qml/Components/Dialogs.qml:174
87#: qml/Components/Dialogs.qml:174
87msgid "Are you sure you want to shut down?"
88msgid "Are you sure you want to shut down?"
88−msgstr ""
89+msgstr "আপনি কি কম্পিউটার বন্ধ করতে চান?"
89
90
90#: qml/Components/Dialogs.qml:176
91#: qml/Components/Dialogs.qml:176
91msgctxt "Button: Reboot the system"
92msgctxt "Button: Reboot the system"
92msgid "Reboot"
93msgid "Reboot"
93−msgstr ""
94+msgstr "পুনরায় চালু করুন"
94
95
95#: qml/Components/Dialogs.qml:185
96#: qml/Components/Dialogs.qml:185
96msgctxt "Button: Shut down the system"
97msgctxt "Button: Shut down the system"
97msgid "Shut down"
98msgid "Shut down"
98−msgstr ""
99+msgstr "বন্ধ করুন"
99
100
100#: qml/Components/Dialogs.qml:207
101#: qml/Components/Dialogs.qml:207
101msgctxt "Title: Reboot dialog"
102msgctxt "Title: Reboot dialog"
102msgid "Reboot"
103msgid "Reboot"
103−msgstr ""
104+msgstr "পুনরায় চালু"
104
105
105#: qml/Components/Dialogs.qml:208
106#: qml/Components/Dialogs.qml:208
106msgid "Are you sure you want to reboot?"
107msgid "Are you sure you want to reboot?"
107−msgstr ""
108+msgstr "আপনি কি পুনরায় চালু করতে চান?"
108
109
109#: qml/Components/Dialogs.qml:210
110#: qml/Components/Dialogs.qml:210
110msgid "No"
111msgid "No"
111−msgstr ""
112+msgstr "না"
112
113
113#: qml/Components/Dialogs.qml:217
114#: qml/Components/Dialogs.qml:217
114msgid "Yes"
115msgid "Yes"
115−msgstr ""
116+msgstr "হ্যাঁ"
116
117
117#: qml/Components/Dialogs.qml:232
118#: qml/Components/Dialogs.qml:232
118msgctxt "Title: Power off/Restart dialog"
119msgctxt "Title: Power off/Restart dialog"
@@ -124,28 +125,30 @@ msgid ""
124"Are you sure you would like\n"
125"Are you sure you would like\n"
125"to power off?"
126"to power off?"
126msgstr ""
127msgstr ""
128+"আপনি নিশ্চিত যে আপনি\n"
129+"বন্ধ করতে চান?"
127
130
128#: qml/Components/Dialogs.qml:235
131#: qml/Components/Dialogs.qml:235
129msgctxt "Button: Power off the system"
132msgctxt "Button: Power off the system"
130msgid "Power off"
133msgid "Power off"
131−msgstr ""
134+msgstr "বন্ধ করুন"
132
135
133#: qml/Components/Dialogs.qml:244
136#: qml/Components/Dialogs.qml:244
134msgctxt "Button: Restart the system"
137msgctxt "Button: Restart the system"
135msgid "Restart"
138msgid "Restart"
136−msgstr ""
139+msgstr "পুনরায় চালু"
137
140
138#: qml/Components/Lockscreen.qml:245
141#: qml/Components/Lockscreen.qml:245
139msgid "Return to Call"
142msgid "Return to Call"
140−msgstr ""
143+msgstr "কল এ ফিরে যান"
141
144
142#: qml/Components/Lockscreen.qml:245
145#: qml/Components/Lockscreen.qml:245
143msgid "Emergency Call"
146msgid "Emergency Call"
144−msgstr ""
147+msgstr "জরুরী কল"
145
148
146#: qml/Components/Lockscreen.qml:277
149#: qml/Components/Lockscreen.qml:277
147msgid "OK"
150msgid "OK"
148−msgstr ""
151+msgstr "ঠিক আছে"
149
152
150#: qml/Components/ModeSwitchWarningDialog.qml:32
153#: qml/Components/ModeSwitchWarningDialog.qml:32
151msgid "Apps may have unsaved data:"
154msgid "Apps may have unsaved data:"
@@ -174,59 +177,59 @@ msgstr ""
174#: qml/Dash/DashPageHeader.qml:265
177#: qml/Dash/DashPageHeader.qml:265
175msgctxt "Button: Open the Ubuntu Store"
178msgctxt "Button: Open the Ubuntu Store"
176msgid "Store"
179msgid "Store"
177−msgstr ""
180+msgstr "স্টোর"
178
181
179#: qml/Dash/DashPageHeader.qml:272
182#: qml/Dash/DashPageHeader.qml:272
180msgctxt "Button: Start a search in the current dash scope"
183msgctxt "Button: Start a search in the current dash scope"
181msgid "Search"
184msgid "Search"
182−msgstr ""
185+msgstr "খুঁজুন"
183
186
184#: qml/Dash/DashPageHeader.qml:282
187#: qml/Dash/DashPageHeader.qml:282
185msgctxt "Button: Show the current dash scope settings"
188msgctxt "Button: Show the current dash scope settings"
186msgid "Settings"
189msgid "Settings"
187−msgstr ""
190+msgstr "সেটিংস"
188
191
189#: qml/Dash/DashPageHeader.qml:289
192#: qml/Dash/DashPageHeader.qml:289
190msgid "Remove from Favorites"
193msgid "Remove from Favorites"
191−msgstr ""
194+msgstr "পছন্দ থেকে মুছে ফেলুন"
192
195
193#: qml/Dash/DashPageHeader.qml:289
196#: qml/Dash/DashPageHeader.qml:289
194msgid "Add to Favorites"
197msgid "Add to Favorites"
195−msgstr ""
198+msgstr "পছন্দতে যোগ করুন"
196
199
197#: qml/Dash/GenericScopeView.qml:576 qml/Dash/GenericScopeView.qml:734
200#: qml/Dash/GenericScopeView.qml:576 qml/Dash/GenericScopeView.qml:734
198msgid "See less"
201msgid "See less"
199−msgstr ""
202+msgstr "কম দেখুন"
200
203
201#: qml/Dash/GenericScopeView.qml:576
204#: qml/Dash/GenericScopeView.qml:576
202msgid "See all"
205msgid "See all"
203−msgstr ""
206+msgstr "সব দেখুন"
204
207
205#: qml/Dash/GenericScopeView.qml:638
208#: qml/Dash/GenericScopeView.qml:638
206msgctxt "Label: Hint for dash search line edit"
209msgctxt "Label: Hint for dash search line edit"
207msgid "Search"
210msgid "Search"
208−msgstr ""
211+msgstr "খুঁজুন"
209
212
210#: qml/Dash/Previews/PreviewActionCombo.qml:35
213#: qml/Dash/Previews/PreviewActionCombo.qml:35
211msgid "More..."
214msgid "More..."
212−msgstr ""
215+msgstr "আরো..."
213
216
214#: qml/Dash/Previews/PreviewActionCombo.qml:35
217#: qml/Dash/Previews/PreviewActionCombo.qml:35
215msgid "Less..."
218msgid "Less..."
216−msgstr ""
219+msgstr "কম..."
217
220
218#: qml/Dash/Previews/PreviewCommentInput.qml:68
221#: qml/Dash/Previews/PreviewCommentInput.qml:68
219#: qml/Dash/Previews/PreviewRatingInput.qml:174
222#: qml/Dash/Previews/PreviewRatingInput.qml:174
220msgid "Send"
223msgid "Send"
221−msgstr ""
224+msgstr "পাঠান"
222
225
223#: qml/Dash/Previews/PreviewRatingInput.qml:84
226#: qml/Dash/Previews/PreviewRatingInput.qml:84
224msgid "Rate this"
227msgid "Rate this"
225−msgstr ""
228+msgstr "রেটিং দিন"
226
229
227#: qml/Dash/Previews/PreviewRatingInput.qml:129
230#: qml/Dash/Previews/PreviewRatingInput.qml:129
228msgid "Add a review"
231msgid "Add a review"
229−msgstr ""
232+msgstr "আপনার মতামত দিন"
230
233
231#: qml/Dash/Previews/PreviewSharing.qml:51
234#: qml/Dash/Previews/PreviewSharing.qml:51
232msgid "Preview Share Item"
235msgid "Preview Share Item"
@@ -234,19 +237,19 @@ msgstr ""
234
237
235#: qml/Dash/PullToRefreshScopeStyle.qml:55
238#: qml/Dash/PullToRefreshScopeStyle.qml:55
236msgid "Pull to refresh…"
239msgid "Pull to refresh…"
237−msgstr ""
240+msgstr "রিফ্রেশ করার জন্য টানুন"
238
241
239#: qml/Dash/PullToRefreshScopeStyle.qml:60
242#: qml/Dash/PullToRefreshScopeStyle.qml:60
240msgid "Release to refresh…"
243msgid "Release to refresh…"
241−msgstr ""
244+msgstr "রিফ্রেশ করার জন্য ছেড়ে দিন"
242
245
243#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
246#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
244msgid "Enable location data"
247msgid "Enable location data"
245−msgstr ""
248+msgstr "অবস্থান নির্ণয় চালু করুন"
246
249
247#: qml/Dash/ScopesList.qml:67
250#: qml/Dash/ScopesList.qml:67
248msgid "Manage"
251msgid "Manage"
249−msgstr ""
252+msgstr "ব্যবস্থাপনা"
250
253
251#: qml/Dash/ScopesList.qml:113
254#: qml/Dash/ScopesList.qml:113
252msgid "Home"
255msgid "Home"
@@ -254,15 +257,15 @@ msgstr ""
254
257
255#: qml/Dash/ScopesList.qml:114
258#: qml/Dash/ScopesList.qml:114
256msgid "Also installed"
259msgid "Also installed"
257−msgstr ""
260+msgstr "আরও ইন্সটল করা রয়েছে..."
258
261
259#: qml/DisabledScreenNotice.qml:42
262#: qml/DisabledScreenNotice.qml:42
260msgid "Your device is now connected to an external display."
263msgid "Your device is now connected to an external display."
261−msgstr ""
264+msgstr "আপনার ডিভাইসটি এখন অতিরিক্ত ডিসপ্লের সাথে যুক্ত রয়েছে"
262
265
263#: qml/Greeter/CoverPage.qml:107
266#: qml/Greeter/CoverPage.qml:107
264msgid "Unlock"
267msgid "Unlock"
265−msgstr ""
268+msgstr "লক খুলুন"
266
269
267#: qml/Greeter/LoginList.qml:236
270#: qml/Greeter/LoginList.qml:236
268msgid "Retry"
271msgid "Retry"
@@ -270,133 +273,133 @@ msgstr ""
270
273
271#: qml/Greeter/LoginList.qml:237
274#: qml/Greeter/LoginList.qml:237
272msgid "Tap to unlock"
275msgid "Tap to unlock"
273−msgstr ""
276+msgstr "লক খোলার জন্য চাপ দিন"
274
277
275#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:53
278#: qml/Greeter/NarrowView.qml:54 qml/Wizard/Pages/passwd-confirm.qml:53
276msgid "Sorry, incorrect passphrase."
279msgid "Sorry, incorrect passphrase."
277−msgstr ""
280+msgstr "দুঃখিত, পাসওয়ার্ডটি ভুল হয়েছে।"
278
281
279#: qml/Greeter/NarrowView.qml:55 qml/Wizard/Pages/passwd-confirm.qml:54
282#: qml/Greeter/NarrowView.qml:55 qml/Wizard/Pages/passwd-confirm.qml:54
280msgid "Sorry, incorrect passcode."
283msgid "Sorry, incorrect passcode."
281−msgstr ""
284+msgstr "দুঃখিত, পাসকোডটি ভুল হয়েছে।"
282
285
283#: qml/Greeter/NarrowView.qml:56
286#: qml/Greeter/NarrowView.qml:56
284msgid "This will be your last attempt."
287msgid "This will be your last attempt."
285−msgstr ""
288+msgstr "এটিই আপনার সর্বশেষ সুযোগ।"
286
289
287#: qml/Greeter/NarrowView.qml:58
290#: qml/Greeter/NarrowView.qml:58
288msgid ""
291msgid ""
289"If passphrase is entered incorrectly, your phone will conduct a factory "
292"If passphrase is entered incorrectly, your phone will conduct a factory "
290"reset and all personal data will be deleted."
293"reset and all personal data will be deleted."
291−msgstr ""
294+msgstr "ভুল পাসওয়ার্ড প্রদান করলে, আপনার ফোনটিতে থাকা সকল ব্যক্তিগত তথ্য মুছে যাবে।"
292
295
293#: qml/Greeter/NarrowView.qml:59
296#: qml/Greeter/NarrowView.qml:59
294msgid ""
297msgid ""
295"If passcode is entered incorrectly, your phone will conduct a factory reset "
298"If passcode is entered incorrectly, your phone will conduct a factory reset "
296"and all personal data will be deleted."
299"and all personal data will be deleted."
297−msgstr ""
300+msgstr "ভুল পাসকোড প্রদান করলে, আপনার ফোনটির সকল ব্যক্তিগত তথ্য মুছে যাবে।"
298
301
299#: qml/Greeter/NarrowView.qml:116
302#: qml/Greeter/NarrowView.qml:116
300#, qt-format
303#, qt-format
301msgid "Enter %1"
304msgid "Enter %1"
302−msgstr ""
305+msgstr "%1 লিখুন"
303
306
304#: qml/Greeter/NarrowView.qml:117 qml/Wizard/Pages/passwd-set.qml:60
307#: qml/Greeter/NarrowView.qml:117 qml/Wizard/Pages/passwd-set.qml:60
305msgid "Enter passphrase"
308msgid "Enter passphrase"
306−msgstr ""
309+msgstr "পাসওয়ার্ড লিখুন"
307
310
308#: qml/Greeter/NarrowView.qml:118
311#: qml/Greeter/NarrowView.qml:118
309msgid "Enter passcode"
312msgid "Enter passcode"
310−msgstr ""
313+msgstr "পাসকোড লিখুন"
311
314
312#: qml/Greeter/NarrowView.qml:119
315#: qml/Greeter/NarrowView.qml:119
313#, qt-format
316#, qt-format
314msgid "Sorry, incorrect %1"
317msgid "Sorry, incorrect %1"
315−msgstr ""
318+msgstr "দুঃখিত, %1 ভুল হয়েছে"
316
319
317#: qml/Greeter/NarrowView.qml:120
320#: qml/Greeter/NarrowView.qml:120
318msgid "Sorry, incorrect passphrase"
321msgid "Sorry, incorrect passphrase"
319−msgstr ""
322+msgstr "দুঃখিত, পাসওয়ার্ড ভুল হয়েছে"
320
323
321#: qml/Greeter/NarrowView.qml:121
324#: qml/Greeter/NarrowView.qml:121
322msgctxt "passphrase"
325msgctxt "passphrase"
323msgid "Please re-enter"
326msgid "Please re-enter"
324−msgstr ""
327+msgstr "অনুগ্রহ করে আবার লিখুন"
325
328
326#: qml/Greeter/NarrowView.qml:122
329#: qml/Greeter/NarrowView.qml:122
327msgid "Sorry, incorrect passcode"
330msgid "Sorry, incorrect passcode"
328−msgstr ""
331+msgstr "দুঃখিত, পাসকোড ভুল হয়েছে"
329
332
330#: qml/Notifications/NotificationMenuItemFactory.qml:129
333#: qml/Notifications/NotificationMenuItemFactory.qml:129
331msgid "Show password"
334msgid "Show password"
332−msgstr ""
335+msgstr "পাসওয়ার্ড দেখান"
333
336
334#: qml/Panel/ActiveCallHint.qml:79
337#: qml/Panel/ActiveCallHint.qml:79
335msgid "Tap to return to call..."
338msgid "Tap to return to call..."
336−msgstr ""
339+msgstr "কলে ফিরে যেতে চাপ দিন..."
337
340
338#: qml/Panel/ActiveCallHint.qml:92
341#: qml/Panel/ActiveCallHint.qml:92
339msgid "Conference"
342msgid "Conference"
340−msgstr ""
343+msgstr "কনফারেন্স"
341
344
342#: qml/Panel/Indicators/MenuItemFactory.qml:731
345#: qml/Panel/Indicators/MenuItemFactory.qml:731
343msgid "Nothing is playing"
346msgid "Nothing is playing"
344−msgstr ""
347+msgstr "কোন কিছু বাজছে না।"
345
348
346#: qml/Panel/Indicators/MenuItemFactory.qml:860
349#: qml/Panel/Indicators/MenuItemFactory.qml:860
347#, qt-format
350#, qt-format
348msgid "%1 hour"
351msgid "%1 hour"
349msgid_plural "%1 hours"
352msgid_plural "%1 hours"
350−msgstr[0] ""
353+msgstr[0] "%1 ঘণ্টা"
351−msgstr[1] ""
354+msgstr[1] "%1 ঘণ্টা"
352
355
353#: qml/Panel/Indicators/MenuItemFactory.qml:864
356#: qml/Panel/Indicators/MenuItemFactory.qml:864
354#, qt-format
357#, qt-format
355msgid "%1 minute"
358msgid "%1 minute"
356msgid_plural "%1 minutes"
359msgid_plural "%1 minutes"
357−msgstr[0] ""
360+msgstr[0] "%1 মিনিট"
358−msgstr[1] ""
361+msgstr[1] "%1 মিনিট"
359
362
360#: qml/Panel/Indicators/MenuItemFactory.qml:869
363#: qml/Panel/Indicators/MenuItemFactory.qml:869
361#, qt-format
364#, qt-format
362msgid "%1 second"
365msgid "%1 second"
363msgid_plural "%1 seconds"
366msgid_plural "%1 seconds"
364−msgstr[0] ""
367+msgstr[0] "%1 সেকেন্ড"
365−msgstr[1] ""
368+msgstr[1] "%1 সেকেন্ড"
366
369
367#: qml/Panel/Indicators/MenuItemFactory.qml:872
370#: qml/Panel/Indicators/MenuItemFactory.qml:872
368msgid "0 seconds"
371msgid "0 seconds"
369−msgstr ""
372+msgstr "0 সেকেন্ড"
370
373
371#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
374#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
372#: qml/Panel/Indicators/MenuItemFactory.qml:874
375#: qml/Panel/Indicators/MenuItemFactory.qml:874
373#, qt-format
376#, qt-format
374msgid "%1 remaining"
377msgid "%1 remaining"
375−msgstr ""
378+msgstr "%1 বাকি"
376
379
377#: qml/Panel/Indicators/MenuItemFactory.qml:880
380#: qml/Panel/Indicators/MenuItemFactory.qml:880
378msgid "In queue…"
381msgid "In queue…"
379−msgstr ""
382+msgstr "অপেক্ষায় রয়েছে..."
380
383
381#: qml/Panel/Indicators/MenuItemFactory.qml:884
384#: qml/Panel/Indicators/MenuItemFactory.qml:884
382msgid "Downloading"
385msgid "Downloading"
383−msgstr ""
386+msgstr "ডাউনলোড হচ্ছে"
384
387
385#: qml/Panel/Indicators/MenuItemFactory.qml:886
388#: qml/Panel/Indicators/MenuItemFactory.qml:886
386msgid "Paused, tap to resume"
389msgid "Paused, tap to resume"
387−msgstr ""
390+msgstr "থামানো, শুরু করতে চাপ দিন"
388
391
389#: qml/Panel/Indicators/MenuItemFactory.qml:888
392#: qml/Panel/Indicators/MenuItemFactory.qml:888
390msgid "Canceled"
393msgid "Canceled"
391−msgstr ""
394+msgstr "বাতিল হয়েছে"
392
395
393#: qml/Panel/Indicators/MenuItemFactory.qml:890
396#: qml/Panel/Indicators/MenuItemFactory.qml:890
394msgid "Finished"
397msgid "Finished"
395−msgstr ""
398+msgstr "শেষ"
396
399
397#: qml/Panel/Indicators/MenuItemFactory.qml:892
400#: qml/Panel/Indicators/MenuItemFactory.qml:892
398msgid "Failed, tap to retry"
401msgid "Failed, tap to retry"
399−msgstr ""
402+msgstr "ব্যার্থ হয়েছে, পুনরায় চেষ্টা করতে চাপ দিন"
400
403
401#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
404#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
402#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
405#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
@@ -407,20 +410,20 @@ msgstr ""
407#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
410#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
408msgctxt "Label: Hint in message indicator line edit"
411msgctxt "Label: Hint in message indicator line edit"
409msgid "Reply"
412msgid "Reply"
410−msgstr ""
413+msgstr "উত্তর দিন"
411
414
412#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
415#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
413msgctxt "Button: Call back on phone"
416msgctxt "Button: Call back on phone"
414msgid "Call back"
417msgid "Call back"
415−msgstr ""
418+msgstr "কল ব্যাক"
416
419
417#: qml/Panel/Indicators/ModemInfoItem.qml:105
420#: qml/Panel/Indicators/ModemInfoItem.qml:105
418msgid "Unlock SIM"
421msgid "Unlock SIM"
419−msgstr ""
422+msgstr "সিম লক খুলুন করুন"
420
423
421#: qml/Panel/Indicators/RoamingIndication.qml:27
424#: qml/Panel/Indicators/RoamingIndication.qml:27
422msgid "Roaming"
425msgid "Roaming"
423−msgstr ""
426+msgstr "রোমিং"
424
427
425#: qml/Tutorial/TutorialBottom.qml:28
428#: qml/Tutorial/TutorialBottom.qml:28
426msgid "Open special menus"
429msgid "Open special menus"
@@ -428,11 +431,11 @@ msgstr ""
428
431
429#: qml/Tutorial/TutorialBottom.qml:29
432#: qml/Tutorial/TutorialBottom.qml:29
430msgid "Swipe up from the bottom edge."
433msgid "Swipe up from the bottom edge."
431−msgstr ""
434+msgstr "নিচের প্রান্ত হতে উপরের দিকে সোয়াইপ করুন।"
432
435
433#: qml/Tutorial/TutorialBottomFinish.qml:24
436#: qml/Tutorial/TutorialBottomFinish.qml:24
434msgid "This action does different things for different apps"
437msgid "This action does different things for different apps"
435−msgstr ""
438+msgstr "এই কাজটি বিভিন্ন অ্যাপের জন্য ভিন্ন ভিন্ন ভাবে কাজ করে।"
436
439
437#: qml/Tutorial/TutorialBottomFinish.qml:25
440#: qml/Tutorial/TutorialBottomFinish.qml:25
438msgid "Tap here to finish."
441msgid "Tap here to finish."
@@ -441,11 +444,11 @@ msgstr ""
441#: qml/Tutorial/TutorialContent.qml:80 qml/Tutorial/TutorialLeftFinish.qml:25
444#: qml/Tutorial/TutorialContent.qml:80 qml/Tutorial/TutorialLeftFinish.qml:25
442#: qml/Tutorial/TutorialRight.qml:144
445#: qml/Tutorial/TutorialRight.qml:144
443msgid "Tap here to continue."
446msgid "Tap here to continue."
444−msgstr ""
447+msgstr "অগ্রসর হওয়ার জন্য এখানে চাপ দিন।"
445
448
446#: qml/Tutorial/TutorialLeft.qml:26
449#: qml/Tutorial/TutorialLeft.qml:26
447msgid "Open the launcher"
450msgid "Open the launcher"
448−msgstr ""
451+msgstr "লঞ্চার খুলুন"
449
452
450#: qml/Tutorial/TutorialLeft.qml:27
453#: qml/Tutorial/TutorialLeft.qml:27
451msgid "Short swipe from the left edge."
454msgid "Short swipe from the left edge."
@@ -453,19 +456,19 @@ msgstr ""
453
456
454#: qml/Tutorial/TutorialLeftFinish.qml:24
457#: qml/Tutorial/TutorialLeftFinish.qml:24
455msgid "These are the shortcuts to favorite apps"
458msgid "These are the shortcuts to favorite apps"
456−msgstr ""
459+msgstr "এগুলো আপনার প্রিয় অ্যাপেরর শর্টকাট"
457
460
458#: qml/Tutorial/TutorialPage.qml:178
461#: qml/Tutorial/TutorialPage.qml:178
459msgid "You almost got it!"
462msgid "You almost got it!"
460−msgstr ""
463+msgstr "আপনি প্রায় পেরে গেছেন!"
461
464
462#: qml/Tutorial/TutorialPage.qml:195
465#: qml/Tutorial/TutorialPage.qml:195
463msgid "Try again."
466msgid "Try again."
464−msgstr ""
467+msgstr "আবার চেষ্টা করুন"
465
468
466#: qml/Tutorial/TutorialRight.qml:31
469#: qml/Tutorial/TutorialRight.qml:31
467msgid "To view open apps"
470msgid "To view open apps"
468−msgstr ""
471+msgstr "সচল অ্যাপগুলো দেখার জন্য"
469
472
470#: qml/Tutorial/TutorialRight.qml:32
473#: qml/Tutorial/TutorialRight.qml:32
471msgid "Long swipe from the right edge."
474msgid "Long swipe from the right edge."
@@ -486,38 +489,38 @@ msgstr ""
486
489
487#: qml/Wizard/Pages/10-welcome.qml:44
490#: qml/Wizard/Pages/10-welcome.qml:44
488msgid "Welcome to your Ubuntu phone."
491msgid "Welcome to your Ubuntu phone."
489−msgstr ""
492+msgstr "আপনার উবুন্টু ফোনে স্বাগতম।"
490
493
491#: qml/Wizard/Pages/10-welcome.qml:52
494#: qml/Wizard/Pages/10-welcome.qml:52
492msgid "Let’s get started."
495msgid "Let’s get started."
493−msgstr ""
496+msgstr "আসুন শুরু করা যাক।"
494
497
495#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:128
498#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:128
496#: qml/Wizard/Pages/40-wifi.qml:215 qml/Wizard/Pages/50-location.qml:131
499#: qml/Wizard/Pages/40-wifi.qml:215 qml/Wizard/Pages/50-location.qml:131
497#: qml/Wizard/Pages/60-reporting.qml:60 qml/Wizard/Pages/passwd-confirm.qml:82
500#: qml/Wizard/Pages/60-reporting.qml:60 qml/Wizard/Pages/passwd-confirm.qml:82
498#: qml/Wizard/Pages/passwd-set.qml:90
501#: qml/Wizard/Pages/passwd-set.qml:90
499msgid "Continue"
502msgid "Continue"
500−msgstr ""
503+msgstr "পরবর্তী"
501
504
502#: qml/Wizard/Pages/20-sim.qml:25
505#: qml/Wizard/Pages/20-sim.qml:25
503msgid "Add a SIM card and restart your device"
506msgid "Add a SIM card and restart your device"
504−msgstr ""
507+msgstr "সিম কার্ড যোগ করুন এবং ফোন পুনরায় চালু করুন।"
505
508
506#: qml/Wizard/Pages/20-sim.qml:59
509#: qml/Wizard/Pages/20-sim.qml:59
507msgid "Without it, you won’t be able to make calls or use text messaging."
510msgid "Without it, you won’t be able to make calls or use text messaging."
508−msgstr ""
511+msgstr "এটি ছাড়া, আপনি ফোন কল বা টেক্সট মেসেজ ব্যবহার করতে পারবেন না।"
509
512
510#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
513#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
511msgid "Skip"
514msgid "Skip"
512−msgstr ""
515+msgstr "এড়িয়ে যান"
513
516
514#: qml/Wizard/Pages/30-passwd-type.qml:39
517#: qml/Wizard/Pages/30-passwd-type.qml:39
515msgid "Lock security"
518msgid "Lock security"
516−msgstr ""
519+msgstr "নিরাপত্তা লক"
517
520
518#: qml/Wizard/Pages/30-passwd-type.qml:74
521#: qml/Wizard/Pages/30-passwd-type.qml:74
519msgid "Please select how you’d like to unlock your phone."
522msgid "Please select how you’d like to unlock your phone."
520−msgstr ""
523+msgstr "আপনি কিভাবে ফোনের লক খুলতে চান তা নির্ধারণ করুন।"
521
524
522#: qml/Wizard/Pages/30-passwd-type.qml:97
525#: qml/Wizard/Pages/30-passwd-type.qml:97
523msgctxt "Label: Type of security method"
526msgctxt "Label: Type of security method"
@@ -527,17 +530,17 @@ msgstr ""
527#: qml/Wizard/Pages/30-passwd-type.qml:98
530#: qml/Wizard/Pages/30-passwd-type.qml:98
528msgctxt "Label: Description of security method"
531msgctxt "Label: Description of security method"
529msgid "No security"
532msgid "No security"
530−msgstr ""
533+msgstr "কোন নিরাপত্তা নেই"
531
534
532#: qml/Wizard/Pages/30-passwd-type.qml:100
535#: qml/Wizard/Pages/30-passwd-type.qml:100
533msgctxt "Label: Type of security method"
536msgctxt "Label: Type of security method"
534msgid "Passcode"
537msgid "Passcode"
535−msgstr ""
538+msgstr "পাসকোড"
536
539
537#: qml/Wizard/Pages/30-passwd-type.qml:101
540#: qml/Wizard/Pages/30-passwd-type.qml:101
538msgctxt "Label: Description of security method"
541msgctxt "Label: Description of security method"
539msgid "4 digits only"
542msgid "4 digits only"
540−msgstr ""
543+msgstr "কেবল মাত্র ৪টি সংখ্যা"
541
544
542#: qml/Wizard/Pages/30-passwd-type.qml:103
545#: qml/Wizard/Pages/30-passwd-type.qml:103
543msgctxt "Label: Type of security method"
546msgctxt "Label: Type of security method"
@@ -660,3 +663,63 @@ msgstr ""
660#, qt-format
663#, qt-format
661msgid "%1 〉"
664msgid "%1 〉"
662msgstr ""
665msgstr ""
666+
667+#~ msgid "Log out"
668+#~ msgstr "লগ অাউট"
669+
670+#~ msgid "Reboot"
671+#~ msgstr "পুনরায় চালু করুন"
672+
673+#~ msgid "Shut down"
674+#~ msgstr "বন্ধ করুন"
675+
676+#~ msgid "Power off"
677+#~ msgstr "বন্ধ করুন"
678+
679+#~ msgid "Restart"
680+#~ msgstr "পুনরায় চালু"
681+
682+#~ msgid "Top edge"
683+#~ msgstr "উপরের প্রান্ত"
684+
685+#~ msgid "Close"
686+#~ msgstr "বন্ধ"
687+
688+#~ msgid "Left edge"
689+#~ msgstr "বাম প্রান্ত"
690+
691+#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
692+#~ msgstr "অ্যাপসমূহে দ্রুত যাওয়ার লঞ্চার পেতে হলে বাম প্রান্ত থেকে সোয়াইপ করুন"
693+
694+#~ msgid "Well done"
695+#~ msgstr "অস্থির!"
696+
697+#~ msgid "Try swiping from the right edge to unlock the phone"
698+#~ msgstr "ফোনটির লক খুলতে ডান প্রান্ত থেকে সোয়াইপ করুন"
699+
700+#~ msgid "Right edge"
701+#~ msgstr "ডান প্রান্ত"
702+
703+#~ msgid "Settings"
704+#~ msgstr "সেটিংস"
705+
706+#~ msgid "Store"
707+#~ msgstr "স্টোর"
708+
709+#~ msgid "Search"
710+#~ msgstr "খুঁজুন"
711+
712+#~ msgid "Type or say a command"
713+#~ msgstr "কমান্ড লিখুন বা বলুন"
714+
715+#~ msgid "Loading. Please Wait..."
716+#~ msgstr "অপেক্ষা করুন..."
717+
718+#~ msgid "Speaking..."
719+#~ msgstr "বলা হচ্ছে..."
720+
721+#~ msgid "Speak Now..."
722+#~ msgstr "এখন বলুন..."
723+
724+#~ msgid "Please re-enter"
725+#~ msgstr "অনুগ্রহ করে আবার লিখুন"
po/br.po+12−11
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-10-05 06:47+0000\n"
11"PO-Revision-Date: 2015-10-05 06:47+0000\n"
12"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
12"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
13"Language-Team: Breton <br@li.org>\n"
13"Language-Team: Breton <br@li.org>\n"
14+"Language: br\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -527,8 +528,7 @@ msgstr "Surentez ar prennañ"
527
528
528#: qml/Wizard/Pages/30-passwd-type.qml:74
529#: qml/Wizard/Pages/30-passwd-type.qml:74
529msgid "Please select how you’d like to unlock your phone."
530msgid "Please select how you’d like to unlock your phone."
530−msgstr ""
531−"Diuzit e peseurt mod e fell deoc'h dibrennañ ho pellgomzer, mar plij."
531+msgstr "Diuzit e peseurt mod e fell deoc'h dibrennañ ho pellgomzer, mar plij."
532
532
533#: qml/Wizard/Pages/30-passwd-type.qml:97
533#: qml/Wizard/Pages/30-passwd-type.qml:97
534msgctxt "Label: Type of security method"
534msgctxt "Label: Type of security method"
@@ -586,8 +586,7 @@ msgstr "Implijout ar GPS hepken (n'eo ket ken resis)"
586
586
587#: qml/Wizard/Pages/50-location.qml:86
587#: qml/Wizard/Pages/50-location.qml:86
588msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
588msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
589−msgstr ""
590−"Implijout ar GPS, Wi-Fi dizanv pe titouroù ar rouedad kelligel (aliet)"
589+msgstr "Implijout ar GPS, Wi-Fi dizanv pe titouroù ar rouedad kelligel (aliet)"
591
590
592#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
591#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
593#: qml/Wizard/Pages/50-location.qml:103
592#: qml/Wizard/Pages/50-location.qml:103
@@ -718,11 +717,13 @@ msgstr "%1 〉"
718
717
719#~ msgid "Try swiping from the top edge to access the indicators"
718#~ msgid "Try swiping from the top edge to access the indicators"
720#~ msgstr ""
719#~ msgstr ""
721−#~ "Lakait ho piz da riklañ adalek ar bord uhelañ da lakaat ar merkerioù war wel."
720+#~ "Lakait ho piz da riklañ adalek ar bord uhelañ da lakaat ar merkerioù war "
721+#~ "wel."
722
722
723#~ msgid "Swipe up again to close the settings screen"
723#~ msgid "Swipe up again to close the settings screen"
724#~ msgstr ""
724#~ msgstr ""
725−#~ "Lakait ho piz da riklañ war-du ar bord uhelañ da serriñ skramm an arventennoù"
725+#~ "Lakait ho piz da riklañ war-du ar bord uhelañ da serriñ skramm an "
726+#~ "arventennoù"
726
727
727#~ msgid "Try swiping from the right edge to unlock the phone"
728#~ msgid "Try swiping from the right edge to unlock the phone"
728#~ msgstr ""
729#~ msgstr ""
@@ -730,8 +731,8 @@ msgstr "%1 〉"
730
731
731#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
732#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
732#~ msgstr ""
733#~ msgstr ""
733−#~ "Lakait ho piz da riklañ adalek ar bord kleiz da ziskouez al lañser arloadoù "
734+#~ "Lakait ho piz da riklañ adalek ar bord kleiz da ziskouez al lañser "
734−#~ "prim."
735+#~ "arloadoù prim."
735
736
736#~ msgid "Well done"
737#~ msgid "Well done"
737#~ msgstr "Gourc'hemennoù !"
738#~ msgstr "Gourc'hemennoù !"
po/bs.po+6−5
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-12-01 20:06+0000\n"
11"PO-Revision-Date: 2015-12-01 20:06+0000\n"
12"Last-Translator: Kenan Gutić <Unknown>\n"
12"Last-Translator: Kenan Gutić <Unknown>\n"
13"Language-Team: Bosnian <bs@li.org>\n"
13"Language-Team: Bosnian <bs@li.org>\n"
14+"Language: bs\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17−"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
18−"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
po/ca.po+11−6
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-04 09:48+0000\n"
11"PO-Revision-Date: 2015-07-04 09:48+0000\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
14+"Language: ca\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -714,7 +715,8 @@ msgstr "%1 〉"
714
715
715#~ msgid "Try swiping from the top edge to access the indicators"
716#~ msgid "Try swiping from the top edge to access the indicators"
716#~ msgstr ""
717#~ msgstr ""
717−#~ "Proveu de lliscar el dit des de la vora superior per accedir als indicadors"
718+#~ "Proveu de lliscar el dit des de la vora superior per accedir als "
719+#~ "indicadors"
718
720
719#~ msgid "Close"
721#~ msgid "Close"
720#~ msgstr "Tanca"
722#~ msgstr "Tanca"
@@ -726,8 +728,8 @@ msgstr "%1 〉"
726
728
727#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
729#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
728#~ msgstr ""
730#~ msgstr ""
729−#~ "Llisqueu el dit des de la vora esquerra per mostrar el llançador i accedir "
731+#~ "Llisqueu el dit des de la vora esquerra per mostrar el llançador i "
730−#~ "ràpidament a les aplicacions"
732+#~ "accedir ràpidament a les aplicacions"
731
733
732#~ msgid "Skip intro"
734#~ msgid "Skip intro"
733#~ msgstr "Omet la introducció"
735#~ msgstr "Omet la introducció"
@@ -811,3 +813,6 @@ msgstr "%1 〉"
811
813
812#~ msgid "%l:%M %p"
814#~ msgid "%l:%M %p"
813#~ msgstr "%l∶%M %p"
815#~ msgstr "%l∶%M %p"
816+
817+#~ msgid "Call back"
818+#~ msgstr "Retorna la trucada"
po/ca@valencia.po+9−8
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-02-22 15:22+0000\n"
11"PO-Revision-Date: 2015-02-22 15:22+0000\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
14+"Language: ca\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -606,8 +607,7 @@ msgstr "No"
606
607
607#: qml/Wizard/Pages/50-location.qml:124
608#: qml/Wizard/Pages/50-location.qml:124
608msgid "You can change your mind later in <b>System Settings</b>."
609msgid "You can change your mind later in <b>System Settings</b>."
609−msgstr ""
610−"Podeu canviar-ho més avant a l'aplicació <b>Paràmetres del sistema</b>"
610+msgstr "Podeu canviar-ho més avant a l'aplicació <b>Paràmetres del sistema</b>"
611
611
612#: qml/Wizard/Pages/60-reporting.qml:26
612#: qml/Wizard/Pages/60-reporting.qml:26
613msgid "Improving your experience"
613msgid "Improving your experience"
@@ -715,7 +715,8 @@ msgstr "%1 〉"
715
715
716#~ msgid "Try swiping from the top edge to access the indicators"
716#~ msgid "Try swiping from the top edge to access the indicators"
717#~ msgstr ""
717#~ msgstr ""
718−#~ "Proveu de lliscar el dit des de la vora superior per accedir als indicadors"
718+#~ "Proveu de lliscar el dit des de la vora superior per accedir als "
719+#~ "indicadors"
719
720
720#~ msgid "Close"
721#~ msgid "Close"
721#~ msgstr "Tanca"
722#~ msgstr "Tanca"
@@ -730,8 +731,8 @@ msgstr "%1 〉"
730
731
731#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
732#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
732#~ msgstr ""
733#~ msgstr ""
733−#~ "Llisqueu el dit des de la vora esquerra per mostrar el llançador i accedir "
734+#~ "Llisqueu el dit des de la vora esquerra per mostrar el llançador i "
734−#~ "ràpidament a les aplicacions"
735+#~ "accedir ràpidament a les aplicacions"
735
736
736#~ msgid "Well done"
737#~ msgid "Well done"
737#~ msgstr "Enhorabona!"
738#~ msgstr "Enhorabona!"
po/ce.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-02-15 04:01+0000\n"
11"PO-Revision-Date: 2015-02-15 04:01+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Chechen <ce@li.org>\n"
13"Language-Team: Chechen <ce@li.org>\n"
14+"Language: ce\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/ckb.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-01-21 11:05+0000\n"
11"PO-Revision-Date: 2014-01-21 11:05+0000\n"
12"Last-Translator: Aras <aras.noori@gmail.com>\n"
12"Last-Translator: Aras <aras.noori@gmail.com>\n"
13"Language-Team: Kurdish (Sorani) <ckb@li.org>\n"
13"Language-Team: Kurdish (Sorani) <ckb@li.org>\n"
14+"Language: \n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/cs.po+8−10
@@ -6,18 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-07 10:44+0000\n"
11"PO-Revision-Date: 2015-07-07 10:44+0000\n"
12"Last-Translator: Vojtěch Daněk <vdanek@outlook.com>\n"
12"Last-Translator: Vojtěch Daněk <vdanek@outlook.com>\n"
13"Language-Team: Czech <cs@li.org>\n"
13"Language-Team: Czech <cs@li.org>\n"
14+"Language: cs\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
18"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20−"Language: cs\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -42,13 +42,11 @@ msgstr "Zařízení uzamčeno"
42
42
43#: qml/Components/DelayedLockscreen.qml:64
43#: qml/Components/DelayedLockscreen.qml:64
44msgid "You have been locked out due to too many failed passphrase attempts."
44msgid "You have been locked out due to too many failed passphrase attempts."
45−msgstr ""
46−"Zařízení bylo uzamčeno z důvodu mnoha neúspěšných pokusů o přihlášení."
45+msgstr "Zařízení bylo uzamčeno z důvodu mnoha neúspěšných pokusů o přihlášení."
47
46
48#: qml/Components/DelayedLockscreen.qml:65
47#: qml/Components/DelayedLockscreen.qml:65
49msgid "You have been locked out due to too many failed passcode attempts."
48msgid "You have been locked out due to too many failed passcode attempts."
50−msgstr ""
51−"Zařízení bylo uzamčeno z důvodu mnoha neúspěšných pokusů o přihlášení."
49+msgstr "Zařízení bylo uzamčeno z důvodu mnoha neúspěšných pokusů o přihlášení."
52
50
53#: qml/Components/DelayedLockscreen.qml:74
51#: qml/Components/DelayedLockscreen.qml:74
54#, qt-format
52#, qt-format
@@ -625,8 +623,8 @@ msgid ""
625"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
623"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
626"Privacy</b>"
624"Privacy</b>"
627msgstr ""
625msgstr ""
628−"To může být vypnuto v <b>Nastavení systému</b> v <b>Zabezpečení a "
626+"To může být vypnuto v <b>Nastavení systému</b> v <b>Zabezpečení a soukromí</"
629−"soukromí</b>"
627+"b>"
630
628
631#: qml/Wizard/Pages/80-finished.qml:24
629#: qml/Wizard/Pages/80-finished.qml:24
632msgid "All done"
630msgid "All done"
po/cy.po+6−5
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-31 13:21+0000\n"
11"PO-Revision-Date: 2015-07-31 13:21+0000\n"
12"Last-Translator: Owen Llywelyn <owen.llywelyn@gmail.com>\n"
12"Last-Translator: Owen Llywelyn <owen.llywelyn@gmail.com>\n"
13"Language-Team: Welsh <cy@li.org>\n"
13"Language-Team: Welsh <cy@li.org>\n"
14+"Language: cy\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
18"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
18"2 : 3;\n"
19"2 : 3;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
@@ -601,8 +602,8 @@ msgid ""
601"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
602"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
602"conditions</a>."
603"conditions</a>."
603msgstr ""
604msgstr ""
604−"Drwy ddewis yr opsiwn yma rydych yn cytuno i <a href='#'>dermau ac "
605+"Drwy ddewis yr opsiwn yma rydych yn cytuno i <a href='#'>dermau ac amodau</"
605−"amodau</a> Nokia HERE."
606+"a> Nokia HERE."
606
607
607#: qml/Wizard/Pages/50-location.qml:112
608#: qml/Wizard/Pages/50-location.qml:112
608msgid "Not at all"
609msgid "Not at all"
po/da.po+8−6
@@ -7,17 +7,18 @@
7msgid ""
7msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10+"Report-Msgid-Bugs-To: \n"
11"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"POT-Creation-Date: 2015-12-08 15:42+0000\n"
12"PO-Revision-Date: 2015-07-06 12:05+0000\n"
12"PO-Revision-Date: 2015-07-06 12:05+0000\n"
13"Last-Translator: Folmer Fredslund <Unknown>\n"
13"Last-Translator: Folmer Fredslund <Unknown>\n"
14"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
14"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
15+"Language: da\n"
15"MIME-Version: 1.0\n"
16"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
19"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
@@ -715,7 +716,8 @@ msgstr "%1 〉"
715#~ msgstr "Stryg op igen for at låse indstillingsskærmen"
716#~ msgstr "Stryg op igen for at låse indstillingsskærmen"
716
717
717#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
718#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
719+#~ msgstr ""
718−#~ msgstr "Stryg fra venstre for at vise opstarteren med hurtig adgang til apps"
720+#~ "Stryg fra venstre for at vise opstarteren med hurtig adgang til apps"
719
721
720#~ msgid "Well done"
722#~ msgid "Well done"
721#~ msgstr "Godt gjort"
723#~ msgstr "Godt gjort"
@@ -733,8 +735,8 @@ msgstr "%1 〉"
733#~ "You have now mastered the edge gestures and can start using the "
735#~ "You have now mastered the edge gestures and can start using the "
734#~ "phone<br><br>Tap on the screen to start"
736#~ "phone<br><br>Tap on the screen to start"
735#~ msgstr ""
737#~ msgstr ""
736−#~ "Du mestrer nu kantbevægelserne og kan begynde at bruge telefonen<br><br>Tryk "
738+#~ "Du mestrer nu kantbevægelserne og kan begynde at bruge "
737−#~ "på skærmen for at starte"
739+#~ "telefonen<br><br>Tryk på skærmen for at starte"
738
740
739#~ msgid "Please re-enter"
741#~ msgid "Please re-enter"
740#~ msgstr "Vær venlig at genindtaste"
742#~ msgstr "Vær venlig at genindtaste"
po/de.po+5−5
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-24 18:03+0000\n"
11"PO-Revision-Date: 2015-07-24 18:03+0000\n"
12"Last-Translator: Torsten Franz <Unknown>\n"
12"Last-Translator: Torsten Franz <Unknown>\n"
13"Language-Team: German <de@li.org>\n"
13"Language-Team: German <de@li.org>\n"
14+"Language: de\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -444,8 +445,7 @@ msgstr "Wischen Sie von der unteren Bildschirmkante nach oben."
444
445
445#: qml/Tutorial/TutorialBottomFinish.qml:24
446#: qml/Tutorial/TutorialBottomFinish.qml:24
446msgid "This action does different things for different apps"
447msgid "This action does different things for different apps"
447−msgstr ""
448−"Diese Aktion bewirkt verschiedene Dinge in verschiedenen Anwendungen."
448+msgstr "Diese Aktion bewirkt verschiedene Dinge in verschiedenen Anwendungen."
449
449
450#: qml/Tutorial/TutorialBottomFinish.qml:25
450#: qml/Tutorial/TutorialBottomFinish.qml:25
451msgid "Tap here to finish."
451msgid "Tap here to finish."
po/el.po+5−5
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-12-04 09:38+0000\n"
11"PO-Revision-Date: 2015-12-04 09:38+0000\n"
12"Last-Translator: Aggelos Arnaoutis <angelosarn@hotmail.com>\n"
12"Last-Translator: Aggelos Arnaoutis <angelosarn@hotmail.com>\n"
13"Language-Team: Greek <el@li.org>\n"
13"Language-Team: Greek <el@li.org>\n"
14+"Language: el\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -446,8 +447,7 @@ msgstr "Σύρετε από την κάτω άκρη προς τα πάνω."
446
447
447#: qml/Tutorial/TutorialBottomFinish.qml:24
448#: qml/Tutorial/TutorialBottomFinish.qml:24
448msgid "This action does different things for different apps"
449msgid "This action does different things for different apps"
449−msgstr ""
450−"Αυτή η ενέργεια κάνει διαφορετικά πράγματα για διαφορετικές εφαρμογές"
450+msgstr "Αυτή η ενέργεια κάνει διαφορετικά πράγματα για διαφορετικές εφαρμογές"
451
451
452#: qml/Tutorial/TutorialBottomFinish.qml:25
452#: qml/Tutorial/TutorialBottomFinish.qml:25
453msgid "Tap here to finish."
453msgid "Tap here to finish."
po/en_AU.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-12 07:17+0000\n"
11"PO-Revision-Date: 2015-07-12 07:17+0000\n"
12"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
12"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
14+"Language: \n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/en_GB.po+10−9
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-04-23 12:59+0000\n"
11"PO-Revision-Date: 2015-04-23 12:59+0000\n"
12"Last-Translator: Andi Chandler <Unknown>\n"
12"Last-Translator: Andi Chandler <Unknown>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
14+"Language: \n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -151,27 +152,27 @@ msgstr "OK"
151
152
152#: qml/Components/ModeSwitchWarningDialog.qml:32
153#: qml/Components/ModeSwitchWarningDialog.qml:32
153msgid "Apps may have unsaved data:"
154msgid "Apps may have unsaved data:"
154−msgstr ""
155+msgstr "Apps may have unsaved data:"
155
156
156#: qml/Components/ModeSwitchWarningDialog.qml:57
157#: qml/Components/ModeSwitchWarningDialog.qml:57
157msgid "Re-dock, save your work and close these apps to continue."
158msgid "Re-dock, save your work and close these apps to continue."
158−msgstr ""
159+msgstr "Re-dock, save your work and close these apps to continue."
159
160
160#: qml/Components/ModeSwitchWarningDialog.qml:63
161#: qml/Components/ModeSwitchWarningDialog.qml:63
161msgid "Or force close now (unsaved data will be lost)."
162msgid "Or force close now (unsaved data will be lost)."
162−msgstr ""
163+msgstr "Or force close now (unsaved data will be lost)."
163
164
164#: qml/Components/ModeSwitchWarningDialog.qml:75
165#: qml/Components/ModeSwitchWarningDialog.qml:75
165msgid "OK, I will reconnect"
166msgid "OK, I will reconnect"
166−msgstr ""
167+msgstr "OK, I will reconnect"
167
168
168#: qml/Components/ModeSwitchWarningDialog.qml:76
169#: qml/Components/ModeSwitchWarningDialog.qml:76
169msgid "Reconnect now!"
170msgid "Reconnect now!"
170−msgstr ""
171+msgstr "Reconnect now!"
171
172
172#: qml/Components/ModeSwitchWarningDialog.qml:88
173#: qml/Components/ModeSwitchWarningDialog.qml:88
173msgid "Close all"
174msgid "Close all"
174−msgstr ""
175+msgstr "Close all"
175
176
176#: qml/Dash/DashPageHeader.qml:265
177#: qml/Dash/DashPageHeader.qml:265
177msgctxt "Button: Open the Ubuntu Store"
178msgctxt "Button: Open the Ubuntu Store"
po/eo.po+44−43
@@ -6,21 +6,22 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-06-06 23:37+0000\n"
11"PO-Revision-Date: 2015-06-06 23:37+0000\n"
12"Last-Translator: Eliovir <Unknown>\n"
12"Last-Translator: Eliovir <Unknown>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
14+"Language: eo\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
23−msgstr ""
24+msgstr "Pasvorto: "
24
25
25#: plugins/Unity/Launcher/launcheritem.cpp:47
26#: plugins/Unity/Launcher/launcheritem.cpp:47
26#: plugins/Unity/Launcher/launcheritem.cpp:106
27#: plugins/Unity/Launcher/launcheritem.cpp:106
@@ -57,26 +58,26 @@ msgstr[1] ""
57#: qml/Components/Dialogs.qml:144
58#: qml/Components/Dialogs.qml:144
58msgctxt "Title: Lock/Log out dialog"
59msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
60msgid "Log out"
60−msgstr ""
61+msgstr "Elsaluti"
61
62
62#: qml/Components/Dialogs.qml:145
63#: qml/Components/Dialogs.qml:145
63msgid "Are you sure you want to log out?"
64msgid "Are you sure you want to log out?"
64−msgstr ""
65+msgstr "Ĉu vi certas, ke vi volas elsaluti?"
65
66
66#: qml/Components/Dialogs.qml:147
67#: qml/Components/Dialogs.qml:147
67msgctxt "Button: Lock the system"
68msgctxt "Button: Lock the system"
68msgid "Lock"
69msgid "Lock"
69−msgstr ""
70+msgstr "Ŝlosi"
70
71
71#: qml/Components/Dialogs.qml:154
72#: qml/Components/Dialogs.qml:154
72msgctxt "Button: Log out from the system"
73msgctxt "Button: Log out from the system"
73msgid "Log Out"
74msgid "Log Out"
74−msgstr ""
75+msgstr "Elsaluti"
75
76
76#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:194
77#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:194
77#: qml/Components/Dialogs.qml:253
78#: qml/Components/Dialogs.qml:253
78msgid "Cancel"
79msgid "Cancel"
79−msgstr ""
80+msgstr "Nuligi"
80
81
81#: qml/Components/Dialogs.qml:173
82#: qml/Components/Dialogs.qml:173
82msgctxt "Title: Reboot/Shut down dialog"
83msgctxt "Title: Reboot/Shut down dialog"
@@ -108,16 +109,16 @@ msgstr ""
108
109
109#: qml/Components/Dialogs.qml:210
110#: qml/Components/Dialogs.qml:210
110msgid "No"
111msgid "No"
111−msgstr ""
112+msgstr "Ne"
112
113
113#: qml/Components/Dialogs.qml:217
114#: qml/Components/Dialogs.qml:217
114msgid "Yes"
115msgid "Yes"
115−msgstr ""
116+msgstr "Jes"
116
117
117#: qml/Components/Dialogs.qml:232
118#: qml/Components/Dialogs.qml:232
118msgctxt "Title: Power off/Restart dialog"
119msgctxt "Title: Power off/Restart dialog"
119msgid "Power"
120msgid "Power"
120−msgstr ""
121+msgstr "Energio"
121
122
122#: qml/Components/Dialogs.qml:233
123#: qml/Components/Dialogs.qml:233
123msgid ""
124msgid ""
@@ -145,7 +146,7 @@ msgstr ""
145
146
146#: qml/Components/Lockscreen.qml:277
147#: qml/Components/Lockscreen.qml:277
147msgid "OK"
148msgid "OK"
148−msgstr ""
149+msgstr "Bone"
149
150
150#: qml/Components/ModeSwitchWarningDialog.qml:32
151#: qml/Components/ModeSwitchWarningDialog.qml:32
151msgid "Apps may have unsaved data:"
152msgid "Apps may have unsaved data:"
@@ -179,12 +180,12 @@ msgstr ""
179#: qml/Dash/DashPageHeader.qml:272
180#: qml/Dash/DashPageHeader.qml:272
180msgctxt "Button: Start a search in the current dash scope"
181msgctxt "Button: Start a search in the current dash scope"
181msgid "Search"
182msgid "Search"
182−msgstr ""
183+msgstr "Serĉi"
183
184
184#: qml/Dash/DashPageHeader.qml:282
185#: qml/Dash/DashPageHeader.qml:282
185msgctxt "Button: Show the current dash scope settings"
186msgctxt "Button: Show the current dash scope settings"
186msgid "Settings"
187msgid "Settings"
187−msgstr ""
188+msgstr "Agordoj"
188
189
189#: qml/Dash/DashPageHeader.qml:289
190#: qml/Dash/DashPageHeader.qml:289
190msgid "Remove from Favorites"
191msgid "Remove from Favorites"
@@ -192,7 +193,7 @@ msgstr ""
192
193
193#: qml/Dash/DashPageHeader.qml:289
194#: qml/Dash/DashPageHeader.qml:289
194msgid "Add to Favorites"
195msgid "Add to Favorites"
195−msgstr ""
196+msgstr "Aldoni al favoritoj"
196
197
197#: qml/Dash/GenericScopeView.qml:576 qml/Dash/GenericScopeView.qml:734
198#: qml/Dash/GenericScopeView.qml:576 qml/Dash/GenericScopeView.qml:734
198msgid "See less"
199msgid "See less"
@@ -205,11 +206,11 @@ msgstr ""
205#: qml/Dash/GenericScopeView.qml:638
206#: qml/Dash/GenericScopeView.qml:638
206msgctxt "Label: Hint for dash search line edit"
207msgctxt "Label: Hint for dash search line edit"
207msgid "Search"
208msgid "Search"
208−msgstr ""
209+msgstr "Serĉi"
209
210
210#: qml/Dash/Previews/PreviewActionCombo.qml:35
211#: qml/Dash/Previews/PreviewActionCombo.qml:35
211msgid "More..."
212msgid "More..."
212−msgstr ""
213+msgstr "Pli…"
213
214
214#: qml/Dash/Previews/PreviewActionCombo.qml:35
215#: qml/Dash/Previews/PreviewActionCombo.qml:35
215msgid "Less..."
216msgid "Less..."
@@ -262,11 +263,11 @@ msgstr ""
262
263
263#: qml/Greeter/CoverPage.qml:107
264#: qml/Greeter/CoverPage.qml:107
264msgid "Unlock"
265msgid "Unlock"
265−msgstr ""
266+msgstr "Malŝlosi"
266
267
267#: qml/Greeter/LoginList.qml:236
268#: qml/Greeter/LoginList.qml:236
268msgid "Retry"
269msgid "Retry"
269−msgstr ""
270+msgstr "Reprovi"
270
271
271#: qml/Greeter/LoginList.qml:237
272#: qml/Greeter/LoginList.qml:237
272msgid "Tap to unlock"
273msgid "Tap to unlock"
@@ -347,32 +348,32 @@ msgstr ""
347#, qt-format
348#, qt-format
348msgid "%1 hour"
349msgid "%1 hour"
349msgid_plural "%1 hours"
350msgid_plural "%1 hours"
350−msgstr[0] ""
351+msgstr[0] "%1 horo"
351−msgstr[1] ""
352+msgstr[1] "%1 horoj"
352
353
353#: qml/Panel/Indicators/MenuItemFactory.qml:864
354#: qml/Panel/Indicators/MenuItemFactory.qml:864
354#, qt-format
355#, qt-format
355msgid "%1 minute"
356msgid "%1 minute"
356msgid_plural "%1 minutes"
357msgid_plural "%1 minutes"
357−msgstr[0] ""
358+msgstr[0] "%1 minuto"
358−msgstr[1] ""
359+msgstr[1] "%1 minutoj"
359
360
360#: qml/Panel/Indicators/MenuItemFactory.qml:869
361#: qml/Panel/Indicators/MenuItemFactory.qml:869
361#, qt-format
362#, qt-format
362msgid "%1 second"
363msgid "%1 second"
363msgid_plural "%1 seconds"
364msgid_plural "%1 seconds"
364−msgstr[0] ""
365+msgstr[0] "%1 sekundo"
365−msgstr[1] ""
366+msgstr[1] "%1 sekundoj"
366
367
367#: qml/Panel/Indicators/MenuItemFactory.qml:872
368#: qml/Panel/Indicators/MenuItemFactory.qml:872
368msgid "0 seconds"
369msgid "0 seconds"
369−msgstr ""
370+msgstr "0 sekundoj"
370
371
371#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
372#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
372#: qml/Panel/Indicators/MenuItemFactory.qml:874
373#: qml/Panel/Indicators/MenuItemFactory.qml:874
373#, qt-format
374#, qt-format
374msgid "%1 remaining"
375msgid "%1 remaining"
375−msgstr ""
376+msgstr "%1 restas"
376
377
377#: qml/Panel/Indicators/MenuItemFactory.qml:880
378#: qml/Panel/Indicators/MenuItemFactory.qml:880
378msgid "In queue…"
379msgid "In queue…"
@@ -388,11 +389,11 @@ msgstr ""
388
389
389#: qml/Panel/Indicators/MenuItemFactory.qml:888
390#: qml/Panel/Indicators/MenuItemFactory.qml:888
390msgid "Canceled"
391msgid "Canceled"
391−msgstr ""
392+msgstr "Nuligita"
392
393
393#: qml/Panel/Indicators/MenuItemFactory.qml:890
394#: qml/Panel/Indicators/MenuItemFactory.qml:890
394msgid "Finished"
395msgid "Finished"
395−msgstr ""
396+msgstr "Finita"
396
397
397#: qml/Panel/Indicators/MenuItemFactory.qml:892
398#: qml/Panel/Indicators/MenuItemFactory.qml:892
398msgid "Failed, tap to retry"
399msgid "Failed, tap to retry"
@@ -402,12 +403,12 @@ msgstr ""
402#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
403#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
403msgctxt "Button: Send a reply message"
404msgctxt "Button: Send a reply message"
404msgid "Send"
405msgid "Send"
405−msgstr ""
406+msgstr "Sendi"
406
407
407#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
408#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
408msgctxt "Label: Hint in message indicator line edit"
409msgctxt "Label: Hint in message indicator line edit"
409msgid "Reply"
410msgid "Reply"
410−msgstr ""
411+msgstr "Respondi"
411
412
412#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
413#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
413msgctxt "Button: Call back on phone"
414msgctxt "Button: Call back on phone"
@@ -420,7 +421,7 @@ msgstr ""
420
421
421#: qml/Panel/Indicators/RoamingIndication.qml:27
422#: qml/Panel/Indicators/RoamingIndication.qml:27
422msgid "Roaming"
423msgid "Roaming"
423−msgstr ""
424+msgstr "Retmigrado"
424
425
425#: qml/Tutorial/TutorialBottom.qml:28
426#: qml/Tutorial/TutorialBottom.qml:28
426msgid "Open special menus"
427msgid "Open special menus"
@@ -461,7 +462,7 @@ msgstr ""
461
462
462#: qml/Tutorial/TutorialPage.qml:195
463#: qml/Tutorial/TutorialPage.qml:195
463msgid "Try again."
464msgid "Try again."
464−msgstr ""
465+msgstr "Reprovu."
465
466
466#: qml/Tutorial/TutorialRight.qml:31
467#: qml/Tutorial/TutorialRight.qml:31
467msgid "To view open apps"
468msgid "To view open apps"
@@ -478,15 +479,15 @@ msgstr ""
478#: qml/Wizard/Page.qml:89
479#: qml/Wizard/Page.qml:89
479msgctxt "Button: Go back one page in the Wizard"
480msgctxt "Button: Go back one page in the Wizard"
480msgid "Back"
481msgid "Back"
481−msgstr ""
482+msgstr "Reen"
482
483
483#: qml/Wizard/Pages/10-welcome.qml:27
484#: qml/Wizard/Pages/10-welcome.qml:27
484msgid "Hi!"
485msgid "Hi!"
485−msgstr ""
486+msgstr "Saluton!"
486
487
487#: qml/Wizard/Pages/10-welcome.qml:44
488#: qml/Wizard/Pages/10-welcome.qml:44
488msgid "Welcome to your Ubuntu phone."
489msgid "Welcome to your Ubuntu phone."
489−msgstr ""
490+msgstr "Bonvenon al via Ubuntu-telefono."
490
491
491#: qml/Wizard/Pages/10-welcome.qml:52
492#: qml/Wizard/Pages/10-welcome.qml:52
492msgid "Let’s get started."
493msgid "Let’s get started."
@@ -497,7 +498,7 @@ msgstr ""
497#: qml/Wizard/Pages/60-reporting.qml:60 qml/Wizard/Pages/passwd-confirm.qml:82
498#: qml/Wizard/Pages/60-reporting.qml:60 qml/Wizard/Pages/passwd-confirm.qml:82
498#: qml/Wizard/Pages/passwd-set.qml:90
499#: qml/Wizard/Pages/passwd-set.qml:90
499msgid "Continue"
500msgid "Continue"
500−msgstr ""
501+msgstr "Daŭrigi"
501
502
502#: qml/Wizard/Pages/20-sim.qml:25
503#: qml/Wizard/Pages/20-sim.qml:25
503msgid "Add a SIM card and restart your device"
504msgid "Add a SIM card and restart your device"
@@ -551,7 +552,7 @@ msgstr ""
551
552
552#: qml/Wizard/Pages/40-wifi.qml:29
553#: qml/Wizard/Pages/40-wifi.qml:29
553msgid "Connect to Wi‑Fi"
554msgid "Connect to Wi‑Fi"
554−msgstr ""
555+msgstr "Konekti al sendrata reto"
555
556
556#: qml/Wizard/Pages/40-wifi.qml:168
557#: qml/Wizard/Pages/40-wifi.qml:168
557msgid "Available networks…"
558msgid "Available networks…"
@@ -563,7 +564,7 @@ msgstr ""
563
564
564#: qml/Wizard/Pages/50-location.qml:27
565#: qml/Wizard/Pages/50-location.qml:27
565msgid "Location"
566msgid "Location"
566−msgstr ""
567+msgstr "Loko"
567
568
568#: qml/Wizard/Pages/50-location.qml:62
569#: qml/Wizard/Pages/50-location.qml:62
569msgid "Let the phone detect your location:"
570msgid "Let the phone detect your location:"
@@ -639,7 +640,7 @@ msgstr ""
639#: qml/Wizard/Pages/passwd-confirm.qml:53
640#: qml/Wizard/Pages/passwd-confirm.qml:53
640#: qml/Wizard/Pages/passwd-confirm.qml:54
641#: qml/Wizard/Pages/passwd-confirm.qml:54
641msgid "Please try again."
642msgid "Please try again."
642−msgstr ""
643+msgstr "Reprovu."
643
644
644#: qml/Wizard/Pages/passwd-set.qml:61
645#: qml/Wizard/Pages/passwd-set.qml:61
645msgid "Choose your passcode"
646msgid "Choose your passcode"
@@ -653,10 +654,10 @@ msgstr ""
653#: qml/Wizard/StackButton.qml:39
654#: qml/Wizard/StackButton.qml:39
654#, qt-format
655#, qt-format
655msgid "〈 %1"
656msgid "〈 %1"
656−msgstr ""
657+msgstr "〈 %1"
657
658
658#. Translators: This is the arrow for "Forward" buttons
659#. Translators: This is the arrow for "Forward" buttons
659#: qml/Wizard/StackButton.qml:42
660#: qml/Wizard/StackButton.qml:42
660#, qt-format
661#, qt-format
661msgid "%1 〉"
662msgid "%1 〉"
662−msgstr ""
663+msgstr "%1 〉"
po/es.po+10−7
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11−"PO-Revision-Date: 2015-07-04 06:08+0000\n"
11+"PO-Revision-Date: 2016-01-15 14:48+0000\n"
12−"Last-Translator: Paco Molinero <paco@byasl.com>\n"
12+"Last-Translator: Víctor R. Ruiz <Unknown>\n"
13"Language-Team: Spanish <es@li.org>\n"
13"Language-Team: Spanish <es@li.org>\n"
14+"Language: es\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-16 05:38+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -160,6 +161,8 @@ msgstr "Las aplicaciones podrían tener datos sin guardar."
160#: qml/Components/ModeSwitchWarningDialog.qml:57
161#: qml/Components/ModeSwitchWarningDialog.qml:57
161msgid "Re-dock, save your work and close these apps to continue."
162msgid "Re-dock, save your work and close these apps to continue."
162msgstr ""
163msgstr ""
164+"Re-acople el dispositivo, guarde el trabajo y cierre estas aplicaciones para "
165+"continuar."
163
166
164#: qml/Components/ModeSwitchWarningDialog.qml:63
167#: qml/Components/ModeSwitchWarningDialog.qml:63
165msgid "Or force close now (unsaved data will be lost)."
168msgid "Or force close now (unsaved data will be lost)."
@@ -732,8 +735,8 @@ msgstr "%1 〉"
732#~ "You have now mastered the edge gestures and can start using the "
735#~ "You have now mastered the edge gestures and can start using the "
733#~ "phone<br><br>Tap on the screen to start"
736#~ "phone<br><br>Tap on the screen to start"
734#~ msgstr ""
737#~ msgstr ""
735−#~ "Ahora domina los gestos de los bordes y puede usar el teléfono<br><br>Toque "
738+#~ "Ahora domina los gestos de los bordes y puede usar el "
736−#~ "la pantalla para comenzar"
739+#~ "teléfono<br><br>Toque la pantalla para comenzar"
737
740
738#~ msgid "Power off"
741#~ msgid "Power off"
739#~ msgstr "Apagar"
742#~ msgstr "Apagar"
po/eu.po+6−5
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-13 23:29+0000\n"
11"PO-Revision-Date: 2015-07-13 23:29+0000\n"
12"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
12"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
13"Language-Team: Basque <eu@li.org>\n"
13"Language-Team: Basque <eu@li.org>\n"
14+"Language: eu\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -761,8 +762,8 @@ msgstr "%1 〉"
761
762
762#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
763#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
763#~ msgstr ""
764#~ msgstr ""
764−#~ "Pasatu hatza ezkerretik abiarazlea erakutsi eta aplikazioak berehala eskura "
765+#~ "Pasatu hatza ezkerretik abiarazlea erakutsi eta aplikazioak berehala "
765−#~ "izateko"
766+#~ "eskura izateko"
766
767
767#~ msgid "Confirm"
768#~ msgid "Confirm"
768#~ msgstr "Berretsi"
769#~ msgstr "Berretsi"
po/fa.po+10−13
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-11 15:43+0000\n"
11"PO-Revision-Date: 2015-07-11 15:43+0000\n"
12"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
12"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
13"Language-Team: Persian <fa@li.org>\n"
13"Language-Team: Persian <fa@li.org>\n"
14+"Language: fa\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -41,8 +42,7 @@ msgstr "دستگاه قفل شد"
41
42
42#: qml/Components/DelayedLockscreen.qml:64
43#: qml/Components/DelayedLockscreen.qml:64
43msgid "You have been locked out due to too many failed passphrase attempts."
44msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−"شما به دلیل تلاش‌های بسیار زیاد شکست خورده برای عبارت‌عبور قفل شده‌اید."
45+msgstr "شما به دلیل تلاش‌های بسیار زیاد شکست خورده برای عبارت‌عبور قفل شده‌اید."
46
46
47#: qml/Components/DelayedLockscreen.qml:65
47#: qml/Components/DelayedLockscreen.qml:65
48msgid "You have been locked out due to too many failed passcode attempts."
48msgid "You have been locked out due to too many failed passcode attempts."
@@ -509,8 +509,7 @@ msgstr "سیم‌کارتی افزوده و دستگاهتان را شروع م
509
509
510#: qml/Wizard/Pages/20-sim.qml:59
510#: qml/Wizard/Pages/20-sim.qml:59
511msgid "Without it, you won’t be able to make calls or use text messaging."
511msgid "Without it, you won’t be able to make calls or use text messaging."
512−msgstr ""
513−"بدون آن، نخواهید توانست تماس گرفته با از پیام‌رسانی متنی استفاده کنید."
512+msgstr "بدون آن، نخواهید توانست تماس گرفته با از پیام‌رسانی متنی استفاده کنید."
514
513
515#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
514#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
516msgid "Skip"
515msgid "Skip"
@@ -580,8 +579,7 @@ msgstr "فقط با استفاده از جی‌پی‌اس (دقّت کم‌تر
580
579
581#: qml/Wizard/Pages/50-location.qml:86
580#: qml/Wizard/Pages/50-location.qml:86
582msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
581msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
583−msgstr ""
584−"با استفاده از جی‌پی‌اس، بی‌سیم ناشناس و اطّلاعات شبکه‌ی سلّولی (پیشنهاد شده)"
582+msgstr "با استفاده از جی‌پی‌اس، بی‌سیم ناشناس و اطّلاعات شبکه‌ی سلّولی (پیشنهاد شده)"
585
583
586#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
584#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
587#: qml/Wizard/Pages/50-location.qml:103
585#: qml/Wizard/Pages/50-location.qml:103
@@ -617,8 +615,7 @@ msgid ""
617"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
615"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
618"Privacy</b>"
616"Privacy</b>"
619msgstr ""
617msgstr ""
620−"این می‌تواند در <b>تنظیمات سامانه</b> ذیل <b>امنیت و محرمانگی</b> غیرفعَال "
618+"این می‌تواند در <b>تنظیمات سامانه</b> ذیل <b>امنیت و محرمانگی</b> غیرفعَال شود"
621−"شود"
622
619
623#: qml/Wizard/Pages/80-finished.qml:24
620#: qml/Wizard/Pages/80-finished.qml:24
624msgid "All done"
621msgid "All done"
@@ -710,8 +707,8 @@ msgstr "%1 〉"
710#~ "You have now mastered the edge gestures and can start using the "
707#~ "You have now mastered the edge gestures and can start using the "
711#~ "phone<br><br>Tap on the screen to start"
708#~ "phone<br><br>Tap on the screen to start"
712#~ msgstr ""
709#~ msgstr ""
713−#~ "هم اکنون در استفاده از ژست های حرکتی مهارت لازم را دارید و می‌توانید استفاده "
710+#~ "هم اکنون در استفاده از ژست های حرکتی مهارت لازم را دارید و می‌توانید "
714−#~ "از تلفن را آغاز کنید<br><br>برای شروع صفحه را لمس کنید"
711+#~ "استفاده از تلفن را آغاز کنید<br><br>برای شروع صفحه را لمس کنید"
715
712
716#~ msgid "Confirm"
713#~ msgid "Confirm"
717#~ msgstr "تأیید"
714#~ msgstr "تأیید"
po/fi.po+5−5
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-04 18:32+0000\n"
11"PO-Revision-Date: 2015-07-04 18:32+0000\n"
12"Last-Translator: Jiri Grönroos <Unknown>\n"
12"Last-Translator: Jiri Grönroos <Unknown>\n"
13"Language-Team: Finnish <fi@li.org>\n"
13"Language-Team: Finnish <fi@li.org>\n"
14+"Language: fi\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -46,8 +47,7 @@ msgstr ""
46
47
47#: qml/Components/DelayedLockscreen.qml:65
48#: qml/Components/DelayedLockscreen.qml:65
48msgid "You have been locked out due to too many failed passcode attempts."
49msgid "You have been locked out due to too many failed passcode attempts."
49−msgstr ""
50−"Laite on lukittu liian monen virheellisen suojakoodiyrityksen jälkeen."
50+msgstr "Laite on lukittu liian monen virheellisen suojakoodiyrityksen jälkeen."
51
51
52#: qml/Components/DelayedLockscreen.qml:74
52#: qml/Components/DelayedLockscreen.qml:74
53#, qt-format
53#, qt-format
po/fo.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-01-14 20:08+0000\n"
11"PO-Revision-Date: 2014-01-14 20:08+0000\n"
12"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
12"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
13"Language-Team: Faroese <fo@li.org>\n"
13"Language-Team: Faroese <fo@li.org>\n"
14+"Language: fo\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/fr.po+9−6
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-11-07 19:43+0000\n"
11"PO-Revision-Date: 2015-11-07 19:43+0000\n"
12"Last-Translator: Jean-Marc <Unknown>\n"
12"Last-Translator: Jean-Marc <Unknown>\n"
13"Language-Team: French <fr@li.org>\n"
13"Language-Team: French <fr@li.org>\n"
14+"Language: fr\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -160,6 +161,8 @@ msgstr "Les applications peuvent avoir des données non enregistrées :"
160#: qml/Components/ModeSwitchWarningDialog.qml:57
161#: qml/Components/ModeSwitchWarningDialog.qml:57
161msgid "Re-dock, save your work and close these apps to continue."
162msgid "Re-dock, save your work and close these apps to continue."
162msgstr ""
163msgstr ""
164+"Rebranchez-vous sur la station d'accueil, enregistrez votre travail et "
165+"fermez ces applications pour continuer."
163
166
164#: qml/Components/ModeSwitchWarningDialog.qml:63
167#: qml/Components/ModeSwitchWarningDialog.qml:63
165msgid "Or force close now (unsaved data will be lost)."
168msgid "Or force close now (unsaved data will be lost)."
@@ -169,7 +172,7 @@ msgstr ""
169
172
170#: qml/Components/ModeSwitchWarningDialog.qml:75
173#: qml/Components/ModeSwitchWarningDialog.qml:75
171msgid "OK, I will reconnect"
174msgid "OK, I will reconnect"
172−msgstr ""
175+msgstr "OK, je vais me reconnecter"
173
176
174#: qml/Components/ModeSwitchWarningDialog.qml:76
177#: qml/Components/ModeSwitchWarningDialog.qml:76
175msgid "Reconnect now!"
178msgid "Reconnect now!"
@@ -746,8 +749,8 @@ msgstr "%1 〉"
746
749
747#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
750#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
748#~ msgstr ""
751#~ msgstr ""
749−#~ "Faites glisser votre doigt à partir du bord gauche pour afficher le lanceur "
752+#~ "Faites glisser votre doigt à partir du bord gauche pour afficher le "
750−#~ "d'applications."
753+#~ "lanceur d'applications."
751
754
752#~ msgid "Power off"
755#~ msgid "Power off"
753#~ msgstr "Éteindre"
756#~ msgstr "Éteindre"
po/ga.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-12-17 16:56+0000\n"
11"PO-Revision-Date: 2015-12-17 16:56+0000\n"
12"Last-Translator: Joshua Kiley <Unknown>\n"
12"Last-Translator: Joshua Kiley <Unknown>\n"
13"Language-Team: Irish <ga@li.org>\n"
13"Language-Team: Irish <ga@li.org>\n"
14+"Language: ga\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
18"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2015-12-18 05:51+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/gd.po+20−15
@@ -6,19 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-16 10:56+0000\n"
11"PO-Revision-Date: 2015-07-16 10:56+0000\n"
12"Last-Translator: GunChleoc <Unknown>\n"
12"Last-Translator: GunChleoc <Unknown>\n"
13"Language-Team: Fòram na Gàidhlig\n"
13"Language-Team: Fòram na Gàidhlig\n"
14+"Language: gd\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
18"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
18"(n > 2 && n < 20) ? 2 : 3;\n"
19"(n > 2 && n < 20) ? 2 : 3;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21−"Language: gd\n"
22
22
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
24msgid "Password: "
24msgid "Password: "
@@ -159,27 +159,29 @@ msgstr "Ceart ma-thà"
159
159
160#: qml/Components/ModeSwitchWarningDialog.qml:32
160#: qml/Components/ModeSwitchWarningDialog.qml:32
161msgid "Apps may have unsaved data:"
161msgid "Apps may have unsaved data:"
162−msgstr ""
162+msgstr "Aplacaidean aig a bheil dàta gun sàbhaladh ma dh'fhaoidte:"
163
163
164#: qml/Components/ModeSwitchWarningDialog.qml:57
164#: qml/Components/ModeSwitchWarningDialog.qml:57
165msgid "Re-dock, save your work and close these apps to continue."
165msgid "Re-dock, save your work and close these apps to continue."
166msgstr ""
166msgstr ""
167+"Ath-dhocaich, sàbhail d' obair is dùin na h-aplacaidean sin gus leantainn "
168+"air adhart."
167
169
168#: qml/Components/ModeSwitchWarningDialog.qml:63
170#: qml/Components/ModeSwitchWarningDialog.qml:63
169msgid "Or force close now (unsaved data will be lost)."
171msgid "Or force close now (unsaved data will be lost)."
170−msgstr ""
172+msgstr "No sparr fàgail air an-dràsta (thèid dàta gun sàbhaladh air chall)."
171
173
172#: qml/Components/ModeSwitchWarningDialog.qml:75
174#: qml/Components/ModeSwitchWarningDialog.qml:75
173msgid "OK, I will reconnect"
175msgid "OK, I will reconnect"
174−msgstr ""
176+msgstr "Ceart ma-thà, ceanglaidh mi a-rithist"
175
177
176#: qml/Components/ModeSwitchWarningDialog.qml:76
178#: qml/Components/ModeSwitchWarningDialog.qml:76
177msgid "Reconnect now!"
179msgid "Reconnect now!"
178−msgstr ""
180+msgstr "Ath-cheangail an-dràsta!"
179
181
180#: qml/Components/ModeSwitchWarningDialog.qml:88
182#: qml/Components/ModeSwitchWarningDialog.qml:88
181msgid "Close all"
183msgid "Close all"
182−msgstr ""
184+msgstr "Dùin na h-uile"
183
185
184#: qml/Dash/DashPageHeader.qml:265
186#: qml/Dash/DashPageHeader.qml:265
185msgctxt "Button: Open the Ubuntu Store"
187msgctxt "Button: Open the Ubuntu Store"
@@ -269,6 +271,8 @@ msgstr "Air a stàladh cuideachd"
269#: qml/DisabledScreenNotice.qml:42
271#: qml/DisabledScreenNotice.qml:42
270msgid "Your device is now connected to an external display."
272msgid "Your device is now connected to an external display."
271msgstr ""
273msgstr ""
274+"Tha an t-uidheam agad ceangailte ri uidheam-taisbeanaidh air an taobh a-"
275+"muigh a-nis."
272
276
273#: qml/Greeter/CoverPage.qml:107
277#: qml/Greeter/CoverPage.qml:107
274msgid "Unlock"
278msgid "Unlock"
@@ -424,7 +428,7 @@ msgstr "Dh'fhàillig leis, thoir gnogag gus feuchainn a-rithist"
424#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
428#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
425msgctxt "Button: Send a reply message"
429msgctxt "Button: Send a reply message"
426msgid "Send"
430msgid "Send"
427−msgstr ""
431+msgstr "Cuir"
428
432
429#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
433#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
430msgctxt "Label: Hint in message indicator line edit"
434msgctxt "Label: Hint in message indicator line edit"
@@ -434,7 +438,7 @@ msgstr "Freagairt"
434#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
438#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
435msgctxt "Button: Call back on phone"
439msgctxt "Button: Call back on phone"
436msgid "Call back"
440msgid "Call back"
437−msgstr ""
441+msgstr "Fònaig air ais"
438
442
439#: qml/Panel/Indicators/ModemInfoItem.qml:105
443#: qml/Panel/Indicators/ModemInfoItem.qml:105
440msgid "Unlock SIM"
444msgid "Unlock SIM"
@@ -699,8 +703,8 @@ msgstr "%1 〉"
699
703
700#~ msgid "Try swiping from the right edge to unlock the phone"
704#~ msgid "Try swiping from the right edge to unlock the phone"
701#~ msgstr ""
705#~ msgstr ""
702−#~ "Feuch is dèan grad-shlaighdeadh a-steach on oir dheas gus a' ghlas a thoirt "
706+#~ "Feuch is dèan grad-shlaighdeadh a-steach on oir dheas gus a' ghlas a "
703−#~ "far an fhòn"
707+#~ "thoirt far an fhòn"
704
708
705#~ msgid "Right edge"
709#~ msgid "Right edge"
706#~ msgstr "An oir dheas"
710#~ msgstr "An oir dheas"
@@ -752,8 +756,9 @@ msgstr "%1 〉"
752#~ "You have now mastered the edge gestures and can start using the "
756#~ "You have now mastered the edge gestures and can start using the "
753#~ "phone<br><br>Tap on the screen to start"
757#~ "phone<br><br>Tap on the screen to start"
754#~ msgstr ""
758#~ msgstr ""
755−#~ "Fhuair thu air na gluasadan oire ceart a dhèanamh a-nis agus is urrainn dhut "
759+#~ "Fhuair thu air na gluasadan oire ceart a dhèanamh a-nis agus is urrainn "
756−#~ "am fòn a chleachdadh<br><br>Thoir gnogag air an sgrìn airson tòiseachadh"
760+#~ "dhut am fòn a chleachdadh<br><br>Thoir gnogag air an sgrìn airson "
761+#~ "tòiseachadh"
757
762
758#~ msgid "All"
763#~ msgid "All"
759#~ msgstr "Na h-uile"
764#~ msgstr "Na h-uile"
po/gl.po+8−6
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11−"PO-Revision-Date: 2015-12-04 17:06+0000\n"
11+"PO-Revision-Date: 2016-01-15 14:56+0000\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
13"Language-Team: Galician <gl@li.org>\n"
13"Language-Team: Galician <gl@li.org>\n"
14+"Language: gl\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-16 05:38+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -154,6 +155,8 @@ msgstr "Aplicativos que poden ter datos sen gardar:"
154#: qml/Components/ModeSwitchWarningDialog.qml:57
155#: qml/Components/ModeSwitchWarningDialog.qml:57
155msgid "Re-dock, save your work and close these apps to continue."
156msgid "Re-dock, save your work and close these apps to continue."
156msgstr ""
157msgstr ""
158+"Para continuar conecte de novo o dispositivo, garde o traballo e peche estes "
159+"aplicativos."
157
160
158#: qml/Components/ModeSwitchWarningDialog.qml:63
161#: qml/Components/ModeSwitchWarningDialog.qml:63
159msgid "Or force close now (unsaved data will be lost)."
162msgid "Or force close now (unsaved data will be lost)."
@@ -509,8 +512,7 @@ msgstr "Engada unha tarxeta SIM e reinicie o dispositivo"
509
512
510#: qml/Wizard/Pages/20-sim.qml:59
513#: qml/Wizard/Pages/20-sim.qml:59
511msgid "Without it, you won’t be able to make calls or use text messaging."
514msgid "Without it, you won’t be able to make calls or use text messaging."
512−msgstr ""
513−"Sen ela, non poderá realizar chamadas nin usar a mensaxería de texto."
515+msgstr "Sen ela, non poderá realizar chamadas nin usar a mensaxería de texto."
514
516
515#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
517#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
516msgid "Skip"
518msgid "Skip"
po/gv.po+9−7
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-04-02 14:24+0000\n"
11"PO-Revision-Date: 2015-04-02 14:24+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Manx <gv@li.org>\n"
13"Language-Team: Manx <gv@li.org>\n"
14+"Language: gv\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : (n == 2 ? 1 : 2);\n"
18"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : (n == 2 ? 1 : 2);\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -691,8 +692,8 @@ msgstr ""
691
692
692#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
693#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
693#~ msgstr ""
694#~ msgstr ""
694−#~ "Flip woish yn çheu hoshtal dy soilshaghey yn lunneyder son raad aashagh dys "
695+#~ "Flip woish yn çheu hoshtal dy soilshaghey yn lunneyder son raad aashagh "
695−#~ "ny h-appyn"
696+#~ "dys ny h-appyn"
696
697
697#~ msgid "Well done"
698#~ msgid "Well done"
698#~ msgstr "Jeant dy mie"
699#~ msgstr "Jeant dy mie"
@@ -722,8 +723,9 @@ msgstr ""
722#~ "You have now mastered the edge gestures and can start using the "
723#~ "You have now mastered the edge gestures and can start using the "
723#~ "phone<br><br>Tap on the screen to start"
724#~ "phone<br><br>Tap on the screen to start"
724#~ msgstr ""
725#~ msgstr ""
725−#~ "T'ou nish oayllagh er ny cowraghyn oirr as foddee oo cur toshiaght er jannoo "
726+#~ "T'ou nish oayllagh er ny cowraghyn oirr as foddee oo cur toshiaght er "
726−#~ "ymmyd jeh'n çhellvane<br><br>Jean broddey yn scaailan dy ghoaill toshiaght"
727+#~ "jannoo ymmyd jeh'n çhellvane<br><br>Jean broddey yn scaailan dy ghoaill "
728+#~ "toshiaght"
727
729
728#~ msgid "Store"
730#~ msgid "Store"
729#~ msgstr "Shapp"
731#~ msgstr "Shapp"
po/he.po+6−5
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-12 08:47+0000\n"
11"PO-Revision-Date: 2015-07-12 08:47+0000\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
13"Language-Team: Hebrew <he@li.org>\n"
13"Language-Team: Hebrew <he@li.org>\n"
14+"Language: he\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -713,8 +714,8 @@ msgstr ""
713#~ "You have now mastered the edge gestures and can start using the "
714#~ "You have now mastered the edge gestures and can start using the "
714#~ "phone<br><br>Tap on the screen to start"
715#~ "phone<br><br>Tap on the screen to start"
715#~ msgstr ""
716#~ msgstr ""
716−#~ "ברגעים אלו סיימת את התמחותך בשימוש במחוות קצה והטלפון פתוח לשימושך<br><br>נא "
717+#~ "ברגעים אלו סיימת את התמחותך בשימוש במחוות קצה והטלפון פתוח "
717−#~ "לגעת במסך כדי להתחיל"
718+#~ "לשימושך<br><br>נא לגעת במסך כדי להתחיל"
718
719
719#~ msgid "Power off"
720#~ msgid "Power off"
720#~ msgstr "כיבוי"
721#~ msgstr "כיבוי"
po/hi.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-01-15 01:49+0000\n"
11"PO-Revision-Date: 2014-01-15 01:49+0000\n"
12"Last-Translator: Siddhanathan Shanmugam <Unknown>\n"
12"Last-Translator: Siddhanathan Shanmugam <Unknown>\n"
13"Language-Team: Hindi <hi@li.org>\n"
13"Language-Team: Hindi <hi@li.org>\n"
14+"Language: hi\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/hr.po+8−7
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2013-06-27 04:14+0000\n"
11"PO-Revision-Date: 2013-06-27 04:14+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Croatian <hr@li.org>\n"
13"Language-Team: Croatian <hr@li.org>\n"
14+"Language: hr\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17−"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
18−"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
@@ -595,8 +596,8 @@ msgid ""
595"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
596"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
596"conditions</a>."
597"conditions</a>."
597msgstr ""
598msgstr ""
598−"Odabirom ove mogućnosti prihvaćate Nokia HERE <a href='#'>uvjete i "
599+"Odabirom ove mogućnosti prihvaćate Nokia HERE <a href='#'>uvjete i odredbe</"
599−"odredbe</a>."
600+"a>."
600
601
601#: qml/Wizard/Pages/50-location.qml:112
602#: qml/Wizard/Pages/50-location.qml:112
602msgid "Not at all"
603msgid "Not at all"
po/hu.po+6−5
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-12-30 09:49+0000\n"
11"PO-Revision-Date: 2015-12-30 09:49+0000\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
14+"Language: hu\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-31 05:35+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -728,8 +729,8 @@ msgstr "%1 〉"
728#~ "You have now mastered the edge gestures and can start using the "
729#~ "You have now mastered the edge gestures and can start using the "
729#~ "phone<br><br>Tap on the screen to start"
730#~ "phone<br><br>Tap on the screen to start"
730#~ msgstr ""
731#~ msgstr ""
731−#~ "Elsajátította a gesztusokat, és megkezdheti a telefon "
732+#~ "Elsajátította a gesztusokat, és megkezdheti a telefon használatát."
732−#~ "használatát.<br><br>Koppintson a képernyőre a kezdéshez."
733+#~ "<br><br>Koppintson a képernyőre a kezdéshez."
733
734
734#~ msgid "Try swiping from the top edge to access the indicators"
735#~ msgid "Try swiping from the top edge to access the indicators"
735#~ msgstr "Az állapotmenük eléréséhez csúsztassa ujját a felső szélről"
736#~ msgstr "Az állapotmenük eléréséhez csúsztassa ujját a felső szélről"
po/hy.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-10-28 06:34+0000\n"
11"PO-Revision-Date: 2014-10-28 06:34+0000\n"
12"Last-Translator: Vahan Harutyunyan <Unknown>\n"
12"Last-Translator: Vahan Harutyunyan <Unknown>\n"
13"Language-Team: Armenian <hy@li.org>\n"
13"Language-Team: Armenian <hy@li.org>\n"
14+"Language: hy\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/ia.po+6−5
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-08-25 19:31+0000\n"
11"PO-Revision-Date: 2015-08-25 19:31+0000\n"
12"Last-Translator: karm <melo@carmu.com>\n"
12"Last-Translator: karm <melo@carmu.com>\n"
13"Language-Team: Interlingua <ia@li.org>\n"
13"Language-Team: Interlingua <ia@li.org>\n"
14+"Language: ia\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -604,8 +605,8 @@ msgstr "No, del toto"
604#: qml/Wizard/Pages/50-location.qml:124
605#: qml/Wizard/Pages/50-location.qml:124
605msgid "You can change your mind later in <b>System Settings</b>."
606msgid "You can change your mind later in <b>System Settings</b>."
606msgstr ""
607msgstr ""
607−"Tu pote cambiar tu desiderata plus tarde in <b>Configurationes del "
608+"Tu pote cambiar tu desiderata plus tarde in <b>Configurationes del systema</"
608−"systema</b>."
609+"b>."
609
610
610#: qml/Wizard/Pages/60-reporting.qml:26
611#: qml/Wizard/Pages/60-reporting.qml:26
611msgid "Improving your experience"
612msgid "Improving your experience"
po/id.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Indonesian <id@li.org>\n"
13"Language-Team: Indonesian <id@li.org>\n"
14+"Language: id\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/is.po+8−7
@@ -8,18 +8,18 @@
8msgid ""
8msgid ""
9msgstr ""
9msgstr ""
10"Project-Id-Version: po_unity8-is\n"
10"Project-Id-Version: po_unity8-is\n"
11−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11+"Report-Msgid-Bugs-To: \n"
12"POT-Creation-Date: 2015-12-08 15:42+0000\n"
12"POT-Creation-Date: 2015-12-08 15:42+0000\n"
13"PO-Revision-Date: 2014-11-13 09:32+0000\n"
13"PO-Revision-Date: 2014-11-13 09:32+0000\n"
14"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
14"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
15"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
15"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
16+"Language: is\n"
16"MIME-Version: 1.0\n"
17"MIME-Version: 1.0\n"
17"Content-Type: text/plain; charset=UTF-8\n"
18"Content-Type: text/plain; charset=UTF-8\n"
18"Content-Transfer-Encoding: 8bit\n"
19"Content-Transfer-Encoding: 8bit\n"
19"Plural-Forms: nplurals=2; plural=n != 1;\n"
20"Plural-Forms: nplurals=2; plural=n != 1;\n"
20−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
21+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
21−"X-Generator: Launchpad (build 17865)\n"
22+"X-Generator: Launchpad (build 17886)\n"
22−"Language: is\n"
23
23
24#: plugins/IntegratedLightDM/Greeter.cpp:112
24#: plugins/IntegratedLightDM/Greeter.cpp:112
25msgid "Password: "
25msgid "Password: "
@@ -703,7 +703,8 @@ msgstr ""
703
703
704#~ msgid "Try swiping from the right edge to unlock the phone"
704#~ msgid "Try swiping from the right edge to unlock the phone"
705#~ msgstr ""
705#~ msgstr ""
706−#~ "Prófaðu að strjúka fingrinum frá hægri brúninni til að aflæsa símanum þínum."
706+#~ "Prófaðu að strjúka fingrinum frá hægri brúninni til að aflæsa símanum "
707+#~ "þínum."
707
708
708#~ msgid "Try swiping from the top edge to access the indicators"
709#~ msgid "Try swiping from the top edge to access the indicators"
709#~ msgstr "Reyndu að strjúka frá toppi til að fá aðgang að tilkynningum"
710#~ msgstr "Reyndu að strjúka frá toppi til að fá aðgang að tilkynningum"
@@ -718,8 +719,8 @@ msgstr ""
718#~ "You have now mastered the edge gestures and can start using the "
719#~ "You have now mastered the edge gestures and can start using the "
719#~ "phone<br><br>Tap on the screen to start"
720#~ "phone<br><br>Tap on the screen to start"
720#~ msgstr ""
721#~ msgstr ""
721−#~ "Þú ert núna með æfingu í að nota skjáhreyfingar og getur því farið að nota "
722+#~ "Þú ert núna með æfingu í að nota skjáhreyfingar og getur því farið að "
722−#~ "símann<br><br>Sláðu létt á skjáinn til að byrja"
723+#~ "nota símann<br><br>Sláðu létt á skjáinn til að byrja"
723
724
724#~ msgid "Type or say a command"
725#~ msgid "Type or say a command"
725#~ msgstr "Skrifaðu eða segðu skipun"
726#~ msgstr "Skrifaðu eða segðu skipun"
po/it.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-09-18 08:24+0000\n"
11"PO-Revision-Date: 2015-09-18 08:24+0000\n"
12"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
12"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
13"Language-Team: Italian <it@li.org>\n"
13"Language-Team: Italian <it@li.org>\n"
14+"Language: it\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/ja.po+15−7
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-10-05 10:05+0000\n"
11"PO-Revision-Date: 2015-10-05 10:05+0000\n"
12"Last-Translator: Kentaro Kazuhama <Unknown>\n"
12"Last-Translator: Kentaro Kazuhama <Unknown>\n"
13"Language-Team: Japanese <ja@li.org>\n"
13"Language-Team: Japanese <ja@li.org>\n"
14+"Language: ja\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -287,13 +288,17 @@ msgstr "これが最後のチャンスです。"
287msgid ""
288msgid ""
288"If passphrase is entered incorrectly, your phone will conduct a factory "
289"If passphrase is entered incorrectly, your phone will conduct a factory "
289"reset and all personal data will be deleted."
290"reset and all personal data will be deleted."
291+msgstr ""
290−msgstr "パスフレーズが間違っている場合、ファクトリーリセットを実施し、すべての個人データは削除されます。"
292+"パスフレーズが間違っている場合、ファクトリーリセットを実施し、すべての個人"
293+"データは削除されます。"
291
294
292#: qml/Greeter/NarrowView.qml:59
295#: qml/Greeter/NarrowView.qml:59
293msgid ""
296msgid ""
294"If passcode is entered incorrectly, your phone will conduct a factory reset "
297"If passcode is entered incorrectly, your phone will conduct a factory reset "
295"and all personal data will be deleted."
298"and all personal data will be deleted."
299+msgstr ""
296−msgstr "パスコードが間違っている場合、ファクトリーリセットを実施し、すべての個人データは削除されます。"
300+"パスコードが間違っている場合、ファクトリーリセットを実施し、すべての個人デー"
301+"タは削除されます。"
297
302
298#: qml/Greeter/NarrowView.qml:116
303#: qml/Greeter/NarrowView.qml:116
299#, qt-format
304#, qt-format
@@ -673,7 +678,9 @@ msgstr ""
673#~ msgstr "左端"
678#~ msgstr "左端"
674
679
675#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
680#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
676−#~ msgstr "アプリに素早くアクセスできるLauncherを表示するには左からスワイプしてください"
681+#~ msgstr ""
682+#~ "アプリに素早くアクセスできるLauncherを表示するには左からスワイプしてくださ"
683+#~ "い"
677
684
678#~ msgid "Swipe up again to close the settings screen"
685#~ msgid "Swipe up again to close the settings screen"
679#~ msgstr "設定画面を閉じるにはもう一度上にスワイプしてください"
686#~ msgstr "設定画面を閉じるにはもう一度上にスワイプしてください"
@@ -709,7 +716,8 @@ msgstr ""
709#~ "You have now mastered the edge gestures and can start using the "
716#~ "You have now mastered the edge gestures and can start using the "
710#~ "phone<br><br>Tap on the screen to start"
717#~ "phone<br><br>Tap on the screen to start"
711#~ msgstr ""
718#~ msgstr ""
719+#~ "これでスマートフォンの操作に必要な、画面端を用いたジェスチャーを習得できま"
712−#~ "これでスマートフォンの操作に必要な、画面端を用いたジェスチャーを習得できました。<br><br>利用を開始するなら画面をタップしてください"
720+#~ "した。<br><br>利用を開始するなら画面をタップしてください"
713
721
714#~ msgid "Power off"
722#~ msgid "Power off"
715#~ msgstr "電源を切る"
723#~ msgstr "電源を切る"
po/km.po+10−14
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-08-20 02:48+0000\n"
11"PO-Revision-Date: 2014-08-20 02:48+0000\n"
12"Last-Translator: Sophea Sok <sksophea@gmail.com>\n"
12"Last-Translator: Sophea Sok <sksophea@gmail.com>\n"
13"Language-Team: Khmer <km@li.org>\n"
13"Language-Team: Khmer <km@li.org>\n"
14+"Language: \n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -291,18 +292,16 @@ msgid ""
291"If passphrase is entered incorrectly, your phone will conduct a factory "
292"If passphrase is entered incorrectly, your phone will conduct a factory "
292"reset and all personal data will be deleted."
293"reset and all personal data will be deleted."
293msgstr ""
294msgstr ""
294−"បើ​បញ្ចូល​ឃ្លា​សម្ងាត់​មិន​ត្រឹមត្រូវ "
295−"ទូរស័ព្ទ​របស់​អ្នក​នឹង​កំណត់​ទៅ​ទិន្នន័យ​ពី​រោងចក្រ​វិញ "
295+"បើ​បញ្ចូល​ឃ្លា​សម្ងាត់​មិន​ត្រឹមត្រូវ ទូរស័ព្ទ​របស់​អ្នក​នឹង​កំណត់​ទៅ​ទិន្នន័យ​ពី​រោងចក្រ​វិញ ហើយ​ទិន្នន័យ​ផ្ទាល់ខ្លួន​ទាំងអស់​"
296−"ហើយ​ទិន្នន័យ​ផ្ទាល់ខ្លួន​ទាំងអស់​របស់​អ្នក​នឹង​ត្រូវ​បាន​លុប។"
296+"របស់​អ្នក​នឹង​ត្រូវ​បាន​លុប។"
297
297
298#: qml/Greeter/NarrowView.qml:59
298#: qml/Greeter/NarrowView.qml:59
299msgid ""
299msgid ""
300"If passcode is entered incorrectly, your phone will conduct a factory reset "
300"If passcode is entered incorrectly, your phone will conduct a factory reset "
301"and all personal data will be deleted."
301"and all personal data will be deleted."
302msgstr ""
302msgstr ""
303−"បើ​បញ្ចូល​កូដ​សម្ងាត់​មិន​ត្រឹមត្រូវ "
304−"ទូរស័ព្ទ​របស់​អ្នក​នឹង​កំណត់​ទៅ​ទិន្នន័យ​ពី​រោងចក្រ​វិញ "
303+"បើ​បញ្ចូល​កូដ​សម្ងាត់​មិន​ត្រឹមត្រូវ ទូរស័ព្ទ​របស់​អ្នក​នឹង​កំណត់​ទៅ​ទិន្នន័យ​ពី​រោងចក្រ​វិញ ហើយ​ទិន្នន័យ​ផ្ទាល់ខ្លួន​ទាំងអស់​"
305−"ហើយ​ទិន្នន័យ​ផ្ទាល់ខ្លួន​ទាំងអស់​របស់​អ្នក​នឹង​ត្រូវ​បាន​លុប។"
304+"របស់​អ្នក​នឹង​ត្រូវ​បាន​លុប។"
306
305
307#: qml/Greeter/NarrowView.qml:116
306#: qml/Greeter/NarrowView.qml:116
308#, qt-format
307#, qt-format
@@ -694,9 +693,7 @@ msgstr "%1 〉"
694#~ msgstr "គែមឆ្វេង"
693#~ msgstr "គែមឆ្វេង"
695
694
696#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
695#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
697−#~ msgstr ""
698−#~ "អូស​ពី​គែម​ឆ្វេង "
699−#~ "ដើម្បី​បង្ហាញ​កម្មវិធី​ចាប់ផ្ដើម​សម្រាប់​ចូល​ដំណើរ​ការ​កម្មវិធី​រហ័ស"
696+#~ msgstr "អូស​ពី​គែម​ឆ្វេង ដើម្បី​បង្ហាញ​កម្មវិធី​ចាប់ផ្ដើម​សម្រាប់​ចូល​ដំណើរ​ការ​កម្មវិធី​រហ័ស"
700
697
701#~ msgid "Well done"
698#~ msgid "Well done"
702#~ msgstr "ធ្វើ​បាន​ល្អ"
699#~ msgstr "ធ្វើ​បាន​ល្អ"
@@ -723,8 +720,7 @@ msgstr "%1 〉"
723#~ "You have now mastered the edge gestures and can start using the "
720#~ "You have now mastered the edge gestures and can start using the "
724#~ "phone<br><br>Tap on the screen to start"
721#~ "phone<br><br>Tap on the screen to start"
725#~ msgstr ""
722#~ msgstr ""
726−#~ "ឥឡូវ​អ្នក​បាន​ពិនិត្យ​កាយវិការ​គែម​ "
727−#~ "និង​អាច​ចាប់ផ្ដើម​ប្រើ​ទូរស័ព្ទ<br><br>ប៉ះ លើ​អេក្រង់​ដើម្បី​ចាប់ផ្ដើម"
723+#~ "ឥឡូវ​អ្នក​បាន​ពិនិត្យ​កាយវិការ​គែម​ និង​អាច​ចាប់ផ្ដើម​ប្រើ​ទូរស័ព្ទ<br><br>ប៉ះ លើ​អេក្រង់​ដើម្បី​ចាប់ផ្ដើម"
728
724
729#~ msgid "All"
725#~ msgid "All"
730#~ msgstr "ទាំងអស់"
726#~ msgstr "ទាំងអស់"
po/kn.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kannada <kn@li.org>\n"
13"Language-Team: Kannada <kn@li.org>\n"
14+"Language: kn\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/ko.po+20−9
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-08-19 13:02+0000\n"
11"PO-Revision-Date: 2014-08-19 13:02+0000\n"
12"Last-Translator: MinSik CHO <Unknown>\n"
12"Last-Translator: MinSik CHO <Unknown>\n"
13"Language-Team: Korean <ko@li.org>\n"
13"Language-Team: Korean <ko@li.org>\n"
14+"Language: ko\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -287,13 +288,17 @@ msgstr "마지막 시도입니다."
287msgid ""
288msgid ""
288"If passphrase is entered incorrectly, your phone will conduct a factory "
289"If passphrase is entered incorrectly, your phone will conduct a factory "
289"reset and all personal data will be deleted."
290"reset and all personal data will be deleted."
291+msgstr ""
290−msgstr "이번에도 올바르지 않은 암호문을 입력하면 휴대 전화를 공장 초기화하여 모든 개인 정보를 삭제합니다."
292+"이번에도 올바르지 않은 암호문을 입력하면 휴대 전화를 공장 초기화하여 모든 개"
293+"인 정보를 삭제합니다."
291
294
292#: qml/Greeter/NarrowView.qml:59
295#: qml/Greeter/NarrowView.qml:59
293msgid ""
296msgid ""
294"If passcode is entered incorrectly, your phone will conduct a factory reset "
297"If passcode is entered incorrectly, your phone will conduct a factory reset "
295"and all personal data will be deleted."
298"and all personal data will be deleted."
299+msgstr ""
296−msgstr "이번에도 올바르지 않은 패스코드를 입력하면 휴대 전화를 공장 초기화하여 모든 개인 정보를 삭제합니다."
300+"이번에도 올바르지 않은 패스코드를 입력하면 휴대 전화를 공장 초기화하여 모든 "
301+"개인 정보를 삭제합니다."
297
302
298#: qml/Greeter/NarrowView.qml:116
303#: qml/Greeter/NarrowView.qml:116
299#, qt-format
304#, qt-format
@@ -578,7 +583,8 @@ msgstr "GPS와 익명 와이파이 통신사 네트워크를 사용(추천)"
578msgid ""
583msgid ""
579"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
584"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
580"conditions</a>."
585"conditions</a>."
586+msgstr ""
581−msgstr "이 옵션을 선택하면 자동으로 <a href='%1'>노키아 HERE 사용 조건에 동의합니다."
587+"이 옵션을 선택하면 자동으로 <a href='%1'>노키아 HERE 사용 조건에 동의합니다."
582
588
583#: qml/Wizard/Pages/50-location.qml:112
589#: qml/Wizard/Pages/50-location.qml:112
584msgid "Not at all"
590msgid "Not at all"
@@ -596,13 +602,17 @@ msgstr "사용자 경험 개선"
596msgid ""
602msgid ""
597"Your phone is set up to automatically report errors to Canonical and its "
603"Your phone is set up to automatically report errors to Canonical and its "
598"partners, the makers of the operating system."
604"partners, the makers of the operating system."
605+msgstr ""
599−msgstr "사용자의 전화를 자동으로 오류 보고를 운영 체제를 만든 캐노니컬 사와 협력사로 보내도록 설정했습니다."
606+"사용자의 전화를 자동으로 오류 보고를 운영 체제를 만든 캐노니컬 사와 협력사로 "
607+"보내도록 설정했습니다."
600
608
601#: qml/Wizard/Pages/60-reporting.qml:53
609#: qml/Wizard/Pages/60-reporting.qml:53
602msgid ""
610msgid ""
603"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
611"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
604"Privacy</b>"
612"Privacy</b>"
613+msgstr ""
605−msgstr "이 서비스는 <b>보안 &amp; 사생활 보호</b>에서 언제든 사용하지 않도록 설정할 수 있습니다."
614+"이 서비스는 <b>보안 &amp; 사생활 보호</b>에서 언제든 사용하지 않도록 설정할 "
615+"수 있습니다."
606
616
607#: qml/Wizard/Pages/80-finished.qml:24
617#: qml/Wizard/Pages/80-finished.qml:24
608msgid "All done"
618msgid "All done"
@@ -724,7 +734,8 @@ msgstr "%1 〉"
724#~ "You have now mastered the edge gestures and can start using the "
734#~ "You have now mastered the edge gestures and can start using the "
725#~ "phone<br><br>Tap on the screen to start"
735#~ "phone<br><br>Tap on the screen to start"
726#~ msgstr ""
736#~ msgstr ""
727−#~ "여러분은 가장자리에서 끌어오기 제스쳐를 완벽히 익히셨고 휴대 전화를 사용할 수 있습니다. <br><br> 스크린을 터치해서 시작하세요."
737+#~ "여러분은 가장자리에서 끌어오기 제스쳐를 완벽히 익히셨고 휴대 전화를 사용"
738+#~ "할 수 있습니다. <br><br> 스크린을 터치해서 시작하세요."
728
739
729#~ msgid "Loading. Please Wait..."
740#~ msgid "Loading. Please Wait..."
730#~ msgstr "불러오는 중 입니다. 짐시 기다려주십시오..."
741#~ msgstr "불러오는 중 입니다. 짐시 기다려주십시오..."
po/ku.po+6−4
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-09-10 13:14+0000\n"
11"PO-Revision-Date: 2014-09-10 13:14+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Kurdish <ku@li.org>\n"
13"Language-Team: Kurdish <ku@li.org>\n"
14+"Language: ku\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -713,7 +714,8 @@ msgstr ""
713#~ msgstr "Kêleka çepê"
714#~ msgstr "Kêleka çepê"
714
715
715#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
716#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
717+#~ msgstr ""
716−#~ msgstr "Ji bo vekirina gihînera lezgîn ya bernamokan ji kêleka çepê kaş bike"
718+#~ "Ji bo vekirina gihînera lezgîn ya bernamokan ji kêleka çepê kaş bike"
717
719
718#~ msgid ""
720#~ msgid ""
719#~ "You have now mastered the edge gestures and can start using the "
721#~ "You have now mastered the edge gestures and can start using the "
po/ky.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
14+"Language: ky\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/lo.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
13"Language-Team: Lao <lo@li.org>\n"
13"Language-Team: Lao <lo@li.org>\n"
14+"Language: \n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/lt.po+8−6
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-05-19 17:15+0000\n"
11"PO-Revision-Date: 2014-05-19 17:15+0000\n"
12"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
12"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
13"Language-Team: Lithuanian <lt@li.org>\n"
13"Language-Team: Lithuanian <lt@li.org>\n"
14+"Language: lt\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17−"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
18−"(n%100<10 || n%100>=20) ? 1 : 2;\n"
19+"%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
@@ -690,7 +691,8 @@ msgstr ""
690#~ msgstr "Praleisti įžangą"
691#~ msgstr "Praleisti įžangą"
691
692
692#~ msgid "Try swiping from the right edge to unlock the phone"
693#~ msgid "Try swiping from the right edge to unlock the phone"
694+#~ msgstr ""
693−#~ msgstr "Pabandykite braukti nuo dešiniojo krašto, kad atrakintumėte telefoną"
695+#~ "Pabandykite braukti nuo dešiniojo krašto, kad atrakintumėte telefoną"
694
696
695#~ msgid "Right edge"
697#~ msgid "Right edge"
696#~ msgstr "Dešinysis kraštas"
698#~ msgstr "Dešinysis kraštas"
po/lv.po+4−4
@@ -7,18 +7,18 @@
7msgid ""
7msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity\n"
9"Project-Id-Version: unity\n"
10−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10+"Report-Msgid-Bugs-To: \n"
11"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"POT-Creation-Date: 2015-12-08 15:42+0000\n"
12"PO-Revision-Date: 2015-11-22 19:13+0000\n"
12"PO-Revision-Date: 2015-11-22 19:13+0000\n"
13"Last-Translator: Klavs Anson <anson.klavs@gmail.com>\n"
13"Last-Translator: Klavs Anson <anson.klavs@gmail.com>\n"
14"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
14"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
15+"Language: lv\n"
15"MIME-Version: 1.0\n"
16"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
19"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21−"Language: lv\n"
22
22
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
24msgid "Password: "
24msgid "Password: "
po/ml.po+5−5
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2013-11-23 11:44+0000\n"
11"PO-Revision-Date: 2013-11-23 11:44+0000\n"
12"Last-Translator: ST Alfas <Unknown>\n"
12"Last-Translator: ST Alfas <Unknown>\n"
13"Language-Team: Malayalam <ml@li.org>\n"
13"Language-Team: Malayalam <ml@li.org>\n"
14+"Language: ml\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -687,8 +688,7 @@ msgstr ""
687
688
688#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
689#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
689#~ msgstr ""
690#~ msgstr ""
690−#~ "പ്രയോഗങ്ങള്‍ പെട്ടെന്ന് ലഭ്യമാക്കുന്ന വിക്ഷേപിക ലഭ്യമാക്കാന്‍ ഇടതു വശത്ത് "
691+#~ "പ്രയോഗങ്ങള്‍ പെട്ടെന്ന് ലഭ്യമാക്കുന്ന വിക്ഷേപിക ലഭ്യമാക്കാന്‍ ഇടതു വശത്ത് നിന്നും സ്വൈപ് ചെയ്യുക"
691−#~ "നിന്നും സ്വൈപ് ചെയ്യുക"
692
692
693#~ msgid "Well done"
693#~ msgid "Well done"
694#~ msgstr "നന്നായി ചെയ്തിരിക്കുന്നു"
694#~ msgstr "നന്നായി ചെയ്തിരിക്കുന്നു"
po/mr.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-01-14 19:54+0000\n"
11"PO-Revision-Date: 2014-01-14 19:54+0000\n"
12"Last-Translator: Rohan Deshmukh <Unknown>\n"
12"Last-Translator: Rohan Deshmukh <Unknown>\n"
13"Language-Team: Marathi <mr@li.org>\n"
13"Language-Team: Marathi <mr@li.org>\n"
14+"Language: mr\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/ms.po+8−8
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-01-17 09:05+0000\n"
11"PO-Revision-Date: 2014-01-17 09:05+0000\n"
12"Last-Translator: abuyop <Unknown>\n"
12"Last-Translator: abuyop <Unknown>\n"
13"Language-Team: Malay <ms@li.org>\n"
13"Language-Team: Malay <ms@li.org>\n"
14+"Language: ms\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -511,8 +512,7 @@ msgstr "Tambah kad SIM dan mulakan semula peranti anda"
511
512
512#: qml/Wizard/Pages/20-sim.qml:59
513#: qml/Wizard/Pages/20-sim.qml:59
513msgid "Without it, you won’t be able to make calls or use text messaging."
514msgid "Without it, you won’t be able to make calls or use text messaging."
514−msgstr ""
515−"Tanpanya, anda tidak boleh membuat panggilan atau guna pemesejan teks."
515+msgstr "Tanpanya, anda tidak boleh membuat panggilan atau guna pemesejan teks."
516
516
517#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
517#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
518msgid "Skip"
518msgid "Skip"
@@ -582,8 +582,7 @@ msgstr "Hanya gunakan GPS (kurang tepat)"
582
582
583#: qml/Wizard/Pages/50-location.qml:86
583#: qml/Wizard/Pages/50-location.qml:86
584msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
584msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
585−msgstr ""
586−"Gunakan GPS, Wi-Fi awanama dan maklumat rangkaian selular (disarankan)"
585+msgstr "Gunakan GPS, Wi-Fi awanama dan maklumat rangkaian selular (disarankan)"
587
586
588#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
587#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
589#: qml/Wizard/Pages/50-location.qml:103
588#: qml/Wizard/Pages/50-location.qml:103
@@ -691,7 +690,8 @@ msgstr "%1 〉"
691#~ msgstr "Pinggir kiri"
690#~ msgstr "Pinggir kiri"
692
691
693#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
692#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
693+#~ msgstr ""
694−#~ msgstr "Leret dari kiri untuk munculkan pelancar untuk capaian pantas ke apl"
694+#~ "Leret dari kiri untuk munculkan pelancar untuk capaian pantas ke apl"
695
695
696#~ msgid "Well done"
696#~ msgid "Well done"
697#~ msgstr "Bagus"
697#~ msgstr "Bagus"
po/my.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2013-12-12 11:12+0000\n"
11"PO-Revision-Date: 2013-12-12 11:12+0000\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
13"Language-Team: Burmese <my@li.org>\n"
13"Language-Team: Burmese <my@li.org>\n"
14+"Language: my\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/nb.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-05 19:44+0000\n"
11"PO-Revision-Date: 2015-07-05 19:44+0000\n"
12"Last-Translator: Mathias Bynke <Unknown>\n"
12"Last-Translator: Mathias Bynke <Unknown>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
14+"Language: nb\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/ne.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-12-06 15:11+0000\n"
11"PO-Revision-Date: 2015-12-06 15:11+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Nepali <ne@li.org>\n"
13"Language-Team: Nepali <ne@li.org>\n"
14+"Language: ne\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/nl.po+8−6
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-07 07:14+0000\n"
11"PO-Revision-Date: 2015-07-07 07:14+0000\n"
12"Last-Translator: Hannie Dumoleyn <Unknown>\n"
12"Last-Translator: Hannie Dumoleyn <Unknown>\n"
13"Language-Team: Dutch <nl@li.org>\n"
13"Language-Team: Dutch <nl@li.org>\n"
14+"Language: nl\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -717,7 +718,8 @@ msgstr "%1 〉"
717#~ msgstr "Linkerrand"
718#~ msgstr "Linkerrand"
718
719
719#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
720#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
721+#~ msgstr ""
720−#~ msgstr "Veeg vanaf links om de Starter te tonen voor snelle toegang tot apps"
722+#~ "Veeg vanaf links om de Starter te tonen voor snelle toegang tot apps"
721
723
722#~ msgid "Right edge"
724#~ msgid "Right edge"
723#~ msgstr "Rechterrand"
725#~ msgstr "Rechterrand"
@@ -726,8 +728,8 @@ msgstr "%1 〉"
726#~ "You have now mastered the edge gestures and can start using the "
728#~ "You have now mastered the edge gestures and can start using the "
727#~ "phone<br><br>Tap on the screen to start"
729#~ "phone<br><br>Tap on the screen to start"
728#~ msgstr ""
730#~ msgstr ""
729−#~ "Nu u de bewegingen vanuit de randen onder de knie heeft, kunt u beginnen met "
731+#~ "Nu u de bewegingen vanuit de randen onder de knie heeft, kunt u beginnen "
730−#~ "het gebruiken van de telefoon<br><br>Tik op het scherm om te beginnen"
732+#~ "met het gebruiken van de telefoon<br><br>Tik op het scherm om te beginnen"
731
733
732#~ msgid "Try swiping from the top edge to access the indicators"
734#~ msgid "Try swiping from the top edge to access the indicators"
733#~ msgstr "Veeg vanuit de bovenrand om de indicatoren te bekijken"
735#~ msgstr "Veeg vanuit de bovenrand om de indicatoren te bekijken"
po/nn.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-05-12 11:32+0000\n"
11"PO-Revision-Date: 2015-05-12 11:32+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Norwegian Nynorsk <nn@li.org>\n"
13"Language-Team: Norwegian Nynorsk <nn@li.org>\n"
14+"Language: nn\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/oc.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-02-05 20:35+0000\n"
11"PO-Revision-Date: 2015-02-05 20:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Occitan (post 1500) <oc@li.org>\n"
13"Language-Team: Occitan (post 1500) <oc@li.org>\n"
14+"Language: \n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/or.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-03-21 05:28+0000\n"
11"PO-Revision-Date: 2015-03-21 05:28+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Oriya <or@li.org>\n"
13"Language-Team: Oriya <or@li.org>\n"
14+"Language: or\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n!=1;\n"
18"Plural-Forms: nplurals=2; plural=n!=1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/pa.po+13−15
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-04-24 04:29+0000\n"
11"PO-Revision-Date: 2015-04-24 04:29+0000\n"
12"Last-Translator: Gursharnjit_Singh <ubuntuser13@gmail.com>\n"
12"Last-Translator: Gursharnjit_Singh <ubuntuser13@gmail.com>\n"
13"Language-Team: Punjabi <pa@li.org>\n"
13"Language-Team: Punjabi <pa@li.org>\n"
14+"Language: pa\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -291,16 +292,16 @@ msgid ""
291"If passphrase is entered incorrectly, your phone will conduct a factory "
292"If passphrase is entered incorrectly, your phone will conduct a factory "
292"reset and all personal data will be deleted."
293"reset and all personal data will be deleted."
293msgstr ""
294msgstr ""
294−"ਜੇਕਰ ਗਲਤ ਵਾਕ ਦਰਜ ਹੋਇਆ, ਤੁਹਾਡਾ ਫ਼ੋਨ ਇੱਕ ਫ਼ੋਨ ਇੱਕ ਫ਼ੈਕਟਰੀ ਰੀਸੈੱਟ ਚਾਲੂ ਕਰੇਗਾ ਅਤੇ "
295+"ਜੇਕਰ ਗਲਤ ਵਾਕ ਦਰਜ ਹੋਇਆ, ਤੁਹਾਡਾ ਫ਼ੋਨ ਇੱਕ ਫ਼ੋਨ ਇੱਕ ਫ਼ੈਕਟਰੀ ਰੀਸੈੱਟ ਚਾਲੂ ਕਰੇਗਾ ਅਤੇ ਸਾਰਾ ਨਿੱਜੀ ਡਾਟਾ "
295−"ਸਾਰਾ ਨਿੱਜੀ ਡਾਟਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।"
296+"ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।"
296
297
297#: qml/Greeter/NarrowView.qml:59
298#: qml/Greeter/NarrowView.qml:59
298msgid ""
299msgid ""
299"If passcode is entered incorrectly, your phone will conduct a factory reset "
300"If passcode is entered incorrectly, your phone will conduct a factory reset "
300"and all personal data will be deleted."
301"and all personal data will be deleted."
301msgstr ""
302msgstr ""
302−"ਜੇਕਰ ਗਲਤ ਪਾਸਕੋਡ ਦਰਜ ਹੋਇਆ, ਤੁਹਾਡਾ ਫ਼ੋਨ ਇੱਕ ਫ਼ੋਨ ਇੱਕ ਫ਼ੈਕਟਰੀ ਰੀਸੈੱਟ ਚਾਲੂ ਕਰੇਗਾ "
303+"ਜੇਕਰ ਗਲਤ ਪਾਸਕੋਡ ਦਰਜ ਹੋਇਆ, ਤੁਹਾਡਾ ਫ਼ੋਨ ਇੱਕ ਫ਼ੋਨ ਇੱਕ ਫ਼ੈਕਟਰੀ ਰੀਸੈੱਟ ਚਾਲੂ ਕਰੇਗਾ ਅਤੇ ਸਾਰਾ ਨਿੱਜੀ "
303−"ਅਤੇ ਸਾਰਾ ਨਿੱਜੀ ਡਾਟਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।"
304+"ਡਾਟਾ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।"
304
305
305#: qml/Greeter/NarrowView.qml:116
306#: qml/Greeter/NarrowView.qml:116
306#, qt-format
307#, qt-format
@@ -523,8 +524,7 @@ msgstr "ਲਾਕ ਸੁਰੱਖਿਆ"
523
524
524#: qml/Wizard/Pages/30-passwd-type.qml:74
525#: qml/Wizard/Pages/30-passwd-type.qml:74
525msgid "Please select how you’d like to unlock your phone."
526msgid "Please select how you’d like to unlock your phone."
526−msgstr ""
527−"ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ ਤੁਸੀਂ ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਕਿਸ ਤਰ੍ਹਾਂ ਅਣ-ਲਾਕ ਕਰਨਾ ਪਸੰਦ ਕਰੋਗੇ।"
527+msgstr "ਕਿਰਪਾ ਕਰਕੇ ਚੁਣੋ ਤੁਸੀਂ ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਕਿਸ ਤਰ੍ਹਾਂ ਅਣ-ਲਾਕ ਕਰਨਾ ਪਸੰਦ ਕਰੋਗੇ।"
528
528
529#: qml/Wizard/Pages/30-passwd-type.qml:97
529#: qml/Wizard/Pages/30-passwd-type.qml:97
530msgctxt "Label: Type of security method"
530msgctxt "Label: Type of security method"
@@ -590,8 +590,7 @@ msgid ""
590"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
590"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
591"conditions</a>."
591"conditions</a>."
592msgstr ""
592msgstr ""
593−"ਇਸ ਵਿਕਲਪ ਨੂੰ ਚੁਣਨ ਦੁਆਰਾ, ਤੁਸੀਂ ਨੋਕੀਆ HERE <a href='#'>ਨਿਯਮ ਅਤੇ ਸ਼ਰਤਾਂ</a>ਨੂੰ "
593+"ਇਸ ਵਿਕਲਪ ਨੂੰ ਚੁਣਨ ਦੁਆਰਾ, ਤੁਸੀਂ ਨੋਕੀਆ HERE <a href='#'>ਨਿਯਮ ਅਤੇ ਸ਼ਰਤਾਂ</a>ਨੂੰ ਪ੍ਰਵਾਨ ਕਰਦੇ ਹੋ।"
594−"ਪ੍ਰਵਾਨ ਕਰਦੇ ਹੋ।"
595
594
596#: qml/Wizard/Pages/50-location.qml:112
595#: qml/Wizard/Pages/50-location.qml:112
597msgid "Not at all"
596msgid "Not at all"
@@ -610,16 +609,15 @@ msgid ""
610"Your phone is set up to automatically report errors to Canonical and its "
609"Your phone is set up to automatically report errors to Canonical and its "
611"partners, the makers of the operating system."
610"partners, the makers of the operating system."
612msgstr ""
611msgstr ""
613−"ਤੁਹਾਡੇ ਫ਼ੋਨ ਨੂੰ ਕੈਨੋਨੀਕਲ ਅਤੇ ਉਸਦੇ ਸਾਥੀਆਂ, ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਦੇ ਨਿਰਮਾਤਾਵਾਂ ਨੂੰ "
612+"ਤੁਹਾਡੇ ਫ਼ੋਨ ਨੂੰ ਕੈਨੋਨੀਕਲ ਅਤੇ ਉਸਦੇ ਸਾਥੀਆਂ, ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਦੇ ਨਿਰਮਾਤਾਵਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਖਾਮੀ ਸੂਚਨਾਵਾਂ "
614−"ਆਪਣੇ ਆਪ ਖਾਮੀ ਸੂਚਨਾਵਾਂ ਭੇਜਣ ਲਈ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ।"
613+"ਭੇਜਣ ਲਈ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ।"
615
614
616#: qml/Wizard/Pages/60-reporting.qml:53
615#: qml/Wizard/Pages/60-reporting.qml:53
617msgid ""
616msgid ""
618"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
617"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
619"Privacy</b>"
618"Privacy</b>"
620msgstr ""
619msgstr ""
621−"ਇਸ ਨੂੰ <b>ਸਿਸਟਮ ਸੈਟਿੰਗ</b> ਅਧੀਨ <b>ਸੁਰੱਖਿਆ &amp; ਪਰਦੇਦਾਰੀ</b>ਵਿੱਚ ਬੰਦ ਕੀਤਾ "
620+"ਇਸ ਨੂੰ <b>ਸਿਸਟਮ ਸੈਟਿੰਗ</b> ਅਧੀਨ <b>ਸੁਰੱਖਿਆ &amp; ਪਰਦੇਦਾਰੀ</b>ਵਿੱਚ ਬੰਦ ਕੀਤਾ ਜਾ ਸਕਦਾ"
622−"ਜਾ ਸਕਦਾ"
623
621
624#: qml/Wizard/Pages/80-finished.qml:24
622#: qml/Wizard/Pages/80-finished.qml:24
625msgid "All done"
623msgid "All done"
po/pl.po+8−7
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-12 09:46+0000\n"
11"PO-Revision-Date: 2015-07-12 09:46+0000\n"
12"Last-Translator: Seweryn Opyd <Unknown>\n"
12"Last-Translator: Seweryn Opyd <Unknown>\n"
13"Language-Team: Polish <pl@li.org>\n"
13"Language-Team: Polish <pl@li.org>\n"
14+"Language: pl\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
18"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
18"|| n%100>=20) ? 1 : 2;\n"
19"|| n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
@@ -715,8 +716,8 @@ msgstr "%1 〉"
715
716
716#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
717#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
717#~ msgstr ""
718#~ msgstr ""
718−#~ "Przeciągnięcie od lewej krawędzi, uruchamia aktywator szybkiego dostępu do "
719+#~ "Przeciągnięcie od lewej krawędzi, uruchamia aktywator szybkiego dostępu "
719−#~ "aplikacji"
720+#~ "do aplikacji"
720
721
721#~ msgid "Well done"
722#~ msgid "Well done"
722#~ msgstr "Udało się!"
723#~ msgstr "Udało się!"
@@ -731,8 +732,8 @@ msgstr "%1 〉"
731#~ "You have now mastered the edge gestures and can start using the "
732#~ "You have now mastered the edge gestures and can start using the "
732#~ "phone<br><br>Tap on the screen to start"
733#~ "phone<br><br>Tap on the screen to start"
733#~ msgstr ""
734#~ msgstr ""
734−#~ "Wydawanie poleceń krawędzi zostało opanowane. Urządzenie gotowe do "
735+#~ "Wydawanie poleceń krawędzi zostało opanowane. Urządzenie gotowe do pracy."
735−#~ "pracy.<br><br>Dotknij ekranu by rozpocząć"
736+#~ "<br><br>Dotknij ekranu by rozpocząć"
736
737
737#~ msgid "Log out"
738#~ msgid "Log out"
738#~ msgstr "Wyloguj"
739#~ msgstr "Wyloguj"
po/pt.po+11−9
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-12-20 09:20+0000\n"
11"PO-Revision-Date: 2015-12-20 09:20+0000\n"
12"Last-Translator: Ivo Xavier <ivofernandes12@gmail.com>\n"
12"Last-Translator: Ivo Xavier <ivofernandes12@gmail.com>\n"
13"Language-Team: Portuguese <pt@li.org>\n"
13"Language-Team: Portuguese <pt@li.org>\n"
14+"Language: pt\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-21 05:34+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -42,14 +43,14 @@ msgstr "Dispositivo bloqueado"
42#: qml/Components/DelayedLockscreen.qml:64
43#: qml/Components/DelayedLockscreen.qml:64
43msgid "You have been locked out due to too many failed passphrase attempts."
44msgid "You have been locked out due to too many failed passphrase attempts."
44msgstr ""
45msgstr ""
45−"Está bloqueado devido a diversas tentativas falhadas na introdução da "
46+"Está bloqueado por diversas tentativas falhadas na introdução da palavra-"
46−"palavra-passe."
47+"passe."
47
48
48#: qml/Components/DelayedLockscreen.qml:65
49#: qml/Components/DelayedLockscreen.qml:65
49msgid "You have been locked out due to too many failed passcode attempts."
50msgid "You have been locked out due to too many failed passcode attempts."
50msgstr ""
51msgstr ""
51−"Está bloqueado devido a diversas tentativas falhadas na introdução do código "
52+"Está bloqueado por diversas tentativas falhadas na introdução do código de "
52−"de segurança."
53+"segurança."
53
54
54#: qml/Components/DelayedLockscreen.qml:74
55#: qml/Components/DelayedLockscreen.qml:74
55#, qt-format
56#, qt-format
@@ -159,7 +160,7 @@ msgstr "Apps podem ter informação não guardada:"
159
160
160#: qml/Components/ModeSwitchWarningDialog.qml:57
161#: qml/Components/ModeSwitchWarningDialog.qml:57
161msgid "Re-dock, save your work and close these apps to continue."
162msgid "Re-dock, save your work and close these apps to continue."
162−msgstr ""
163+msgstr "Volte a ligar, guarda o seu trabalho e feche as apps para continuar."
163
164
164#: qml/Components/ModeSwitchWarningDialog.qml:63
165#: qml/Components/ModeSwitchWarningDialog.qml:63
165msgid "Or force close now (unsaved data will be lost)."
166msgid "Or force close now (unsaved data will be lost)."
@@ -794,7 +795,8 @@ msgstr "%1 〉"
794
795
795#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
796#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
796#~ msgstr ""
797#~ msgstr ""
797−#~ "Deslize da margem esquerda para mostrar o Launcher de acesso rápido às apps"
798+#~ "Deslize da margem esquerda para mostrar o Launcher de acesso rápido às "
799+#~ "apps"
798
800
799#~ msgid ""
801#~ msgid ""
800#~ "You have now mastered the edge gestures and can start using the "
802#~ "You have now mastered the edge gestures and can start using the "
po/pt_BR.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-08-05 04:40+0000\n"
11"PO-Revision-Date: 2015-08-05 04:40+0000\n"
12"Last-Translator: Julio Alexander Sieg <julio.sieg@gmail.com>\n"
12"Last-Translator: Julio Alexander Sieg <julio.sieg@gmail.com>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
14+"Language: pt_BR\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/ro.po+6−7
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-06 17:47+0000\n"
11"PO-Revision-Date: 2015-07-06 17:47+0000\n"
12"Last-Translator: Meriuță Cornel <meriutacornel@neacornel.eu>\n"
12"Last-Translator: Meriuță Cornel <meriutacornel@neacornel.eu>\n"
13"Language-Team: Romanian <ro@li.org>\n"
13"Language-Team: Romanian <ro@li.org>\n"
14+"Language: ro\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
18"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
18"== 0) && (n != 0))) ? 2: 1));\n"
19"== 0) && (n != 0))) ? 2: 1));\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
@@ -521,8 +522,7 @@ msgstr "Adăugați un card SIM și reporniți dispozitivul dumneavoastră"
521
522
522#: qml/Wizard/Pages/20-sim.qml:59
523#: qml/Wizard/Pages/20-sim.qml:59
523msgid "Without it, you won’t be able to make calls or use text messaging."
524msgid "Without it, you won’t be able to make calls or use text messaging."
524−msgstr ""
525−"Fără acesta, nu veți putea efectua apeluri sau utiliza mesajele text."
525+msgstr "Fără acesta, nu veți putea efectua apeluri sau utiliza mesajele text."
526
526
527#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
527#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
528msgid "Skip"
528msgid "Skip"
@@ -611,8 +611,7 @@ msgstr "Deloc"
611
611
612#: qml/Wizard/Pages/50-location.qml:124
612#: qml/Wizard/Pages/50-location.qml:124
613msgid "You can change your mind later in <b>System Settings</b>."
613msgid "You can change your mind later in <b>System Settings</b>."
614−msgstr ""
615−"Puteți să modificați opțiunea utilizând <b>Configurări de sistem</b>."
614+msgstr "Puteți să modificați opțiunea utilizând <b>Configurări de sistem</b>."
616
615
617#: qml/Wizard/Pages/60-reporting.qml:26
616#: qml/Wizard/Pages/60-reporting.qml:26
618msgid "Improving your experience"
617msgid "Improving your experience"
po/ru.po+11−10
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-06 05:33+0000\n"
11"PO-Revision-Date: 2015-07-06 05:33+0000\n"
12"Last-Translator: ☠Jay ZDLin☠ <Unknown>\n"
12"Last-Translator: ☠Jay ZDLin☠ <Unknown>\n"
13"Language-Team: Russian <ru@li.org>\n"
13"Language-Team: Russian <ru@li.org>\n"
14+"Language: ru\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17−"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
18−"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
@@ -609,8 +610,7 @@ msgstr "Нет (никогда)"
609
610
610#: qml/Wizard/Pages/50-location.qml:124
611#: qml/Wizard/Pages/50-location.qml:124
611msgid "You can change your mind later in <b>System Settings</b>."
612msgid "You can change your mind later in <b>System Settings</b>."
612−msgstr ""
613−"Изменить свой выбор можно позднее, перейдя в <b>Параметры системы</b>."
613+msgstr "Изменить свой выбор можно позднее, перейдя в <b>Параметры системы</b>."
614
614
615#: qml/Wizard/Pages/60-reporting.qml:26
615#: qml/Wizard/Pages/60-reporting.qml:26
616msgid "Improving your experience"
616msgid "Improving your experience"
@@ -716,7 +716,8 @@ msgstr "%1 〉"
716
716
717#~ msgid "Try swiping from the top edge to access the indicators"
717#~ msgid "Try swiping from the top edge to access the indicators"
718#~ msgstr ""
718#~ msgstr ""
719−#~ "Попробуйте переместить палец от верхнего края вниз для доступа к индикаторам"
719+#~ "Попробуйте переместить палец от верхнего края вниз для доступа к "
720+#~ "индикаторам"
720
721
721#~ msgid "Close"
722#~ msgid "Close"
722#~ msgstr "Закрыть"
723#~ msgstr "Закрыть"
@@ -735,8 +736,8 @@ msgstr "%1 〉"
735
736
736#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
737#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
737#~ msgstr ""
738#~ msgstr ""
738−#~ "Переместите палец от левого края вправо для открытия лаунчера для быстрого "
739+#~ "Переместите палец от левого края вправо для открытия лаунчера для "
739−#~ "доступа к приложениям"
740+#~ "быстрого доступа к приложениям"
740
741
741#~ msgid ""
742#~ msgid ""
742#~ "You have now mastered the edge gestures and can start using the "
743#~ "You have now mastered the edge gestures and can start using the "
po/shn.po+18−18
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: \n"
9"Report-Msgid-Bugs-To: \n"
10−"POT-Creation-Date: 2015-11-20 14:45+0100\n"
10+"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-11-10 12:09+0000\n"
11"PO-Revision-Date: 2015-11-10 12:09+0000\n"
12"Last-Translator: Rockworld <sumoisrock@gmail.com>\n"
12"Last-Translator: Rockworld <sumoisrock@gmail.com>\n"
13"Language-Team: Shan <shn@li.org>\n"
13"Language-Team: Shan <shn@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
18"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -195,15 +195,15 @@ msgstr ""
195msgid "Add to Favorites"
195msgid "Add to Favorites"
196msgstr ""
196msgstr ""
197
197
198−#: qml/Dash/GenericScopeView.qml:569 qml/Dash/GenericScopeView.qml:727
198+#: qml/Dash/GenericScopeView.qml:576 qml/Dash/GenericScopeView.qml:734
199msgid "See less"
199msgid "See less"
200msgstr ""
200msgstr ""
201
201
202−#: qml/Dash/GenericScopeView.qml:569
202+#: qml/Dash/GenericScopeView.qml:576
203msgid "See all"
203msgid "See all"
204msgstr ""
204msgstr ""
205
205
206−#: qml/Dash/GenericScopeView.qml:631
206+#: qml/Dash/GenericScopeView.qml:638
207msgctxt "Label: Hint for dash search line edit"
207msgctxt "Label: Hint for dash search line edit"
208msgid "Search"
208msgid "Search"
209msgstr ""
209msgstr ""
@@ -423,14 +423,6 @@ msgstr ""
423msgid "Roaming"
423msgid "Roaming"
424msgstr ""
424msgstr ""
425
425
426−#: qml/Tutorial/TutorialBottomFinish.qml:24
427−msgid "This action does different things for different apps"
428−msgstr ""
429−
430−#: qml/Tutorial/TutorialBottomFinish.qml:25
431−msgid "Tap here to finish."
432−msgstr ""
433−
434#: qml/Tutorial/TutorialBottom.qml:28
426#: qml/Tutorial/TutorialBottom.qml:28
435msgid "Open special menus"
427msgid "Open special menus"
436msgstr ""
428msgstr ""
@@ -439,15 +431,19 @@ msgstr ""
439msgid "Swipe up from the bottom edge."
431msgid "Swipe up from the bottom edge."
440msgstr ""
432msgstr ""
441
433
434+#: qml/Tutorial/TutorialBottomFinish.qml:24
435+msgid "This action does different things for different apps"
436+msgstr ""
437+
438+#: qml/Tutorial/TutorialBottomFinish.qml:25
439+msgid "Tap here to finish."
440+msgstr ""
441+
442#: qml/Tutorial/TutorialContent.qml:80 qml/Tutorial/TutorialLeftFinish.qml:25
442#: qml/Tutorial/TutorialContent.qml:80 qml/Tutorial/TutorialLeftFinish.qml:25
443#: qml/Tutorial/TutorialRight.qml:144
443#: qml/Tutorial/TutorialRight.qml:144
444msgid "Tap here to continue."
444msgid "Tap here to continue."
445msgstr ""
445msgstr ""
446
446
447−#: qml/Tutorial/TutorialLeftFinish.qml:24
448−msgid "These are the shortcuts to favorite apps"
449−msgstr ""
450−
451#: qml/Tutorial/TutorialLeft.qml:26
447#: qml/Tutorial/TutorialLeft.qml:26
452msgid "Open the launcher"
448msgid "Open the launcher"
453msgstr ""
449msgstr ""
@@ -456,6 +452,10 @@ msgstr ""
456msgid "Short swipe from the left edge."
452msgid "Short swipe from the left edge."
457msgstr ""
453msgstr ""
458
454
455+#: qml/Tutorial/TutorialLeftFinish.qml:24
456+msgid "These are the shortcuts to favorite apps"
457+msgstr ""
458+
459#: qml/Tutorial/TutorialPage.qml:178
459#: qml/Tutorial/TutorialPage.qml:178
460msgid "You almost got it!"
460msgid "You almost got it!"
461msgstr ""
461msgstr ""
po/si.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
14+"Language: \n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/sk.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-04-10 09:15+0000\n"
11"PO-Revision-Date: 2015-04-10 09:15+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Slovak <sk@li.org>\n"
13"Language-Team: Slovak <sk@li.org>\n"
14+"Language: sk\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
18"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/sl.po+6−5
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-06 21:10+0000\n"
11"PO-Revision-Date: 2015-07-06 21:10+0000\n"
12"Last-Translator: Sasa Batistic <Unknown>\n"
12"Last-Translator: Sasa Batistic <Unknown>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
14+"Language: sl\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17−"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
18+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
18−"n%100==4 ? 3 : 0);\n"
19+"%100==4 ? 3 : 0);\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
po/sq.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-11-30 21:05+0000\n"
11"PO-Revision-Date: 2015-11-30 21:05+0000\n"
12"Last-Translator: Indrit Bashkimi <indrit.bashkimi@gmail.com>\n"
12"Last-Translator: Indrit Bashkimi <indrit.bashkimi@gmail.com>\n"
13"Language-Team: Albanian <sq@li.org>\n"
13"Language-Team: Albanian <sq@li.org>\n"
14+"Language: sq\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:44+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:53+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/sr.po+6−6
@@ -7,19 +7,19 @@
7msgid ""
7msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity\n"
9"Project-Id-Version: unity\n"
10−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10+"Report-Msgid-Bugs-To: \n"
11"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"POT-Creation-Date: 2015-12-08 15:42+0000\n"
12"PO-Revision-Date: 2015-12-09 20:16+0000\n"
12"PO-Revision-Date: 2015-12-09 20:16+0000\n"
13"Last-Translator: Bojan Bogdanović <Unknown>\n"
13"Last-Translator: Bojan Bogdanović <Unknown>\n"
14"Language-Team: српски <xfce4@xfce4.org>\n"
14"Language-Team: српски <xfce4@xfce4.org>\n"
15+"Language: sr\n"
15"MIME-Version: 1.0\n"
16"MIME-Version: 1.0\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Content-Transfer-Encoding: 8bit\n"
18−"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
19+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
19−"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
20+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
20−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
21+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
21−"X-Generator: Launchpad (build 17865)\n"
22+"X-Generator: Launchpad (build 17886)\n"
22−"Language: sr\n"
23
23
24#: plugins/IntegratedLightDM/Greeter.cpp:112
24#: plugins/IntegratedLightDM/Greeter.cpp:112
25msgid "Password: "
25msgid "Password: "
po/sv.po+8−10
@@ -6,18 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-12 22:17+0000\n"
11"PO-Revision-Date: 2015-07-12 22:17+0000\n"
12"Last-Translator: Josef Andersson <Unknown>\n"
12"Last-Translator: Josef Andersson <Unknown>\n"
13"Language-Team: Swedish\n"
13"Language-Team: Swedish\n"
14+"Language: sv\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20−"Language: sv\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -512,8 +512,7 @@ msgstr "Lägg till ett SIM-kort och starta om din enhet"
512
512
513#: qml/Wizard/Pages/20-sim.qml:59
513#: qml/Wizard/Pages/20-sim.qml:59
514msgid "Without it, you won’t be able to make calls or use text messaging."
514msgid "Without it, you won’t be able to make calls or use text messaging."
515−msgstr ""
516−"Utan det kommer du inte att kunna ringa eller skicka textmeddelanden."
515+msgstr "Utan det kommer du inte att kunna ringa eller skicka textmeddelanden."
517
516
518#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
517#: qml/Wizard/Pages/20-sim.qml:73 qml/Wizard/Pages/40-wifi.qml:215
519msgid "Skip"
518msgid "Skip"
@@ -583,8 +582,7 @@ msgstr "Använd endast GPS (sämre precision)"
583
582
584#: qml/Wizard/Pages/50-location.qml:86
583#: qml/Wizard/Pages/50-location.qml:86
585msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
584msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
586−msgstr ""
587−"Använd GPS, anonymiserad Wi-Fi och mobil nätverksinfo (rekommenderas)"
585+msgstr "Använd GPS, anonymiserad Wi-Fi och mobil nätverksinfo (rekommenderas)"
588
586
589#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
587#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
590#: qml/Wizard/Pages/50-location.qml:103
588#: qml/Wizard/Pages/50-location.qml:103
@@ -592,8 +590,8 @@ msgid ""
592"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
590"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
593"conditions</a>."
591"conditions</a>."
594msgstr ""
592msgstr ""
595−"Genom att välja detta alternativ godkänner du <a "
593+"Genom att välja detta alternativ godkänner du <a href='#'>användarvillkoren</"
596−"href='#'>användarvillkoren</a> för Nokia HERE."
594+"a> för Nokia HERE."
597
595
598#: qml/Wizard/Pages/50-location.qml:112
596#: qml/Wizard/Pages/50-location.qml:112
599msgid "Not at all"
597msgid "Not at all"
po/sw.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-17 20:02+0000\n"
11"PO-Revision-Date: 2015-07-17 20:02+0000\n"
12"Last-Translator: Valentine <mwangi_valentino@yahoo.com>\n"
12"Last-Translator: Valentine <mwangi_valentino@yahoo.com>\n"
13"Language-Team: Swahili <sw@li.org>\n"
13"Language-Team: Swahili <sw@li.org>\n"
14+"Language: sw\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/ta.po+4−4
@@ -6,18 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2013-10-24 11:36+0000\n"
11"PO-Revision-Date: 2013-10-24 11:36+0000\n"
12"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
12"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
13"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
13"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
14+"Language: ta\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20−"Language: ta\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
po/te.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-07-19 10:04+0000\n"
11"PO-Revision-Date: 2014-07-19 10:04+0000\n"
12"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
12"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
13"Language-Team: Telugu <te@li.org>\n"
13"Language-Team: Telugu <te@li.org>\n"
14+"Language: te\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/th.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-10-02 04:55+0000\n"
11"PO-Revision-Date: 2014-10-02 04:55+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Thai <th@li.org>\n"
13"Language-Team: Thai <th@li.org>\n"
14+"Language: th\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/tr.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-03-22 15:56+0000\n"
11"PO-Revision-Date: 2015-03-22 15:56+0000\n"
12"Last-Translator: Arda Ünlü <aarda.uunlu@gmail.com>\n"
12"Last-Translator: Arda Ünlü <aarda.uunlu@gmail.com>\n"
13"Language-Team: Turkish <tr@li.org>\n"
13"Language-Team: Turkish <tr@li.org>\n"
14+"Language: tr\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/ug.po+6−5
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-12-01 07:37+0000\n"
11"PO-Revision-Date: 2015-12-01 07:37+0000\n"
12"Last-Translator: Eltikin <eltikinuyghur@hotmail.com>\n"
12"Last-Translator: Eltikin <eltikinuyghur@hotmail.com>\n"
13"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
13"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
14+"Language: \n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -721,8 +722,8 @@ msgstr "%1 〉"
721#~ "You have now mastered the edge gestures and can start using the "
722#~ "You have now mastered the edge gestures and can start using the "
722#~ "phone<br><br>Tap on the screen to start"
723#~ "phone<br><br>Tap on the screen to start"
723#~ msgstr ""
724#~ msgstr ""
724−#~ "ئېكراننى چېكىپ باشلاڭ<br><br>سىز ھازىر گىرۋەك بارماق ئىشارەتلىرىنى ئىگىلەپ "
725+#~ "ئېكراننى چېكىپ باشلاڭ<br><br>سىز ھازىر گىرۋەك بارماق ئىشارەتلىرىنى "
725−#~ "بولدىڭىز،ئەمدى تېلېفوننى ئىشلىتىشنى باشلىسىڭىز بولىدۇ"
726+#~ "ئىگىلەپ بولدىڭىز،ئەمدى تېلېفوننى ئىشلىتىشنى باشلىسىڭىز بولىدۇ"
726
727
727#~ msgid "Log out"
728#~ msgid "Log out"
728#~ msgstr "تىزىمدىن چىق"
729#~ msgstr "تىزىمدىن چىق"
po/uk.po+10−8
@@ -6,18 +6,19 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-04 05:53+0000\n"
11"PO-Revision-Date: 2015-07-04 05:53+0000\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
14+"Language: uk\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17−"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
18−"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
20+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
20−"X-Generator: Launchpad (build 17865)\n"
21+"X-Generator: Launchpad (build 17886)\n"
21
22
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
24msgid "Password: "
@@ -732,7 +733,8 @@ msgstr "%1 〉"
732#~ msgstr "Пропустити вступ"
733#~ msgstr "Пропустити вступ"
733
734
734#~ msgid "Try swiping from the right edge to unlock the phone"
735#~ msgid "Try swiping from the right edge to unlock the phone"
736+#~ msgstr ""
735−#~ msgstr "Спробуйте провести пальцем від правою краю, щоб розблокувати телефон"
737+#~ "Спробуйте провести пальцем від правою краю, щоб розблокувати телефон"
736
738
737#~ msgid "Right edge"
739#~ msgid "Right edge"
738#~ msgstr "Правий край"
740#~ msgstr "Правий край"
@@ -741,8 +743,8 @@ msgstr "%1 〉"
741#~ "You have now mastered the edge gestures and can start using the "
743#~ "You have now mastered the edge gestures and can start using the "
742#~ "phone<br><br>Tap on the screen to start"
744#~ "phone<br><br>Tap on the screen to start"
743#~ msgstr ""
745#~ msgstr ""
744−#~ "Вами налаштовано дії у відповідь на дотики на краях екрана. Тепер телефоном "
746+#~ "Вами налаштовано дії у відповідь на дотики на краях екрана. Тепер "
745−#~ "можна користуватися.<br><br>Торкніться екрана, щоб розпочати."
747+#~ "телефоном можна користуватися.<br><br>Торкніться екрана, щоб розпочати."
746
748
747#~ msgid "All"
749#~ msgid "All"
748#~ msgstr "Все"
750#~ msgstr "Все"
po/unity8.pot+28−28
@@ -1,6 +1,6 @@
1# SOME DESCRIPTIVE TITLE.
1# SOME DESCRIPTIVE TITLE.
2# Copyright (C) YEAR Canonical Ltd.
2# Copyright (C) YEAR Canonical Ltd.
3−# This file is distributed under the same license as the PACKAGE package.
3+# This file is distributed under the same license as the unity8 package.
4# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
4# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5#
5#
6#, fuzzy
6#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10"Report-Msgid-Bugs-To: \n"
10"Report-Msgid-Bugs-To: \n"
11−"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11+"POT-Creation-Date: 2016-01-11 17:43+0000\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -171,26 +171,26 @@ msgstr ""
171msgid "Close all"
171msgid "Close all"
172msgstr ""
172msgstr ""
173
173
174−#: qml/Dash/DashPageHeader.qml:265
174+#: qml/Dash/DashPageHeader.qml:266
175msgctxt "Button: Open the Ubuntu Store"
175msgctxt "Button: Open the Ubuntu Store"
176msgid "Store"
176msgid "Store"
177msgstr ""
177msgstr ""
178
178
179−#: qml/Dash/DashPageHeader.qml:272
179+#: qml/Dash/DashPageHeader.qml:273
180msgctxt "Button: Start a search in the current dash scope"
180msgctxt "Button: Start a search in the current dash scope"
181msgid "Search"
181msgid "Search"
182msgstr ""
182msgstr ""
183
183
184−#: qml/Dash/DashPageHeader.qml:282
184+#: qml/Dash/DashPageHeader.qml:283
185msgctxt "Button: Show the current dash scope settings"
185msgctxt "Button: Show the current dash scope settings"
186msgid "Settings"
186msgid "Settings"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/DashPageHeader.qml:289
189+#: qml/Dash/DashPageHeader.qml:290
190msgid "Remove from Favorites"
190msgid "Remove from Favorites"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/DashPageHeader.qml:289
193+#: qml/Dash/DashPageHeader.qml:290
194msgid "Add to Favorites"
194msgid "Add to Favorites"
195msgstr ""
195msgstr ""
196
196
@@ -228,7 +228,7 @@ msgstr ""
228msgid "Add a review"
228msgid "Add a review"
229msgstr ""
229msgstr ""
230
230
231−#: qml/Dash/Previews/PreviewSharing.qml:51
231+#: qml/Dash/Previews/PreviewSharing.qml:50
232msgid "Preview Share Item"
232msgid "Preview Share Item"
233msgstr ""
233msgstr ""
234
234
@@ -339,62 +339,62 @@ msgstr ""
339msgid "Conference"
339msgid "Conference"
340msgstr ""
340msgstr ""
341
341
342−#: qml/Panel/Indicators/MenuItemFactory.qml:731
342+#: qml/Panel/Indicators/MenuItemFactory.qml:753
343msgid "Nothing is playing"
343msgid "Nothing is playing"
344msgstr ""
344msgstr ""
345
345
346−#: qml/Panel/Indicators/MenuItemFactory.qml:860
346+#: qml/Panel/Indicators/MenuItemFactory.qml:882
347#, qt-format
347#, qt-format
348msgid "%1 hour"
348msgid "%1 hour"
349msgid_plural "%1 hours"
349msgid_plural "%1 hours"
350msgstr[0] ""
350msgstr[0] ""
351msgstr[1] ""
351msgstr[1] ""
352
352
353−#: qml/Panel/Indicators/MenuItemFactory.qml:864
353+#: qml/Panel/Indicators/MenuItemFactory.qml:886
354#, qt-format
354#, qt-format
355msgid "%1 minute"
355msgid "%1 minute"
356msgid_plural "%1 minutes"
356msgid_plural "%1 minutes"
357msgstr[0] ""
357msgstr[0] ""
358msgstr[1] ""
358msgstr[1] ""
359
359
360−#: qml/Panel/Indicators/MenuItemFactory.qml:869
360+#: qml/Panel/Indicators/MenuItemFactory.qml:891
361#, qt-format
361#, qt-format
362msgid "%1 second"
362msgid "%1 second"
363msgid_plural "%1 seconds"
363msgid_plural "%1 seconds"
364msgstr[0] ""
364msgstr[0] ""
365msgstr[1] ""
365msgstr[1] ""
366
366
367−#: qml/Panel/Indicators/MenuItemFactory.qml:872
367+#: qml/Panel/Indicators/MenuItemFactory.qml:894
368msgid "0 seconds"
368msgid "0 seconds"
369msgstr ""
369msgstr ""
370
370
371#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
371#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
372−#: qml/Panel/Indicators/MenuItemFactory.qml:874
372+#: qml/Panel/Indicators/MenuItemFactory.qml:896
373#, qt-format
373#, qt-format
374msgid "%1 remaining"
374msgid "%1 remaining"
375msgstr ""
375msgstr ""
376
376
377−#: qml/Panel/Indicators/MenuItemFactory.qml:880
377+#: qml/Panel/Indicators/MenuItemFactory.qml:902
378msgid "In queue…"
378msgid "In queue…"
379msgstr ""
379msgstr ""
380
380
381−#: qml/Panel/Indicators/MenuItemFactory.qml:884
381+#: qml/Panel/Indicators/MenuItemFactory.qml:906
382msgid "Downloading"
382msgid "Downloading"
383msgstr ""
383msgstr ""
384
384
385−#: qml/Panel/Indicators/MenuItemFactory.qml:886
385+#: qml/Panel/Indicators/MenuItemFactory.qml:908
386msgid "Paused, tap to resume"
386msgid "Paused, tap to resume"
387msgstr ""
387msgstr ""
388
388
389−#: qml/Panel/Indicators/MenuItemFactory.qml:888
389+#: qml/Panel/Indicators/MenuItemFactory.qml:910
390msgid "Canceled"
390msgid "Canceled"
391msgstr ""
391msgstr ""
392
392
393−#: qml/Panel/Indicators/MenuItemFactory.qml:890
393+#: qml/Panel/Indicators/MenuItemFactory.qml:912
394msgid "Finished"
394msgid "Finished"
395msgstr ""
395msgstr ""
396
396
397−#: qml/Panel/Indicators/MenuItemFactory.qml:892
397+#: qml/Panel/Indicators/MenuItemFactory.qml:914
398msgid "Failed, tap to retry"
398msgid "Failed, tap to retry"
399msgstr ""
399msgstr ""
400
400
@@ -492,7 +492,7 @@ msgstr ""
492msgid "Let’s get started."
492msgid "Let’s get started."
493msgstr ""
493msgstr ""
494
494
495−#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:128
495+#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:133
496#: qml/Wizard/Pages/40-wifi.qml:215 qml/Wizard/Pages/50-location.qml:131
496#: qml/Wizard/Pages/40-wifi.qml:215 qml/Wizard/Pages/50-location.qml:131
497#: qml/Wizard/Pages/60-reporting.qml:60 qml/Wizard/Pages/passwd-confirm.qml:82
497#: qml/Wizard/Pages/60-reporting.qml:60 qml/Wizard/Pages/passwd-confirm.qml:82
498#: qml/Wizard/Pages/passwd-set.qml:90
498#: qml/Wizard/Pages/passwd-set.qml:90
@@ -515,36 +515,36 @@ msgstr ""
515msgid "Lock security"
515msgid "Lock security"
516msgstr ""
516msgstr ""
517
517
518−#: qml/Wizard/Pages/30-passwd-type.qml:74
518+#: qml/Wizard/Pages/30-passwd-type.qml:79
519msgid "Please select how you’d like to unlock your phone."
519msgid "Please select how you’d like to unlock your phone."
520msgstr ""
520msgstr ""
521
521
522−#: qml/Wizard/Pages/30-passwd-type.qml:97
522+#: qml/Wizard/Pages/30-passwd-type.qml:102
523msgctxt "Label: Type of security method"
523msgctxt "Label: Type of security method"
524msgid "Swipe"
524msgid "Swipe"
525msgstr ""
525msgstr ""
526
526
527−#: qml/Wizard/Pages/30-passwd-type.qml:98
527+#: qml/Wizard/Pages/30-passwd-type.qml:103
528msgctxt "Label: Description of security method"
528msgctxt "Label: Description of security method"
529msgid "No security"
529msgid "No security"
530msgstr ""
530msgstr ""
531
531
532−#: qml/Wizard/Pages/30-passwd-type.qml:100
532+#: qml/Wizard/Pages/30-passwd-type.qml:105
533msgctxt "Label: Type of security method"
533msgctxt "Label: Type of security method"
534msgid "Passcode"
534msgid "Passcode"
535msgstr ""
535msgstr ""
536
536
537−#: qml/Wizard/Pages/30-passwd-type.qml:101
537+#: qml/Wizard/Pages/30-passwd-type.qml:106
538msgctxt "Label: Description of security method"
538msgctxt "Label: Description of security method"
539msgid "4 digits only"
539msgid "4 digits only"
540msgstr ""
540msgstr ""
541
541
542−#: qml/Wizard/Pages/30-passwd-type.qml:103
542+#: qml/Wizard/Pages/30-passwd-type.qml:108
543msgctxt "Label: Type of security method"
543msgctxt "Label: Type of security method"
544msgid "Passphrase"
544msgid "Passphrase"
545msgstr ""
545msgstr ""
546
546
547−#: qml/Wizard/Pages/30-passwd-type.qml:104
547+#: qml/Wizard/Pages/30-passwd-type.qml:109
548msgctxt "Label: Description of security method"
548msgctxt "Label: Description of security method"
549msgid "Numbers and letters"
549msgid "Numbers and letters"
550msgstr ""
550msgstr ""
po/ur.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-05-05 03:12+0000\n"
11"PO-Revision-Date: 2015-05-05 03:12+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Urdu <ur@li.org>\n"
13"Language-Team: Urdu <ur@li.org>\n"
14+"Language: ur\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/uz.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-04 16:03+0000\n"
11"PO-Revision-Date: 2015-07-04 16:03+0000\n"
12"Last-Translator: Learner <muzaffar.habibullayev@yandex.ru>\n"
12"Last-Translator: Learner <muzaffar.habibullayev@yandex.ru>\n"
13"Language-Team: Uzbek <uz@li.org>\n"
13"Language-Team: Uzbek <uz@li.org>\n"
14+"Language: uz\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/vi.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-01-15 01:19+0000\n"
11"PO-Revision-Date: 2014-01-15 01:19+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Vietnamese <vi@li.org>\n"
13"Language-Team: Vietnamese <vi@li.org>\n"
14+"Language: vi\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/wo.po+7−7
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-10-29 11:16+0000\n"
11"PO-Revision-Date: 2015-10-29 11:16+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Wolof <wo@li.org>\n"
13"Language-Team: Wolof <wo@li.org>\n"
14+"Language: wo\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -579,8 +580,7 @@ msgstr "Ci jëfandikoo GPS kepp (gën a ñawadi)"
579
580
580#: qml/Wizard/Pages/50-location.qml:86
581#: qml/Wizard/Pages/50-location.qml:86
581msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
582msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
582−msgstr ""
583−"Jëfandikoo GPS, wi-fi buñ xamul ak xibaaru mbaalu wootekaay (digalees)"
583+msgstr "Jëfandikoo GPS, wi-fi buñ xamul ak xibaaru mbaalu wootekaay (digalees)"
584
584
585#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
585#. Translators: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
586#: qml/Wizard/Pages/50-location.qml:103
586#: qml/Wizard/Pages/50-location.qml:103
@@ -729,8 +729,8 @@ msgstr "%1 〉"
729#~ "You have now mastered the edge gestures and can start using the "
729#~ "You have now mastered the edge gestures and can start using the "
730#~ "phone<br><br>Tap on the screen to start"
730#~ "phone<br><br>Tap on the screen to start"
731#~ msgstr ""
731#~ msgstr ""
732−#~ "Léegi nàng nga bu baax kon man nga tàmbali jëfandikoo wootekaay bi <br><br> "
732+#~ "Léegi nàng nga bu baax kon man nga tàmbali jëfandikoo wootekaay bi "
733−#~ "Bësal ci xoolu bi ngir tàmbali"
733+#~ "<br><br> Bësal ci xoolu bi ngir tàmbali"
734
734
735#~ msgid "Store"
735#~ msgid "Store"
736#~ msgstr "Ja"
736#~ msgstr "Ja"
po/xh.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
14+"Language: xh\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/zh_CN.po+12−7
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-27 10:26+0000\n"
11"PO-Revision-Date: 2015-07-27 10:26+0000\n"
12"Last-Translator: Ian Li <Unknown>\n"
12"Last-Translator: Ian Li <Unknown>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
14+"Language: \n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
@@ -289,13 +290,15 @@ msgstr "这是您最后的尝试机会。"
289msgid ""
290msgid ""
290"If passphrase is entered incorrectly, your phone will conduct a factory "
291"If passphrase is entered incorrectly, your phone will conduct a factory "
291"reset and all personal data will be deleted."
292"reset and all personal data will be deleted."
293+msgstr ""
292−msgstr "如果输入的密语不正确,您的手机将恢复到出厂设置并且所有的个人数据将被删除。"
294+"如果输入的密语不正确,您的手机将恢复到出厂设置并且所有的个人数据将被删除。"
293
295
294#: qml/Greeter/NarrowView.qml:59
296#: qml/Greeter/NarrowView.qml:59
295msgid ""
297msgid ""
296"If passcode is entered incorrectly, your phone will conduct a factory reset "
298"If passcode is entered incorrectly, your phone will conduct a factory reset "
297"and all personal data will be deleted."
299"and all personal data will be deleted."
300+msgstr ""
298−msgstr "如果输入的密码不正确,您的手机将恢复到出厂设置并且所有的个人数据将被删除。"
301+"如果输入的密码不正确,您的手机将恢复到出厂设置并且所有的个人数据将被删除。"
299
302
300#: qml/Greeter/NarrowView.qml:116
303#: qml/Greeter/NarrowView.qml:116
301#, qt-format
304#, qt-format
@@ -598,7 +601,8 @@ msgstr "改善您的体验"
598msgid ""
601msgid ""
599"Your phone is set up to automatically report errors to Canonical and its "
602"Your phone is set up to automatically report errors to Canonical and its "
600"partners, the makers of the operating system."
603"partners, the makers of the operating system."
604+msgstr ""
601−msgstr "您的手机设置为自动向操作系统的制造商Canonical 及其合作伙伴发送错误报告。"
605+"您的手机设置为自动向操作系统的制造商Canonical 及其合作伙伴发送错误报告。"
602
606
603#: qml/Wizard/Pages/60-reporting.qml:53
607#: qml/Wizard/Pages/60-reporting.qml:53
604msgid ""
608msgid ""
@@ -710,7 +714,8 @@ msgstr "%1 〉"
710#~ msgid ""
714#~ msgid ""
711#~ "You have now mastered the edge gestures and can start using the "
715#~ "You have now mastered the edge gestures and can start using the "
712#~ "phone<br><br>Tap on the screen to start"
716#~ "phone<br><br>Tap on the screen to start"
717+#~ msgstr ""
713−#~ msgstr "您现在已经掌握了边缘滑动手势,可以开始使用手机了<br><br>请点击屏幕开始使用"
718+#~ "您现在已经掌握了边缘滑动手势,可以开始使用手机了<br><br>请点击屏幕开始使用"
714
719
715#~ msgid "All"
720#~ msgid "All"
716#~ msgstr "所有"
721#~ msgstr "所有"
po/zh_HK.po+4−3
@@ -6,17 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2014-08-10 11:45+0000\n"
11"PO-Revision-Date: 2014-08-10 11:45+0000\n"
12"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
12"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
13"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
13"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
14+"Language: zh_HK\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20
21
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
23msgid "Password: "
po/zh_TW.po+13−11
@@ -6,18 +6,18 @@
6msgid ""
6msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9−"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9+"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
10"POT-Creation-Date: 2015-12-08 15:42+0000\n"
11"PO-Revision-Date: 2015-07-31 09:29+0000\n"
11"PO-Revision-Date: 2015-07-31 09:29+0000\n"
12"Last-Translator: Po-Hsu Lin <po-hsu.lin@canonical.com>\n"
12"Last-Translator: Po-Hsu Lin <po-hsu.lin@canonical.com>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
14+"Language: zh_TW\n"
14"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-12-12 05:45+0000\n"
19+"X-Launchpad-Export-Date: 2016-01-14 05:54+0000\n"
19−"X-Generator: Launchpad (build 17865)\n"
20+"X-Generator: Launchpad (build 17886)\n"
20−"Language: zh_TW\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -153,19 +153,19 @@ msgstr "可能未儲存資料的程式:"
153
153
154#: qml/Components/ModeSwitchWarningDialog.qml:57
154#: qml/Components/ModeSwitchWarningDialog.qml:57
155msgid "Re-dock, save your work and close these apps to continue."
155msgid "Re-dock, save your work and close these apps to continue."
156−msgstr ""
156+msgstr "重新靠鎖,儲存您的工作項目及關閉相關應用程式後繼續."
157
157
158#: qml/Components/ModeSwitchWarningDialog.qml:63
158#: qml/Components/ModeSwitchWarningDialog.qml:63
159msgid "Or force close now (unsaved data will be lost)."
159msgid "Or force close now (unsaved data will be lost)."
160−msgstr ""
160+msgstr "或強制關閉 (未儲存的資料即將遺失)"
161
161
162#: qml/Components/ModeSwitchWarningDialog.qml:75
162#: qml/Components/ModeSwitchWarningDialog.qml:75
163msgid "OK, I will reconnect"
163msgid "OK, I will reconnect"
164−msgstr ""
164+msgstr "好的,我將重新連線"
165
165
166#: qml/Components/ModeSwitchWarningDialog.qml:76
166#: qml/Components/ModeSwitchWarningDialog.qml:76
167msgid "Reconnect now!"
167msgid "Reconnect now!"
168−msgstr ""
168+msgstr "即刻重新連線!"
169
169
170#: qml/Components/ModeSwitchWarningDialog.qml:88
170#: qml/Components/ModeSwitchWarningDialog.qml:88
171msgid "Close all"
171msgid "Close all"
@@ -230,7 +230,7 @@ msgstr "新增評論"
230
230
231#: qml/Dash/Previews/PreviewSharing.qml:51
231#: qml/Dash/Previews/PreviewSharing.qml:51
232msgid "Preview Share Item"
232msgid "Preview Share Item"
233−msgstr ""
233+msgstr "預覽分享的項目"
234
234
235#: qml/Dash/PullToRefreshScopeStyle.qml:55
235#: qml/Dash/PullToRefreshScopeStyle.qml:55
236msgid "Pull to refresh…"
236msgid "Pull to refresh…"
@@ -258,7 +258,7 @@ msgstr "也有安裝"
258
258
259#: qml/DisabledScreenNotice.qml:42
259#: qml/DisabledScreenNotice.qml:42
260msgid "Your device is now connected to an external display."
260msgid "Your device is now connected to an external display."
261−msgstr ""
261+msgstr "您的裝目前已經連線到外部的螢幕."
262
262
263#: qml/Greeter/CoverPage.qml:107
263#: qml/Greeter/CoverPage.qml:107
264msgid "Unlock"
264msgid "Unlock"
@@ -597,7 +597,9 @@ msgstr "改善您的使用體驗"
597msgid ""
597msgid ""
598"Your phone is set up to automatically report errors to Canonical and its "
598"Your phone is set up to automatically report errors to Canonical and its "
599"partners, the makers of the operating system."
599"partners, the makers of the operating system."
600+msgstr ""
600−msgstr "您的手機已設置為會自動向 Canonical 及其合作夥伴 (作業系統的製作者) 回報錯誤問題。"
601+"您的手機已設置為會自動向 Canonical 及其合作夥伴 (作業系統的製作者) 回報錯誤問"
602+"題。"
601
603
602#: qml/Wizard/Pages/60-reporting.qml:53
604#: qml/Wizard/Pages/60-reporting.qml:53
603msgid ""
605msgid ""
qml/Dash/DashPageHeader.qml+1
@@ -102,6 +102,7 @@ Item {
102 "edgeMargins": units.gu(1)
102 "edgeMargins": units.gu(1)
103 }
103 }
104 );
104 );
105+ searchTextField.forceActiveFocus();
105 }
106 }
106 }
107 }
107
108
qml/Dash/Previews/PreviewAudioPlayback.qml+16−76
@@ -15,8 +15,8 @@
15 */
15 */
16
16
17import QtQuick 2.4
17import QtQuick 2.4
18−import QtMultimedia 5.0
19import Ubuntu.Components 1.3
18import Ubuntu.Components 1.3
19+import Dash 0.1
20
20
21/*! \brief Preview widget for audio tracks.
21/*! \brief Preview widget for audio tracks.
22
22
@@ -36,38 +36,6 @@ PreviewWidget {
36 id: root
36 id: root
37 implicitHeight: childrenRect.height
37 implicitHeight: childrenRect.height
38
38
39− onIsCurrentPreviewChanged: if (!isCurrentPreview) audio.stop()
40−
41− Audio {
42− id: audio
43− objectName: "audio"
44−
45− property real progress: audio.position / audio.duration
46− property Item playingItem
47−
48− Component.onDestruction: {
49− // destroying the component doesn't automatically send stop to the media service, probably a bug in QtMultimedia
50− audio.stop();
51− }
52−
53− onErrorStringChanged: console.warn("Audio player error:", errorString)
54−
55− function lengthToString(s) {
56− if (typeof(s) !== "number" || s <= 0) return "";
57−
58− var sec = "" + s % 60;
59− if (sec.length == 1) sec = "0" + sec;
60− var hour = Math.floor(s / 3600);
61− if (hour < 1) {
62− return Math.floor(s / 60) + ":" + sec;
63− } else {
64− var min = "" + Math.floor(s / 60) % 60;
65− if (min.length == 1) min = "0" + min;
66− return hour + ":" + min + ":" + sec;
67− }
68− }
69− }
70−
71 Column {
39 Column {
72 anchors { left: parent.left; right: parent.right }
40 anchors { left: parent.left; right: parent.right }
73 visible: trackRepeater.count > 0
41 visible: trackRepeater.count > 0
@@ -77,20 +45,12 @@ PreviewWidget {
77 objectName: "trackRepeater"
45 objectName: "trackRepeater"
78 model: root.widgetData["tracks"]
46 model: root.widgetData["tracks"]
79
47
80− function play(item, source) {
81− audio.stop();
82− // Make sure we change the source, even if two items point to the same uri location
83− audio.source = "";
84− audio.source = source;
85− audio.playingItem = item;
86− audio.play();
87− }
88−
89 delegate: Item {
48 delegate: Item {
90 id: trackItem
49 id: trackItem
91 objectName: "trackItem" + index
50 objectName: "trackItem" + index
92
51
93− property bool isPlayingItem: audio.playingItem == trackItem
52+ readonly property url sourceUrl: modelData["source"]
53+ readonly property bool isPlayingItem: AudioUrlComparer.compare(sourceUrl, DashAudioPlayer.currentSource)
94
54
95 anchors { left: parent.left; right: parent.right }
55 anchors { left: parent.left; right: parent.right }
96 height: units.gu(5)
56 height: units.gu(5)
@@ -98,9 +58,9 @@ PreviewWidget {
98 Row {
58 Row {
99 id: trackRow
59 id: trackRow
100
60
101− property int column1Width: units.gu(3)
61+ readonly property int column1Width: units.gu(3)
102− property int column2Width: width - (2 * spacing) - column1Width - column3Width
62+ readonly property int column2Width: width - (2 * spacing) - column1Width - column3Width
103− property int column3Width: units.gu(4)
63+ readonly property int column3Width: units.gu(4)
104
64
105 anchors.verticalCenter: parent.verticalCenter
65 anchors.verticalCenter: parent.verticalCenter
106 width: parent.width
66 width: parent.width
@@ -110,7 +70,7 @@ PreviewWidget {
110 objectName: "playButton"
70 objectName: "playButton"
111 width: trackRow.column1Width
71 width: trackRow.column1Width
112 height: width
72 height: width
113− iconSource: audio.playbackState == Audio.PlayingState && trackItem.isPlayingItem ? "image://theme/media-playback-pause" : "image://theme/media-playback-start"
73+ iconSource: DashAudioPlayer.playing && trackItem.isPlayingItem ? "image://theme/media-playback-pause" : "image://theme/media-playback-start"
114
74
115 // Can't be "transparent" or "#00xxxxxx" as the button optimizes away the surrounding shape
75 // Can't be "transparent" or "#00xxxxxx" as the button optimizes away the surrounding shape
116 // FIXME when this is resolved: https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1251685
76 // FIXME when this is resolved: https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1251685
@@ -118,13 +78,13 @@ PreviewWidget {
118
78
119 onClicked: {
79 onClicked: {
120 if (trackItem.isPlayingItem) {
80 if (trackItem.isPlayingItem) {
121− if (audio.playbackState == Audio.PlayingState) {
81+ if (DashAudioPlayer.playing) {
122− audio.pause();
82+ DashAudioPlayer.pause();
123− } else if (audio.playbackState == Audio.PausedState) {
83+ } else if (DashAudioPlayer.paused) {
124− audio.play();
84+ DashAudioPlayer.play();
125 }
85 }
126 } else {
86 } else {
127− trackRepeater.play(trackItem, modelData["source"]);
87+ DashAudioPlayer.playSource(sourceUrl);
128 }
88 }
129 }
89 }
130 }
90 }
@@ -160,30 +120,10 @@ PreviewWidget {
160 elide: Text.ElideRight
120 elide: Text.ElideRight
161 }
121 }
162
122
163− UbuntuShape {
123+ AudioProgressBar {
164− id: progressBarFill
165− objectName: "progressBarFill"
166−
167− property int maxWidth: progressBarImage.width - units.dp(4)
168−
169− anchors {
170− left: progressBarImage.left
171− right: progressBarImage.right
172− verticalCenter: progressBarImage.verticalCenter
173− margins: units.dp(2)
174− rightMargin: maxWidth - (maxWidth * audio.progress) + units.dp(2)
175− }
176− height: units.dp(2)
177− visible: progressBarImage.visible
178− backgroundColor: UbuntuColors.orange
179− }
180−
181− Image {
182− id: progressBarImage
183 anchors { left: parent.left; top: parent.bottom; right: parent.right }
124 anchors { left: parent.left; top: parent.bottom; right: parent.right }
184− height: units.dp(6)
185− visible: audio.playbackState != Audio.StoppedState && trackItem.isPlayingItem && modelData["length"] > 0
125+ visible: !DashAudioPlayer.stopped && trackItem.isPlayingItem && modelData["length"] > 0
186− source: "graphics/music_progress_bg.png"
126+ source: sourceUrl
187 }
127 }
188 }
128 }
189
129
@@ -196,7 +136,7 @@ PreviewWidget {
196 color: scopeStyle ? scopeStyle.foreground : theme.palette.normal.baseText
136 color: scopeStyle ? scopeStyle.foreground : theme.palette.normal.baseText
197 fontSize: "small"
137 fontSize: "small"
198 horizontalAlignment: Text.AlignRight
138 horizontalAlignment: Text.AlignRight
199− text: audio.lengthToString(modelData["length"])
139+ text: DashAudioPlayer.lengthToString(modelData["length"])
200 }
140 }
201 }
141 }
202 }
142 }
qml/Dash/Previews/PreviewMediaToolbar.qml+2−1
@@ -23,10 +23,11 @@ Rectangle {
23
23
24 implicitHeight: units.gu(6)
24 implicitHeight: units.gu(6)
25 color: Qt.rgba(0, 0, 0, 0.8)
25 color: Qt.rgba(0, 0, 0, 0.8)
26− visible: sharingWidget.visible
26+ visible: sharingWidget.active
27
27
28 PreviewSharing {
28 PreviewSharing {
29 id: sharingWidget
29 id: sharingWidget
30+ objectName: "sharingWidget"
30 anchors {
31 anchors {
31 left: parent.left
32 left: parent.left
32 verticalCenter: parent.verticalCenter
33 verticalCenter: parent.verticalCenter
qml/Dash/Previews/PreviewSharing.qml+3−4
@@ -24,13 +24,12 @@ Item {
24 implicitWidth: button.width
24 implicitWidth: button.width
25
25
26 property var shareData
26 property var shareData
27+ property alias active: peerPicker.active
27 readonly property bool isUrlExternal: url && url.indexOf("file:///") != 0 && url.indexOf("/") != 0
28 readonly property bool isUrlExternal: url && url.indexOf("file:///") != 0 && url.indexOf("/") != 0
28− readonly property string contentType: shareData ? shareData["contentType"] : ""
29+ readonly property string contentType: shareData ? shareData["content-type"] : ""
29 readonly property var url: shareData ? shareData["uri"] : ""
30 readonly property var url: shareData ? shareData["uri"] : ""
30 readonly property Item rootItem: QuickUtils.rootItem(root)
31 readonly property Item rootItem: QuickUtils.rootItem(root)
31
32
32− visible: url != ""
33−
34 AbstractButton {
33 AbstractButton {
35 id: button
34 id: button
36 height: units.gu(4)
35 height: units.gu(4)
@@ -98,7 +97,7 @@ Item {
98 parent: rootItem
97 parent: rootItem
99 anchors.fill: parent
98 anchors.fill: parent
100 visible: false
99 visible: false
101− active: root.visible
100+ active: root.url != ""
102
101
103 sourceComponent: contentPeerComponent
102 sourceComponent: contentPeerComponent
104 }
103 }
qml/Dash/Previews/PreviewVideoPlayback.qml+1−1
@@ -81,7 +81,7 @@ PreviewWidget {
81 right: parent.right
81 right: parent.right
82 bottom: parent.bottom
82 bottom: parent.bottom
83 }
83 }
84− shareData: widgetData["shareData"]
84+ shareData: widgetData["share-data"]
85 }
85 }
86 }
86 }
87}
87}
qml/Dash/Previews/PreviewZoomableImage.qml+1−1
@@ -72,7 +72,7 @@ PreviewWidget {
72 right: parent.right
72 right: parent.right
73 bottom: parent.bottom
73 bottom: parent.bottom
74 }
74 }
75− shareData: widgetData["shareData"]
75+ shareData: widgetData["share-data"]
76 }
76 }
77 }
77 }
78
78
qml/Dash/Previews/graphics/music_progress_bg.pngdeleted

Binary file not shown.

qml/Greeter/Greeter.qml+7−4
@@ -34,7 +34,7 @@ Showable {
34 // How far to offset the top greeter layer during a launcher left-drag
34 // How far to offset the top greeter layer during a launcher left-drag
35 property real launcherOffset
35 property real launcherOffset
36
36
37− readonly property bool active: shown || hasLockedApp
37+ readonly property bool active: required || hasLockedApp
38 readonly property bool fullyShown: loader.item ? loader.item.fullyShown : false
38 readonly property bool fullyShown: loader.item ? loader.item.fullyShown : false
39
39
40 // True when the greeter is waiting for PAM or other setup process
40 // True when the greeter is waiting for PAM or other setup process
@@ -226,14 +226,17 @@ Showable {
226 }
226 }
227
227
228 function checkForForcedDelay() {
228 function checkForForcedDelay() {
229+ if (greeterSettings.lockedOutTime === 0) {
230+ return;
231+ }
232+
229 var now = new Date();
233 var now = new Date();
230− delayTarget = now;
231− delayTarget.setTime(greeterSettings.lockedOutTime + failedLoginsDelayMinutes * 60000);
234+ delayTarget = new Date(greeterSettings.lockedOutTime + failedLoginsDelayMinutes * 60000);
232
235
233 // If tooEarly is true, something went very wrong. Bug or NTP
236 // If tooEarly is true, something went very wrong. Bug or NTP
234 // misconfiguration maybe?
237 // misconfiguration maybe?
235 var tooEarly = now.getTime() < greeterSettings.lockedOutTime;
238 var tooEarly = now.getTime() < greeterSettings.lockedOutTime;
236− var tooLate = now > delayTarget;
239+ var tooLate = now >= delayTarget;
237
240
238 // Compare stored time to system time. If a malicious actor is
241 // Compare stored time to system time. If a malicious actor is
239 // able to manipulate time to avoid our lockout, they already have
242 // able to manipulate time to avoid our lockout, they already have
qml/Launcher/Launcher.qml+4−9
@@ -184,18 +184,13 @@ Item {
184 }
184 }
185 }
185 }
186
186
187− MultiPointTouchArea {
187+ InverseMouseArea {
188 id: closeMouseArea
188 id: closeMouseArea
189− anchors {
189+ anchors.fill: panel
190− left: launcherDragArea.right
191− top: parent.top
192− right: parent.right
193− bottom: parent.bottom
194− }
195 enabled: root.shadeBackground && root.state == "visible"
190 enabled: root.shadeBackground && root.state == "visible"
196− visible: enabled // otherwise it will get in the way of cursor selection for some reason
191+ visible: enabled
197 onPressed: {
192 onPressed: {
198− root.state = ""
193+ root.hide();
199 }
194 }
200 }
195 }
201
196
qml/Launcher/LauncherPanel.qml+6−3
@@ -392,7 +392,6 @@ Rectangle {
392 }
392 }
393
393
394 onClicked: {
394 onClicked: {
395− Haptics.play();
396 var index = Math.floor((mouseY + launcherListView.realContentY) / launcherListView.realItemHeight);
395 var index = Math.floor((mouseY + launcherListView.realContentY) / launcherListView.realItemHeight);
397 var clickedItem = launcherListView.itemAt(mouseX, mouseY + launcherListView.realContentY)
396 var clickedItem = launcherListView.itemAt(mouseX, mouseY + launcherListView.realContentY)
398
397
@@ -407,9 +406,11 @@ Rectangle {
407 quickList.model = launcherListView.model.get(index).quickList;
406 quickList.model = launcherListView.model.get(index).quickList;
408 quickList.appId = launcherListView.model.get(index).appId;
407 quickList.appId = launcherListView.model.get(index).appId;
409 quickList.state = "open";
408 quickList.state = "open";
410− return
409+ return;
411 }
410 }
412
411
412+ Haptics.play();
413+
413 // First/last item do the scrolling at more than 12 degrees
414 // First/last item do the scrolling at more than 12 degrees
414 if (index == 0 || index == launcherListView.count - 1) {
415 if (index == 0 || index == launcherListView.count - 1) {
415 if (clickedItem.angle > 12) {
416 if (clickedItem.angle > 12) {
@@ -594,6 +595,7 @@ Rectangle {
594 width: itemWidth
595 width: itemWidth
595 rotation: root.rotation
596 rotation: root.rotation
596 itemOpacity: 0.9
597 itemOpacity: 0.9
598+ onVisibleChanged: if (!visible) iconName = "";
597
599
598 function flatten() {
600 function flatten() {
599 fakeDragItemAnimation.start();
601 fakeDragItemAnimation.start();
@@ -636,6 +638,7 @@ Rectangle {
636 rotation: 90
638 rotation: 90
637 }
639 }
638 }
640 }
641+
639 InverseMouseArea {
642 InverseMouseArea {
640 anchors.fill: quickListShape
643 anchors.fill: quickListShape
641 enabled: quickList.state == "open" || pressed
644 enabled: quickList.state == "open" || pressed
@@ -692,7 +695,7 @@ Rectangle {
692 property var item
695 property var item
693
696
694 // internal
697 // internal
695− property int itemCenter: item ? root.mapFromItem(quickList.item).y + (item.height / 2) : units.gu(1)
698+ property int itemCenter: item ? root.mapFromItem(quickList.item).y + (item.height / 2) + quickList.item.offset : units.gu(1)
696 property int offset: itemCenter + (height/2) + units.gu(1) > parent.height ? -itemCenter - (height/2) - units.gu(1) + parent.height :
699 property int offset: itemCenter + (height/2) + units.gu(1) > parent.height ? -itemCenter - (height/2) - units.gu(1) + parent.height :
697 itemCenter - (height/2) < units.gu(1) ? (height/2) - itemCenter + units.gu(1) : 0
700 itemCenter - (height/2) < units.gu(1) ? (height/2) - itemCenter + units.gu(1) : 0
698
701
qml/Panel/Indicators/MenuItemFactory.qml+24−2
@@ -125,10 +125,12 @@ Item {
125 menuModel.loadExtendedAttributes(menuIndex, {'min-value': 'double',
125 menuModel.loadExtendedAttributes(menuIndex, {'min-value': 'double',
126 'max-value': 'double',
126 'max-value': 'double',
127 'min-icon': 'icon',
127 'min-icon': 'icon',
128− 'max-icon': 'icon'});
128+ 'max-icon': 'icon',
129+ 'x-canonical-sync-action': 'string'});
129 }
130 }
130
131
131 ServerPropertySynchroniser {
132 ServerPropertySynchroniser {
133+ id: sliderPropertySync
132 objectName: "sync"
134 objectName: "sync"
133 syncTimeout: Utils.Constants.indicatorValueTimeout
135 syncTimeout: Utils.Constants.indicatorValueTimeout
134 bufferedSyncTimeout: true
136 bufferedSyncTimeout: true
@@ -141,6 +143,16 @@ Item {
141
143
142 onSyncTriggered: menuModel.changeState(menuIndex, value)
144 onSyncTriggered: menuModel.changeState(menuIndex, value)
143 }
145 }
146+
147+ UnityMenuAction {
148+ model: menuModel
149+ index: menuIndex
150+ name: getExtendedProperty(extendedData, "xCanonicalSyncAction", "")
151+ onStateChanged: {
152+ sliderPropertySync.reset();
153+ sliderPropertySync.updateUserValue();
154+ }
155+ }
144 }
156 }
145 }
157 }
146
158
@@ -564,7 +576,17 @@ Item {
564 active: serverChecked
576 active: serverChecked
565 secure: getExtendedProperty(extendedData, "xCanonicalWifiApIsSecure", false)
577 secure: getExtendedProperty(extendedData, "xCanonicalWifiApIsSecure", false)
566 adHoc: getExtendedProperty(extendedData, "xCanonicalWifiApIsAdhoc", false)
578 adHoc: getExtendedProperty(extendedData, "xCanonicalWifiApIsAdhoc", false)
579+ signalStrength: {
567− signalStrength: strengthAction.valid ? strengthAction.state : 0
580+ if (strengthAction.valid) {
581+ var state = strengthAction.state; // handle both int and uchar
582+ // FIXME remove the special casing when we switch to indicator-network completely
583+ if (typeof state == "string") {
584+ return state.charCodeAt();
585+ }
586+ return state;
587+ }
588+ return 0;
589+ }
568 highlightWhenPressed: false
590 highlightWhenPressed: false
569
591
570 onMenuModelChanged: {
592 onMenuModelChanged: {
qml/Stages/DesktopStage.qml+7−3
@@ -124,16 +124,20 @@ AbstractStage {
124 onFocusedAppDelegateChanged: updateForegroundMaximizedApp();
124 onFocusedAppDelegateChanged: updateForegroundMaximizedApp();
125
125
126 property int foregroundMaximizedAppZ: -1
126 property int foregroundMaximizedAppZ: -1
127+ property int foregroundMaximizedAppIndex: -1 // for stuff like drop shadow and focusing maximized app by clicking panel
127
128
128 function updateForegroundMaximizedApp() {
129 function updateForegroundMaximizedApp() {
129 var tmp = -1;
130 var tmp = -1;
131+ var tmpAppId = -1;
130 for (var i = appRepeater.count - 1; i >= 0; i--) {
132 for (var i = appRepeater.count - 1; i >= 0; i--) {
131 var item = appRepeater.itemAt(i);
133 var item = appRepeater.itemAt(i);
132 if (item && item.visuallyMaximized) {
134 if (item && item.visuallyMaximized) {
135+ tmpAppId = i;
133 tmp = Math.max(tmp, item.normalZ);
136 tmp = Math.max(tmp, item.normalZ);
134 }
137 }
135 }
138 }
136 foregroundMaximizedAppZ = tmp;
139 foregroundMaximizedAppZ = tmp;
140+ foregroundMaximizedAppIndex = tmpAppId;
137 }
141 }
138
142
139 function indexOf(appId) {
143 function indexOf(appId) {
@@ -176,8 +180,8 @@ AbstractStage {
176 onMinimize: priv.focusedAppDelegate && priv.focusedAppDelegate.minimize();
180 onMinimize: priv.focusedAppDelegate && priv.focusedAppDelegate.minimize();
177 onMaximize: priv.focusedAppDelegate // don't restore minimized apps when double clicking the panel
181 onMaximize: priv.focusedAppDelegate // don't restore minimized apps when double clicking the panel
178 && priv.focusedAppDelegate.restoreFromMaximized();
182 && priv.focusedAppDelegate.restoreFromMaximized();
179− onFocusMaximizedApp: if (priv.foregroundMaximizedAppIdIndex != -1) {
183+ onFocusMaximizedApp: if (priv.foregroundMaximizedAppIndex != -1) {
180− ApplicationManager.focusApplication(appRepeater.itemAt(priv.foregroundMaximizedAppIdIndex).appId);
184+ ApplicationManager.focusApplication(appRepeater.itemAt(priv.foregroundMaximizedAppIndex).appId);
181 }
185 }
182 }
186 }
183
187
@@ -206,7 +210,7 @@ AbstractStage {
206 Binding {
210 Binding {
207 target: PanelState
211 target: PanelState
208 property: "dropShadow"
212 property: "dropShadow"
209− value: priv.focusedAppDelegate && !priv.focusedAppDelegate.maximized && priv.foregroundMaximizedAppIdIndex !== -1
213+ value: priv.focusedAppDelegate && !priv.focusedAppDelegate.maximized && priv.foregroundMaximizedAppIndex !== -1
210 }
214 }
211
215
212 Component.onDestruction: {
216 Component.onDestruction: {
qml/Wizard/Pages/30-passwd-type.qml+5
@@ -39,6 +39,11 @@ LocalComponents.Page {
39 title: i18n.tr("Lock security")
39 title: i18n.tr("Lock security")
40 forwardButtonSourceComponent: forwardButton
40 forwardButtonSourceComponent: forwardButton
41
41
42+ // If the user has set a password some other way (via ubuntu-device-flash
43+ // or this isn't the first time the wizard has been run, etc). We can't
44+ // properly set the password again, so let's not pretend we can.
45+ skip: securityPrivacy.securityType !== UbuntuSecurityPrivacyPanel.Swipe
46+
42 function indexToMethod(index) {
47 function indexToMethod(index) {
43 if (index === 0)
48 if (index === 0)
44 return UbuntuSecurityPrivacyPanel.Swipe
49 return UbuntuSecurityPrivacyPanel.Swipe
src/CMakeLists.txt+13−7
@@ -16,10 +16,9 @@ file(GLOB_RECURSE QML_FILES
16 ${CMAKE_SOURCE_DIR}/tests/*.svg
16 ${CMAKE_SOURCE_DIR}/tests/*.svg
17)
17)
18
18
19−add_executable(${SHELL_APP}
19+set(SOURCE_FILES
20 ApplicationArguments.cpp
20 ApplicationArguments.cpp
21 main.cpp
21 main.cpp
22− MouseTouchAdaptor.cpp
23 CachingNetworkManagerFactory.cpp
22 CachingNetworkManagerFactory.cpp
24 SecondaryWindow.cpp
23 SecondaryWindow.cpp
25 ShellApplication.cpp
24 ShellApplication.cpp
@@ -28,15 +27,22 @@ add_executable(${SHELL_APP}
28 ${QML_FILES} # This is to make qml and image files appear in the IDE's project tree
27 ${QML_FILES} # This is to make qml and image files appear in the IDE's project tree
29)
28)
30
29
30+if (ENABLE_TOUCH_EMULATION)
31+ set(SOURCE_FILES ${SOURCE_FILES} MouseTouchAdaptor.cpp)
32+endif()
33+
34+pkg_check_modules(ANDROID_PROPERTIES REQUIRED libandroid-properties)
35+add_executable(${SHELL_APP} ${SOURCE_FILES})
31qt5_use_modules(${SHELL_APP} Gui Qml Quick Test)
36qt5_use_modules(${SHELL_APP} Gui Qml Quick Test)
32
37
33−pkg_check_modules(NEEDED_LIBS REQUIRED xcb libandroid-properties)
38+if (NOT "${ANDROID_PROPERTIES_INCLUDE_DIRS}" STREQUAL "")
34−if (NOT "${NEEDED_LIBS_INCLUDE_DIRS}" STREQUAL "")
35− set_target_properties(${SHELL_APP} PROPERTIES INCLUDE_DIRECTORIES ${NEEDED_LIBS_INCLUDE_DIRS})
39+ set_target_properties(${SHELL_APP} PROPERTIES INCLUDE_DIRECTORIES ${ANDROID_PROPERTIES_INCLUDE_DIRS})
36endif()
40endif()
37−target_link_libraries(${SHELL_APP} ${NEEDED_LIBS_LDFLAGS})
41+target_link_libraries(${SHELL_APP} ${ANDROID_PROPERTIES_LDFLAGS} UbuntuGestures connectivity-qt1)
38
42
43+if (ENABLE_TOUCH_EMULATION)
39−target_link_libraries(${SHELL_APP} UbuntuGestures connectivity-qt1)
44+ target_link_libraries(${SHELL_APP} ${MOUSETOUCHADAPTOR_LIBS_LDFLAGS})
45+endif()
40
46
41# For it to find libUbuntuGestures.so
47# For it to find libUbuntuGestures.so
42set_target_properties(${SHELL_APP} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
48set_target_properties(${SHELL_APP} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
src/Dash/CMakeLists.txt+8−8
@@ -1,25 +1,25 @@
1set(DASH_SRCS
1set(DASH_SRCS
2 main.cpp
2 main.cpp
3− ../ApplicationArguments.cpp
4− ../MouseTouchAdaptor.cpp
5 ../CachingNetworkManagerFactory.cpp
3 ../CachingNetworkManagerFactory.cpp
6)
4)
7
5
6+if (ENABLE_TOUCH_EMULATION)
7+ set(DASH_SRCS ${DASH_SRCS} ../MouseTouchAdaptor.cpp)
8+endif()
9+
8add_executable(unity8-dash ${DASH_SRCS})
10add_executable(unity8-dash ${DASH_SRCS})
9
11
10qt5_use_modules(unity8-dash Gui Qml Quick Test)
12qt5_use_modules(unity8-dash Gui Qml Quick Test)
11
13
12−pkg_check_modules(NEEDED_LIBS REQUIRED xcb libandroid-properties)
13−if (NOT "${NEEDED_LIBS_INCLUDE_DIRS}" STREQUAL "")
14− set_target_properties(unity8-dash PROPERTIES INCLUDE_DIRECTORIES ${NEEDED_LIBS_INCLUDE_DIRS})
15−endif()
16−target_link_libraries(unity8-dash ${NEEDED_LIBS_LDFLAGS})
17−
18# For it to find libUbuntuGestures.so, needed by Ubuntu.Gestures QML module.
14# For it to find libUbuntuGestures.so, needed by Ubuntu.Gestures QML module.
19set_target_properties(unity8-dash PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
15set_target_properties(unity8-dash PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
20
16
21target_link_libraries(unity8-dash UbuntuGestures connectivity-qt1)
17target_link_libraries(unity8-dash UbuntuGestures connectivity-qt1)
22
18
19+if (ENABLE_TOUCH_EMULATION)
20+ target_link_libraries(unity8-dash ${MOUSETOUCHADAPTOR_LIBS_LDFLAGS})
21+endif()
22+
23set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
23set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
24
24
25# install binaries
25# install binaries
src/Dash/main.cpp+9−5
@@ -27,8 +27,9 @@
27#include <libintl.h>
27#include <libintl.h>
28
28
29#include <paths.h>
29#include <paths.h>
30+#ifdef UNITY8_ENABLE_TOUCH_EMULATION
30−#include "../MouseTouchAdaptor.h"
31+ #include "../MouseTouchAdaptor.h"
31−#include "../ApplicationArguments.h"
32+#endif
32#include "../CachingNetworkManagerFactory.h"
33#include "../CachingNetworkManagerFactory.h"
33
34
34int main(int argc, const char *argv[])
35int main(int argc, const char *argv[])
@@ -57,8 +58,6 @@ int main(int argc, const char *argv[])
57 parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions);
58 parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions);
58 parser.process(*application);
59 parser.process(*application);
59
60
60− ApplicationArguments qmlArgs;
61−
62 if (getenv("QT_LOAD_TESTABILITY")) {
61 if (getenv("QT_LOAD_TESTABILITY")) {
63 QLibrary testLib(QStringLiteral("qttestability"));
62 QLibrary testLib(QStringLiteral("qttestability"));
64 if (testLib.load()) {
63 if (testLib.load()) {
@@ -92,14 +91,15 @@ int main(int argc, const char *argv[])
92 }
91 }
93
92
94 view->setTitle(QStringLiteral("Scopes"));
93 view->setTitle(QStringLiteral("Scopes"));
95− view->rootContext()->setContextProperty(QStringLiteral("applicationArguments"), &qmlArgs);
96
94
95+ #ifdef UNITY8_ENABLE_TOUCH_EMULATION
97 // You will need this if you want to interact with touch-only components using a mouse
96 // You will need this if you want to interact with touch-only components using a mouse
98 // Needed only when manually testing on a desktop.
97 // Needed only when manually testing on a desktop.
99 MouseTouchAdaptor *mouseTouchAdaptor = 0;
98 MouseTouchAdaptor *mouseTouchAdaptor = 0;
100 if (parser.isSet(mousetouchOption)) {
99 if (parser.isSet(mousetouchOption)) {
101 mouseTouchAdaptor = MouseTouchAdaptor::instance();
100 mouseTouchAdaptor = MouseTouchAdaptor::instance();
102 }
101 }
102+ #endif
103
103
104 QUrl source(::qmlDirectory() + "/Dash/DashApplication.qml");
104 QUrl source(::qmlDirectory() + "/Dash/DashApplication.qml");
105 prependImportPaths(view->engine(), ::overrideImportPaths());
105 prependImportPaths(view->engine(), ::overrideImportPaths());
@@ -114,7 +114,11 @@ int main(int argc, const char *argv[])
114 int result = application->exec();
114 int result = application->exec();
115
115
116 delete view;
116 delete view;
117+
118+ #ifdef UNITY8_ENABLE_TOUCH_EMULATION
117 delete mouseTouchAdaptor;
119 delete mouseTouchAdaptor;
120+ #endif
121+
118 delete application;
122 delete application;
119
123
120 return result;
124 return result;
src/MouseTouchAdaptor.cpp+180−21
@@ -16,14 +16,56 @@
16 * Authored by: Daniel d'Andrada <daniel.dandrada@canonical.com>
16 * Authored by: Daniel d'Andrada <daniel.dandrada@canonical.com>
17 */
17 */
18
18
19+
20+/* Some parts of the code were copied from the XCB platform plugin of the Qt Toolkit,
21+ * which is under the following license:
22+ */
23+
24+/****************************************************************************
25+**
26+** Copyright (C) 2015 The Qt Company Ltd.
27+** Contact: http://www.qt.io/licensing/
28+**
29+** This file is part of the .
30+**
31+** $QT_BEGIN_LICENSE:LGPL21$
32+** Commercial License Usage
33+** Licensees holding valid commercial Qt licenses may use this file in
34+** accordance with the commercial license agreement provided with the
35+** Software or, alternatively, in accordance with the terms contained in
36+** a written agreement between you and The Qt Company. For licensing terms
37+** and conditions see http://www.qt.io/terms-conditions. For further
38+** information use the contact form at http://www.qt.io/contact-us.
39+**
40+** GNU Lesser General Public License Usage
41+** Alternatively, this file may be used under the terms of the GNU Lesser
42+** General Public License version 2.1 or version 3 as published by the Free
43+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
44+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
45+** following information to ensure the GNU Lesser General Public License
46+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
47+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
48+**
49+** As a special exception, The Qt Company gives you certain additional
50+** rights. These rights are described in The Qt Company LGPL Exception
51+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
52+**
53+** $QT_END_LICENSE$
54+**
55+****************************************************************************/
56+
19#include "MouseTouchAdaptor.h"
57#include "MouseTouchAdaptor.h"
20
58
59+#include <qpa/qplatformnativeinterface.h>
21#include <qpa/qwindowsysteminterface.h>
60#include <qpa/qwindowsysteminterface.h>
22
61
23#include <QCoreApplication>
62#include <QCoreApplication>
24#include <QMouseEvent>
63#include <QMouseEvent>
25#include <QTest>
64#include <QTest>
26
65
66+#include <X11/extensions/XInput2.h>
67+#include <X11/extensions/XI2proto.h>
68+
27using QTest::QTouchEventSequence;
69using QTest::QTouchEventSequence;
28
70
29namespace {
71namespace {
@@ -49,6 +91,8 @@ MouseTouchAdaptor::MouseTouchAdaptor()
49 m_touchDevice = new QTouchDevice;
91 m_touchDevice = new QTouchDevice;
50 m_touchDevice->setType(QTouchDevice::TouchScreen);
92 m_touchDevice->setType(QTouchDevice::TouchScreen);
51 QWindowSystemInterface::registerTouchDevice(m_touchDevice);
93 QWindowSystemInterface::registerTouchDevice(m_touchDevice);
94+
95+ fetchXInput2Info();
52}
96}
53
97
54MouseTouchAdaptor::~MouseTouchAdaptor()
98MouseTouchAdaptor::~MouseTouchAdaptor()
@@ -65,9 +109,114 @@ MouseTouchAdaptor* MouseTouchAdaptor::instance()
65 return g_instance;
109 return g_instance;
66}
110}
67
111
112+void MouseTouchAdaptor::fetchXInput2Info()
113+{
114+ QPlatformNativeInterface *nativeInterface = qGuiApp->platformNativeInterface();
115+ Display *xDisplay = static_cast<Display*>(nativeInterface->nativeResourceForIntegration("Display"));
116+ if (xDisplay && XQueryExtension(xDisplay, "XInputExtension", &m_xiOpCode, &m_xiEventBase, &m_xiErrorBase)) {
117+ int xiMajor = 2;
118+ m_xi2Minor = 2; // try 2.2 first, needed for TouchBegin/Update/End
119+ if (XIQueryVersion(xDisplay, &xiMajor, &m_xi2Minor) == BadRequest) {
120+ m_xi2Minor = 1; // for smooth scrolling 2.1 is enough
121+ if (XIQueryVersion(xDisplay, &xiMajor, &m_xi2Minor) == BadRequest) {
122+ m_xi2Minor = 0; // for tablet support 2.0 is enough
123+ m_xi2Enabled = XIQueryVersion(xDisplay, &xiMajor, &m_xi2Minor) != BadRequest;
124+ } else
125+ m_xi2Enabled = true;
126+ } else {
127+ m_xi2Enabled = true;
128+ }
129+ }
130+}
131+
132+// Starting from the xcb version 1.9.3 struct xcb_ge_event_t has changed:
133+// - "pad0" became "extension"
134+// - "pad1" and "pad" became "pad0"
135+// New and old version of this struct share the following fields:
136+// NOTE: API might change again in the next release of xcb in which case this comment will
137+// need to be updated to reflect the reality.
138+typedef struct qt_xcb_ge_event_t {
139+ uint8_t response_type;
140+ uint8_t extension;
141+ uint16_t sequence;
142+ uint32_t length;
143+ uint16_t event_type;
144+} qt_xcb_ge_event_t;
145+
146+bool xi2PrepareXIGenericDeviceEvent(xcb_ge_event_t *ev, int opCode)
147+{
148+ qt_xcb_ge_event_t *event = (qt_xcb_ge_event_t *)ev;
149+ // xGenericEvent has "extension" on the second byte, the same is true for xcb_ge_event_t starting from
150+ // the xcb version 1.9.3, prior to that it was called "pad0".
151+ if (event->extension == opCode) {
152+ // xcb event structs contain stuff that wasn't on the wire, the full_sequence field
153+ // adds an extra 4 bytes and generic events cookie data is on the wire right after the standard 32 bytes.
154+ // Move this data back to have the same layout in memory as it was on the wire
155+ // and allow casting, overwriting the full_sequence field.
156+ memmove((char*) event + 32, (char*) event + 36, event->length * 4);
157+ return true;
158+ }
159+ return false;
160+}
161+
162+static inline qreal fixed1616ToReal(FP1616 val)
163+{
164+ return qreal(val) / 0x10000;
165+}
166+
167+bool MouseTouchAdaptor::xi2HandleEvent(xcb_ge_event_t *event)
168+{
169+ if (!xi2PrepareXIGenericDeviceEvent(event, m_xiOpCode)) {
170+ return false;
171+ }
172+
173+ xXIGenericDeviceEvent *xiEvent = reinterpret_cast<xXIGenericDeviceEvent *>(event);
174+ xXIDeviceEvent *xiDeviceEvent = 0;
175+
176+ switch (xiEvent->evtype) {
177+ case XI_ButtonPress:
178+ case XI_ButtonRelease:
179+ case XI_Motion:
180+ xiDeviceEvent = reinterpret_cast<xXIDeviceEvent *>(event);
181+ break;
182+ default:
183+ break;
184+ }
185+
186+ if (!xiDeviceEvent) {
187+ return false;
188+ }
189+
190+ switch (xiDeviceEvent->evtype) {
191+ case XI_ButtonPress:
192+ return handleButtonPress(
193+ static_cast<WId>(xiDeviceEvent->event),
194+ xiDeviceEvent->detail,
195+ fixed1616ToReal(xiDeviceEvent->event_x),
196+ fixed1616ToReal(xiDeviceEvent->event_y));
197+ case XI_ButtonRelease:
198+ return handleButtonRelease(
199+ static_cast<WId>(xiDeviceEvent->event),
200+ xiDeviceEvent->detail,
201+ fixed1616ToReal(xiDeviceEvent->event_x),
202+ fixed1616ToReal(xiDeviceEvent->event_y));
203+ case XI_Motion:
204+ return handleMotionNotify(
205+ static_cast<WId>(xiDeviceEvent->event),
206+ fixed1616ToReal(xiDeviceEvent->event_x),
207+ fixed1616ToReal(xiDeviceEvent->event_y));
208+ return true;
209+ default:
210+ return false;
211+ }
212+}
213+
214+
68bool MouseTouchAdaptor::nativeEventFilter(const QByteArray & eventType,
215bool MouseTouchAdaptor::nativeEventFilter(const QByteArray & eventType,
69 void * message, long * /*result*/)
216 void * message, long * /*result*/)
70{
217{
218+ static int eventCount = 0;
219+ eventCount++;
71 if (!m_enabled) {
220 if (!m_enabled) {
72 return false;
221 return false;
73 }
222 }
@@ -81,32 +230,42 @@ bool MouseTouchAdaptor::nativeEventFilter(const QByteArray & eventType,
81 xcb_generic_event_t *xcbEvent = static_cast<xcb_generic_event_t *>(message);
230 xcb_generic_event_t *xcbEvent = static_cast<xcb_generic_event_t *>(message);
82
231
83 switch (xcbEvent->response_type & ~0x80) {
232 switch (xcbEvent->response_type & ~0x80) {
84− case XCB_BUTTON_PRESS:
233+ case XCB_BUTTON_PRESS: {
85− return handleButtonPress(reinterpret_cast<xcb_button_press_event_t *>(xcbEvent));
234+ auto pressEvent = reinterpret_cast<xcb_button_press_event_t *>(xcbEvent);
86− break;
235+ return handleButtonPress(static_cast<WId>(pressEvent->event), pressEvent->detail,
236+ pressEvent->event_x, pressEvent->event_y);
237+ }
87− case XCB_BUTTON_RELEASE:
238+ case XCB_BUTTON_RELEASE: {
88− return handleButtonRelease(reinterpret_cast<xcb_button_release_event_t *>(xcbEvent));
239+ auto releaseEvent = reinterpret_cast<xcb_button_release_event_t *>(xcbEvent);
89− break;
240+ return handleButtonRelease(static_cast<WId>(releaseEvent->event), releaseEvent->detail,
241+ releaseEvent->event_x, releaseEvent->event_y);
242+ }
90− case XCB_MOTION_NOTIFY:
243+ case XCB_MOTION_NOTIFY: {
91− return handleMotionNotify(reinterpret_cast<xcb_motion_notify_event_t *>(xcbEvent));
244+ auto motionEvent = reinterpret_cast<xcb_motion_notify_event_t *>(xcbEvent);
92− break;
245+ return handleMotionNotify(static_cast<WId>(motionEvent->event), motionEvent->event_x, motionEvent->event_y);
246+ }
247+ case XCB_GE_GENERIC:
248+ if (m_xi2Enabled) {
249+ return xi2HandleEvent(reinterpret_cast<xcb_ge_event_t *>(xcbEvent));
250+ } else {
251+ return false;
252+ }
93 default:
253 default:
94 return false;
254 return false;
95− break;
96 };
255 };
97}
256}
98
257
99−bool MouseTouchAdaptor::handleButtonPress(xcb_button_press_event_t *pressEvent)
258+bool MouseTouchAdaptor::handleButtonPress(WId windowId, uint32_t detail, int x, int y)
100{
259{
101− Qt::MouseButton button = translateMouseButton(pressEvent->detail);
260+ Qt::MouseButton button = translateMouseButton(detail);
102
261
103 // Just eat the event if it wasn't a left mouse press
262 // Just eat the event if it wasn't a left mouse press
104 if (button != Qt::LeftButton)
263 if (button != Qt::LeftButton)
105 return true;
264 return true;
106
265
107− QWindow *targetWindow = findQWindowWithXWindowID(static_cast<WId>(pressEvent->event));
266+ QWindow *targetWindow = findQWindowWithXWindowID(windowId);
108
267
109− QPoint windowPos(pressEvent->event_x / targetWindow->devicePixelRatio(), pressEvent->event_y / targetWindow->devicePixelRatio());
268+ QPoint windowPos(x / targetWindow->devicePixelRatio(), y / targetWindow->devicePixelRatio());
110
269
111 QTouchEventSequence touchEvent = QTest::touchEvent(targetWindow, m_touchDevice,
270 QTouchEventSequence touchEvent = QTest::touchEvent(targetWindow, m_touchDevice,
112 false /* autoCommit */);
271 false /* autoCommit */);
@@ -117,17 +276,17 @@ bool MouseTouchAdaptor::handleButtonPress(xcb_button_press_event_t *pressEvent)
117 return true;
276 return true;
118}
277}
119
278
120−bool MouseTouchAdaptor::handleButtonRelease(xcb_button_release_event_t *releaseEvent)
279+bool MouseTouchAdaptor::handleButtonRelease(WId windowId, uint32_t detail, int x, int y)
121{
280{
122− Qt::MouseButton button = translateMouseButton(releaseEvent->detail);
281+ Qt::MouseButton button = translateMouseButton(detail);
123
282
124 // Just eat the event if it wasn't a left mouse release
283 // Just eat the event if it wasn't a left mouse release
125 if (button != Qt::LeftButton)
284 if (button != Qt::LeftButton)
126 return true;
285 return true;
127
286
128− QWindow *targetWindow = findQWindowWithXWindowID(static_cast<WId>(releaseEvent->event));
287+ QWindow *targetWindow = findQWindowWithXWindowID(windowId);
129
288
130− QPoint windowPos(releaseEvent->event_x / targetWindow->devicePixelRatio(), releaseEvent->event_y / targetWindow->devicePixelRatio());
289+ QPoint windowPos(x / targetWindow->devicePixelRatio(), y / targetWindow->devicePixelRatio());
131
290
132 QTouchEventSequence touchEvent = QTest::touchEvent(targetWindow, m_touchDevice,
291 QTouchEventSequence touchEvent = QTest::touchEvent(targetWindow, m_touchDevice,
133 false /* autoCommit */);
292 false /* autoCommit */);
@@ -138,15 +297,15 @@ bool MouseTouchAdaptor::handleButtonRelease(xcb_button_release_event_t *releaseE
138 return true;
297 return true;
139}
298}
140
299
141−bool MouseTouchAdaptor::handleMotionNotify(xcb_motion_notify_event_t *event)
300+bool MouseTouchAdaptor::handleMotionNotify(WId windowId, int x, int y)
142{
301{
143 if (!m_leftButtonIsPressed) {
302 if (!m_leftButtonIsPressed) {
144 return true;
303 return true;
145 }
304 }
146
305
147− QWindow *targetWindow = findQWindowWithXWindowID(static_cast<WId>(event->event));
306+ QWindow *targetWindow = findQWindowWithXWindowID(windowId);
148
307
149− QPoint windowPos(event->event_x / targetWindow->devicePixelRatio(), event->event_y / targetWindow->devicePixelRatio());
308+ QPoint windowPos(x / targetWindow->devicePixelRatio(), y / targetWindow->devicePixelRatio());
150
309
151 QTouchEventSequence touchEvent = QTest::touchEvent(targetWindow, m_touchDevice,
310 QTouchEventSequence touchEvent = QTest::touchEvent(targetWindow, m_touchDevice,
152 false /* autoCommit */);
311 false /* autoCommit */);
src/MouseTouchAdaptor.h+10−3
@@ -21,6 +21,7 @@
21
21
22#include <QtCore/QAbstractNativeEventFilter>
22#include <QtCore/QAbstractNativeEventFilter>
23#include <QWindow>
23#include <QWindow>
24+
24#include <xcb/xcb.h>
25#include <xcb/xcb.h>
25
26
26class QMouseEvent;
27class QMouseEvent;
@@ -47,16 +48,22 @@ Q_SIGNALS:
47
48
48private:
49private:
49 MouseTouchAdaptor();
50 MouseTouchAdaptor();
51+ void fetchXInput2Info();
52+ bool xi2HandleEvent(xcb_ge_event_t *event);
50
53
51− bool handleButtonPress(xcb_button_press_event_t *pressEvent);
54+ bool handleButtonPress(WId windowId, uint32_t detail, int x, int y);
52− bool handleButtonRelease(xcb_button_release_event_t *releaseEvent);
55+ bool handleButtonRelease(WId windowId, uint32_t detail, int x, int y);
53− bool handleMotionNotify(xcb_motion_notify_event_t *event);
56+ bool handleMotionNotify(WId windowId, int x, int y);
54 QWindow *findQWindowWithXWindowID(WId windowId);
57 QWindow *findQWindowWithXWindowID(WId windowId);
55
58
56 QTouchDevice *m_touchDevice;
59 QTouchDevice *m_touchDevice;
57 bool m_leftButtonIsPressed;
60 bool m_leftButtonIsPressed;
58
61
59 bool m_enabled;
62 bool m_enabled;
63+
64+ bool m_xi2Enabled{false};
65+ int m_xi2Minor{-1};
66+ int m_xiOpCode, m_xiEventBase, m_xiErrorBase;
60};
67};
61
68
62#endif // MOUSE_TOUCH_ADAPTOR_H
69#endif // MOUSE_TOUCH_ADAPTOR_H
src/ShellApplication.cpp+10−5
@@ -18,6 +18,7 @@
18
18
19// Qt
19// Qt
20#include <QLibrary>
20#include <QLibrary>
21+#include <QProcess>
21#include <QScreen>
22#include <QScreen>
22
23
23#include <libintl.h>
24#include <libintl.h>
@@ -28,15 +29,10 @@
28// local
29// local
29#include <paths.h>
30#include <paths.h>
30#include "CachingNetworkManagerFactory.h"
31#include "CachingNetworkManagerFactory.h"
31−#include "MouseTouchAdaptor.h"
32#include "UnityCommandLineParser.h"
32#include "UnityCommandLineParser.h"
33
33
34ShellApplication::ShellApplication(int & argc, char ** argv, bool isMirServer)
34ShellApplication::ShellApplication(int & argc, char ** argv, bool isMirServer)
35 : QGuiApplication(argc, argv)
35 : QGuiApplication(argc, argv)
36− , m_shellView(nullptr)
37− , m_secondaryWindow(nullptr)
38− , m_mouseTouchAdaptor(nullptr)
39− , m_qmlEngine(nullptr)
40{
36{
41
37
42 setApplicationName(QStringLiteral("unity8"));
38 setApplicationName(QStringLiteral("unity8"));
@@ -89,11 +85,14 @@ ShellApplication::ShellApplication(int & argc, char ** argv, bool isMirServer)
89 m_shellView->setFlags(Qt::FramelessWindowHint);
85 m_shellView->setFlags(Qt::FramelessWindowHint);
90 }
86 }
91
87
88+
89+ #ifdef UNITY8_ENABLE_TOUCH_EMULATION
92 // You will need this if you want to interact with touch-only components using a mouse
90 // You will need this if you want to interact with touch-only components using a mouse
93 // Needed only when manually testing on a desktop.
91 // Needed only when manually testing on a desktop.
94 if (parser.hasMouseToTouch()) {
92 if (parser.hasMouseToTouch()) {
95 m_mouseTouchAdaptor = MouseTouchAdaptor::instance();
93 m_mouseTouchAdaptor = MouseTouchAdaptor::instance();
96 }
94 }
95+ #endif
97
96
98
97
99 // Some hard-coded policy for now.
98 // Some hard-coded policy for now.
@@ -117,6 +116,10 @@ ShellApplication::ShellApplication(int & argc, char ** argv, bool isMirServer)
117 m_shellView->setHeight(primaryScreenSize.height());
116 m_shellView->setHeight(primaryScreenSize.height());
118 m_shellView->setWidth(primaryScreenSize.width());
117 m_shellView->setWidth(primaryScreenSize.width());
119 m_shellView->show();
118 m_shellView->show();
119+ m_shellView->requestActivate();
120+ if (!QProcess::startDetached("/sbin/initctl emit --no-wait unity8-greeter-started")) {
121+ qDebug() << "Unable to send unity8-greeter-started event to Upstart";
122+ }
120 } else if (isMirServer || parser.hasFullscreen()) {
123 } else if (isMirServer || parser.hasFullscreen()) {
121 m_shellView->showFullScreen();
124 m_shellView->showFullScreen();
122 } else {
125 } else {
@@ -139,8 +142,10 @@ void ShellApplication::destroyResources()
139 delete m_secondaryWindow;
142 delete m_secondaryWindow;
140 m_secondaryWindow = nullptr;
143 m_secondaryWindow = nullptr;
141
144
145+ #ifdef UNITY8_ENABLE_TOUCH_EMULATION
142 delete m_mouseTouchAdaptor;
146 delete m_mouseTouchAdaptor;
143 m_mouseTouchAdaptor = nullptr;
147 m_mouseTouchAdaptor = nullptr;
148+ #endif
144
149
145 delete m_qmlEngine;
150 delete m_qmlEngine;
146 m_qmlEngine = nullptr;
151 m_qmlEngine = nullptr;
src/ShellApplication.h+12−4
@@ -23,7 +23,11 @@
23#include <QScopedPointer>
23#include <QScopedPointer>
24
24
25#include "ApplicationArguments.h"
25#include "ApplicationArguments.h"
26+
27+#ifdef UNITY8_ENABLE_TOUCH_EMULATION
26#include "MouseTouchAdaptor.h"
28#include "MouseTouchAdaptor.h"
29+#endif
30+
27#include "SecondaryWindow.h"
31#include "SecondaryWindow.h"
28#include "ShellView.h"
32#include "ShellView.h"
29
33
@@ -46,10 +50,14 @@ private:
46 void setupQmlEngine(bool isMirServer);
50 void setupQmlEngine(bool isMirServer);
47 QString m_deviceName;
51 QString m_deviceName;
48 ApplicationArguments m_qmlArgs;
52 ApplicationArguments m_qmlArgs;
49− ShellView *m_shellView;
53+ ShellView *m_shellView{nullptr};
50− SecondaryWindow *m_secondaryWindow;
54+ SecondaryWindow *m_secondaryWindow{nullptr};
55+
56+ #ifdef UNITY8_ENABLE_TOUCH_EMULATION
51− MouseTouchAdaptor *m_mouseTouchAdaptor;
57+ MouseTouchAdaptor *m_mouseTouchAdaptor{nullptr};
58+ #endif
59+
52− QQmlEngine *m_qmlEngine;
60+ QQmlEngine *m_qmlEngine{nullptr};
53};
61};
54
62
55#endif // SHELLAPPLICATION_H
63#endif // SHELLAPPLICATION_H
src/UnityCommandLineParser.cpp+6
@@ -37,9 +37,11 @@ UnityCommandLineParser::UnityCommandLineParser(const QCoreApplication &app)
37 QStringLiteral("Run without window borders"));
37 QStringLiteral("Run without window borders"));
38 parser.addOption(framelessOption);
38 parser.addOption(framelessOption);
39
39
40+ #ifdef UNITY8_ENABLE_TOUCH_EMULATION
40 QCommandLineOption mousetouchOption(QStringLiteral("mousetouch"),
41 QCommandLineOption mousetouchOption(QStringLiteral("mousetouch"),
41 QStringLiteral("Allow the mouse to provide touch input"));
42 QStringLiteral("Allow the mouse to provide touch input"));
42 parser.addOption(mousetouchOption);
43 parser.addOption(mousetouchOption);
44+ #endif
43
45
44 QCommandLineOption windowGeometryOption(QStringList() << QStringLiteral("windowgeometry"),
46 QCommandLineOption windowGeometryOption(QStringList() << QStringLiteral("windowgeometry"),
45 QStringLiteral("Specify the window geometry as [<width>x<height>]"), QStringLiteral("windowgeometry"), QStringLiteral("1"));
47 QStringLiteral("Specify the window geometry as [<width>x<height>]"), QStringLiteral("windowgeometry"), QStringLiteral("1"));
@@ -75,7 +77,11 @@ UnityCommandLineParser::UnityCommandLineParser(const QCoreApplication &app)
75
77
76 m_hasTestability = parser.isSet(testabilityOption);
78 m_hasTestability = parser.isSet(testabilityOption);
77 m_hasFrameless = parser.isSet(framelessOption);
79 m_hasFrameless = parser.isSet(framelessOption);
80+
81+ #ifdef UNITY8_ENABLE_TOUCH_EMULATION
78 m_hasMouseToTouch = parser.isSet(mousetouchOption);
82 m_hasMouseToTouch = parser.isSet(mousetouchOption);
83+ #endif
84+
79 m_hasFullscreen = parser.isSet(fullscreenOption);
85 m_hasFullscreen = parser.isSet(fullscreenOption);
80 m_deviceName = parser.value(devicenameOption);
86 m_deviceName = parser.value(devicenameOption);
81 resolveMode(parser, modeOption);
87 resolveMode(parser, modeOption);
src/UnityCommandLineParser.h+8
@@ -28,7 +28,11 @@ public:
28 QSize windowGeometry() const { return m_windowGeometry; }
28 QSize windowGeometry() const { return m_windowGeometry; }
29 bool hasTestability() const { return m_hasTestability; }
29 bool hasTestability() const { return m_hasTestability; }
30 bool hasFrameless() const { return m_hasFrameless; }
30 bool hasFrameless() const { return m_hasFrameless; }
31+
32+ #ifdef UNITY8_ENABLE_TOUCH_EMULATION
31 bool hasMouseToTouch() const { return m_hasMouseToTouch; }
33 bool hasMouseToTouch() const { return m_hasMouseToTouch; }
34+ #endif
35+
32 bool hasFullscreen() const { return m_hasFullscreen; }
36 bool hasFullscreen() const { return m_hasFullscreen; }
33 QString deviceName() const { return m_deviceName; }
37 QString deviceName() const { return m_deviceName; }
34 QString mode() const { return m_mode; }
38 QString mode() const { return m_mode; }
@@ -43,7 +47,11 @@ private:
43 QSize m_windowGeometry;
47 QSize m_windowGeometry;
44 bool m_hasTestability;
48 bool m_hasTestability;
45 bool m_hasFrameless;
49 bool m_hasFrameless;
50+
51+ #ifdef UNITY8_ENABLE_TOUCH_EMULATION
46 bool m_hasMouseToTouch;
52 bool m_hasMouseToTouch;
53+ #endif
54+
47 bool m_hasFullscreen;
55 bool m_hasFullscreen;
48 QString m_deviceName;
56 QString m_deviceName;
49 QString m_mode;
57 QString m_mode;
tests/mocks/QtMultimedia/CMakeLists.txt+1
@@ -1,6 +1,7 @@
1add_library(QtMultimedia-qml MODULE
1add_library(QtMultimedia-qml MODULE
2 plugin.cpp
2 plugin.cpp
3 audio.cpp
3 audio.cpp
4+ declarativeplaylist.cpp
4 )
5 )
5
6
6qt5_use_modules(QtMultimedia-qml Qml)
7qt5_use_modules(QtMultimedia-qml Qml)
tests/mocks/QtMultimedia/audio.cpp+21−19
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2013 Canonical, Ltd.
2+ * Copyright (C) 2013, 2015 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -20,30 +20,18 @@
20
20
21Audio::Audio(QObject* parent):
21Audio::Audio(QObject* parent):
22 QObject(parent),
22 QObject(parent),
23− m_playbackState(StoppedState)
23+ m_playbackState(StoppedState),
24+ m_playlist(0)
24{
25{
25 qsrand(time(nullptr));
26 qsrand(time(nullptr));
26 m_timer.setInterval(1000);
27 m_timer.setInterval(1000);
27 connect(&m_timer, &QTimer::timeout, this, &Audio::timerEvent);
28 connect(&m_timer, &QTimer::timeout, this, &Audio::timerEvent);
28−}
29−
30−QUrl Audio::source() const
31−{
32− return m_source;
33−}
34
29
35−void Audio::setSource(const QUrl &source)
36−{
37− if (m_source != source) {
38− m_source = source;
39− Q_EMIT sourceChanged(source);
40−
41− m_position = 0;
30+ m_position = 0;
42− Q_EMIT positionChanged(m_position);
31+ Q_EMIT positionChanged(m_position);
43
32
44− m_duration = (qrand() % 20000) + 10000;
33+ m_duration = (qrand() % 20000) + 10000;
45− Q_EMIT durationChanged(m_duration);
34+ Q_EMIT durationChanged(m_duration);
46− }
47}
35}
48
36
49Audio::PlaybackState Audio::playbackState() const
37Audio::PlaybackState Audio::playbackState() const
@@ -115,3 +103,17 @@ void Audio::setAudioRole(Audio::AudioRole audioRole)
115{
103{
116 Q_UNUSED(audioRole);
104 Q_UNUSED(audioRole);
117}
105}
106+
107+DeclarativePlaylist *Audio::playlist() const
108+{
109+ return m_playlist;
110+}
111+
112+void Audio::setPlaylist(DeclarativePlaylist *playlist)
113+{
114+ if (playlist == m_playlist)
115+ return;
116+
117+ m_playlist = playlist;
118+ Q_EMIT playlistChanged();
119+}
tests/mocks/QtMultimedia/audio.h+8−6
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2012,2013 Canonical, Ltd.
2+ * Copyright (C) 2012, 2013, 2015 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -13,7 +13,6 @@
13 * You should have received a copy of the GNU General Public License
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/>.
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
15 *
16− * Authors: Michael Zanetti <michael.zanetti@canonical.com>
17 */
16 */
18
17
19#ifndef MOCK_AUDIO_H
18#ifndef MOCK_AUDIO_H
@@ -23,17 +22,19 @@
23#include <QUrl>
22#include <QUrl>
24#include <QTimer>
23#include <QTimer>
25
24
25+class DeclarativePlaylist;
26+
26class Audio: public QObject
27class Audio: public QObject
27{
28{
28 Q_OBJECT
29 Q_OBJECT
29 Q_ENUMS(PlaybackState)
30 Q_ENUMS(PlaybackState)
30 Q_ENUMS(AudioRole)
31 Q_ENUMS(AudioRole)
31− Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
32 Q_PROPERTY(PlaybackState playbackState READ playbackState NOTIFY playbackStateChanged)
32 Q_PROPERTY(PlaybackState playbackState READ playbackState NOTIFY playbackStateChanged)
33 Q_PROPERTY(int position READ position NOTIFY positionChanged)
33 Q_PROPERTY(int position READ position NOTIFY positionChanged)
34 Q_PROPERTY(int duration READ duration NOTIFY durationChanged)
34 Q_PROPERTY(int duration READ duration NOTIFY durationChanged)
35 Q_PROPERTY(QString errorString READ errorString NOTIFY errorStringChanged)
35 Q_PROPERTY(QString errorString READ errorString NOTIFY errorStringChanged)
36 Q_PROPERTY(AudioRole audioRole READ audioRole WRITE setAudioRole)
36 Q_PROPERTY(AudioRole audioRole READ audioRole WRITE setAudioRole)
37+ Q_PROPERTY(DeclarativePlaylist *playlist READ playlist WRITE setPlaylist NOTIFY playlistChanged)
37public:
38public:
38 enum PlaybackState {
39 enum PlaybackState {
39 PlayingState,
40 PlayingState,
@@ -50,8 +51,8 @@ public:
50
51
51 explicit Audio(QObject *parent = 0);
52 explicit Audio(QObject *parent = 0);
52
53
53− QUrl source() const;
54+ DeclarativePlaylist *playlist() const;
54− void setSource(const QUrl &source);
55+ void setPlaylist(DeclarativePlaylist *playlist);
55
56
56 PlaybackState playbackState() const;
57 PlaybackState playbackState() const;
57
58
@@ -70,6 +71,7 @@ public Q_SLOTS:
70 void stop();
71 void stop();
71
72
72Q_SIGNALS:
73Q_SIGNALS:
74+ void playlistChanged();
73 void sourceChanged(const QUrl &source);
75 void sourceChanged(const QUrl &source);
74 void playbackStateChanged(PlaybackState playbackState);
76 void playbackStateChanged(PlaybackState playbackState);
75 void positionChanged(int position);
77 void positionChanged(int position);
@@ -80,11 +82,11 @@ private Q_SLOTS:
80 void timerEvent();
82 void timerEvent();
81
83
82private:
84private:
83− QUrl m_source;
84 PlaybackState m_playbackState;
85 PlaybackState m_playbackState;
85 QTimer m_timer;
86 QTimer m_timer;
86 int m_position;
87 int m_position;
87 int m_duration;
88 int m_duration;
89+ DeclarativePlaylist *m_playlist;
88};
90};
89
91
90#endif
92#endif
tests/mocks/QtMultimedia/declarativeplaylist.cppnew file+73
@@ -0,0 +1,73 @@
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+
18+#include "declarativeplaylist.h"
19+
20+DeclarativePlaylist::DeclarativePlaylist(QObject *parent)
21+ : QObject(parent)
22+ , m_currentIndex(-1)
23+{
24+}
25+
26+QUrl DeclarativePlaylist::currentItemSource() const
27+{
28+ return itemSource(currentIndex());
29+}
30+
31+int DeclarativePlaylist::currentIndex() const
32+{
33+ return m_currentIndex;
34+}
35+
36+void DeclarativePlaylist::setCurrentIndex(int index)
37+{
38+ if (currentIndex() == index)
39+ return;
40+
41+ m_currentIndex = index;
42+ Q_EMIT currentIndexChanged();
43+ Q_EMIT currentItemSourceChanged();
44+}
45+
46+QUrl DeclarativePlaylist::itemSource(int index) const
47+{
48+ if (index < 0 || index >= m_medias.count())
49+ return QUrl();
50+ return m_medias[index];
51+}
52+
53+bool DeclarativePlaylist::addItem(const QUrl &source)
54+{
55+ m_medias << source;
56+ setCurrentIndex(0);
57+ return true;
58+}
59+
60+bool DeclarativePlaylist::addItems(const QList<QUrl> &sources)
61+{
62+ m_medias << sources;
63+ if (!sources.isEmpty())
64+ setCurrentIndex(0);
65+ return true;
66+}
67+
68+bool DeclarativePlaylist::clear()
69+{
70+ m_medias.clear();
71+ setCurrentIndex(-1);
72+ return true;
73+}
tests/mocks/QtMultimedia/declarativeplaylist.hnew file+54
@@ -0,0 +1,54 @@
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+
18+#ifndef DECLARATIVEPLAYLIST_H
19+#define DECLARATIVEPLAYLIST_H
20+
21+#include <QObject>
22+#include <QUrl>
23+
24+class DeclarativePlaylist : public QObject
25+{
26+ Q_OBJECT
27+ Q_PROPERTY(QUrl currentItemSource READ currentItemSource NOTIFY currentItemSourceChanged)
28+ Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
29+
30+public:
31+ DeclarativePlaylist(QObject *parent = 0);
32+
33+ QUrl currentItemSource() const;
34+ int currentIndex() const;
35+ void setCurrentIndex(int currentIndex);
36+
37+public Q_SLOTS:
38+ QUrl itemSource(int index) const;
39+ bool addItem(const QUrl &source);
40+ bool addItems(const QList<QUrl> &sources);
41+ bool clear();
42+
43+Q_SIGNALS:
44+ void currentItemSourceChanged();
45+ void currentIndexChanged();
46+
47+private:
48+ Q_DISABLE_COPY(DeclarativePlaylist)
49+
50+ int m_currentIndex;
51+ QList<QUrl> m_medias;
52+};
53+
54+#endif
tests/mocks/QtMultimedia/plugin.cpp+2
@@ -18,6 +18,7 @@
18
18
19#include "plugin.h"
19#include "plugin.h"
20#include "audio.h"
20#include "audio.h"
21+#include "declarativeplaylist.h"
21
22
22#include <QtQml/qqml.h>
23#include <QtQml/qqml.h>
23
24
@@ -26,4 +27,5 @@ void MockQtMultimediaPlugin::registerTypes(const char *uri)
26 Q_ASSERT(uri == QLatin1String("QtMultimedia"));
27 Q_ASSERT(uri == QLatin1String("QtMultimedia"));
27 qmlRegisterType<Audio>(uri, 5, 0, "Audio");
28 qmlRegisterType<Audio>(uri, 5, 0, "Audio");
28 qmlRegisterType<Audio>(uri, 5, 0, "MediaPlayer");
29 qmlRegisterType<Audio>(uri, 5, 0, "MediaPlayer");
30+ qmlRegisterType<DeclarativePlaylist>(uri, 5, 6, "Playlist");
29}
31}
tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/CMakeLists.txt+1−1
@@ -7,4 +7,4 @@ add_library(MockSecurityPrivacy MODULE ${MOCK_SECURITYPRIVACY_SOURCES})
7
7
8qt5_use_modules(MockSecurityPrivacy Qml Quick Core)
8qt5_use_modules(MockSecurityPrivacy Qml Quick Core)
9
9
10−add_unity8_mock(Ubuntu.SystemSettings.SecurityPrivacy 1.0 Ubuntu/SystemSettings/SecurityPrivacy TARGETS MockSecurityPrivacy)
10+add_unity8_mock(Ubuntu.SystemSettings.SecurityPrivacy 1.0 Ubuntu/SystemSettings/SecurityPrivacy PREFIX mocks TARGETS MockSecurityPrivacy)
tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/MockSecurityPrivacy.cpp+8−1
@@ -17,12 +17,19 @@
17#include "MockSecurityPrivacy.h"
17#include "MockSecurityPrivacy.h"
18
18
19MockSecurityPrivacy::MockSecurityPrivacy(QObject *parent)
19MockSecurityPrivacy::MockSecurityPrivacy(QObject *parent)
20− : QObject(parent)
20+ : QObject(parent),
21+ m_type(SecurityType::Swipe)
21{
22{
22}
23}
23
24
25+MockSecurityPrivacy::SecurityType MockSecurityPrivacy::getSecurityType()
26+{
27+ return m_type;
28+}
29+
24QString MockSecurityPrivacy::setSecurity(const QString &oldPasswd, const QString &newPasswd, SecurityType newType)
30QString MockSecurityPrivacy::setSecurity(const QString &oldPasswd, const QString &newPasswd, SecurityType newType)
25{
31{
32+ m_type = newType;
26 Q_EMIT setSecurityCalled(oldPasswd, newPasswd, newType);
33 Q_EMIT setSecurityCalled(oldPasswd, newPasswd, newType);
27 return "";
34 return "";
28}
35}
tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/MockSecurityPrivacy.h+8
@@ -23,6 +23,9 @@ class MockSecurityPrivacy : public QObject
23{
23{
24 Q_OBJECT
24 Q_OBJECT
25 Q_ENUMS(SecurityType)
25 Q_ENUMS(SecurityType)
26+ Q_PROPERTY (SecurityType securityType
27+ READ getSecurityType
28+ NOTIFY securityTypeChanged)
26
29
27public:
30public:
28 enum SecurityType {
31 enum SecurityType {
@@ -33,10 +36,15 @@ public:
33
36
34 MockSecurityPrivacy(QObject *parent = 0);
37 MockSecurityPrivacy(QObject *parent = 0);
35
38
39+ SecurityType getSecurityType();
36 Q_INVOKABLE QString setSecurity(const QString &oldPasswd, const QString &newPasswd, SecurityType newType);
40 Q_INVOKABLE QString setSecurity(const QString &oldPasswd, const QString &newPasswd, SecurityType newType);
37
41
38Q_SIGNALS:
42Q_SIGNALS:
43+ void securityTypeChanged();
39 void setSecurityCalled(const QString &oldPasswd, const QString &newPasswd, SecurityType newType); // only in mock
44 void setSecurityCalled(const QString &oldPasswd, const QString &newPasswd, SecurityType newType); // only in mock
45+
46+private:
47+ SecurityType m_type;
40};
48};
41
49
42#endif // MOCK_SECURITYPRIVACY_H
50#endif // MOCK_SECURITYPRIVACY_H
tests/mocks/Unity/CMakeLists.txt+1−1
@@ -7,7 +7,7 @@ add_subdirectory(Notifications)
7add_subdirectory(DashCommunicator)
7add_subdirectory(DashCommunicator)
8
8
9pkg_search_module(GOBJECT gobject-2.0 REQUIRED)
9pkg_search_module(GOBJECT gobject-2.0 REQUIRED)
10−pkg_check_modules(SCOPES_API REQUIRED unity-shell-scopes=8)
10+pkg_check_modules(SCOPES_API REQUIRED unity-shell-scopes=9)
11
11
12include_directories(
12include_directories(
13 ${CMAKE_CURRENT_BINARY_DIR}
13 ${CMAKE_CURRENT_BINARY_DIR}
tests/plugins/Dash/cardcreator/9.resnew file+113
@@ -0,0 +1,113 @@
1+AbstractButton {
2+ id: root;
3+ property var components;
4+ property var cardData;
5+ property string artShapeStyle: "inset";
6+ property string backgroundShapeStyle: "inset";
7+ property real fontScale: 1.0;
8+ property var scopeStyle: null;
9+ property int titleAlignment: Text.AlignLeft;
10+ property int fixedHeaderHeight: -1;
11+ property size fixedArtShapeSize: Qt.size(-1, -1);
12+ readonly property string title: cardData && cardData["title"] || "";
13+ property bool asynchronous: true;
14+ property bool showHeader: true;
15+ implicitWidth: childrenRect.width;
16+ enabled: true;
17+
18+readonly property size artShapeSize: Qt.size(-1, -1);
19+readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin + audioProgressBar.height + audioProgressBar.anchors.topMargin;
20+Label {
21+ id: titleLabel;
22+ objectName: "titleLabel";
23+ anchors { right: parent.right;
24+rightMargin: units.gu(1);
25+left: audioButton.right;
26+ leftMargin: units.gu(1);
27+top: parent.top;
28+ topMargin: units.gu(1);
29+ }
30+ elide: Text.ElideRight;
31+ fontSize: "small";
32+ wrapMode: Text.Wrap;
33+ maximumLineCount: 2;
34+ font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
35+ color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText;
36+ visible: showHeader ;
37+ width: undefined;
38+ text: root.title;
39+ font.weight: cardData && cardData["subtitle"] ? Font.DemiBold : Font.Normal;
40+ horizontalAlignment: root.titleAlignment;
41+ }
42+Label {
43+ id: subtitleLabel;
44+ objectName: "subtitleLabel";
45+ anchors { left: titleLabel.left;
46+ leftMargin: titleLabel.leftMargin;
47+rightMargin: units.gu(1);
48+right: titleLabel.right;
49+top: titleLabel.bottom;
50+ }
51+ anchors.topMargin: units.dp(2);
52+ elide: Text.ElideRight;
53+ maximumLineCount: 1;
54+ fontSize: "x-small";
55+ font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
56+ color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText;
57+ visible: titleLabel.visible && titleLabel.text;
58+ text: cardData && cardData["subtitle"] || "";
59+ font.weight: Font.Light;
60+ }
61+CardAudioProgress {
62+ id: audioProgressBar;
63+ duration: (cardData["quickPreviewData"] && cardData["quickPreviewData"]["duration"]) || 0;
64+ source: (cardData["quickPreviewData"] && cardData["quickPreviewData"]["uri"]) || "";
65+ anchors {
66+ bottom: audioButton.bottom;
67+ left: audioButton.right;
68+ right: parent.right;
69+ margins: units.gu(1);
70+ }
71+ color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText;
72+ }AbstractButton {
73+ id: audioButton;
74+ anchors.fill: undefined;
75+ width: height;
76+ height: (root.fixedHeaderHeight > 0 ? root.fixedHeaderHeight : headerHeight) + 2 * units.gu(1);
77+ readonly property url source: (cardData["quickPreviewData"] && cardData["quickPreviewData"]["uri"]) || "";
78+ UbuntuShape {
79+ anchors.fill: parent;
80+ visible: parent.pressed;
81+ radius: "medium";
82+ }
83+ Icon {
84+ anchors.fill: parent;
85+ anchors.margins: parent.height > units.gu(5) ? units.gu(2) : 0;
86+ opacity: 0.9;
87+ name: DashAudioPlayer.playing && AudioUrlComparer.compare(parent.source, DashAudioPlayer.currentSource) ? "media-playback-pause" : "media-playback-start";
88+ }
89+ onClicked: {
90+ if (AudioUrlComparer.compare(source, DashAudioPlayer.currentSource)) {
91+ if (DashAudioPlayer.playing) {
92+ DashAudioPlayer.pause();
93+ } else {
94+ DashAudioPlayer.play();
95+ }
96+ } else {
97+ var playlist = (cardData["quickPreviewData"] && cardData["quickPreviewData"]["playlist"]) || null;
98+ DashAudioPlayer.playSource(source, playlist);
99+ }
100+ }
101+ onPressAndHold: {
102+ root.pressAndHold();
103+ }
104+ }UbuntuShape {
105+ id: touchdown;
106+ objectName: "touchdown";
107+ anchors { fill: root }
108+ visible: root.artShapeStyle != "shadow" && root.artShapeStyle != "icon" && root.pressed;
109+ radius: "medium";
110+ borderSource: "radius_pressed.sci"
111+ }
112+implicitHeight: audioButton.height;
113+}
tests/plugins/Dash/cardcreator/9.tstnew file+3
@@ -0,0 +1,3 @@
1+template: {"card-layout":"horizontal","card-size":"medium","category-layout":"grid","collapsed-rows":2,"quick-preview-type": "audio"}
2+components: {"art":{"aspect-ratio":1},"subtitle":{"field":"author"},"title":{"field":"title"}, "quickPreviewData": "quickPreviewData"}
3+result: 9.res
tests/qmltests/CMakeLists.txt+2−1
@@ -38,6 +38,7 @@ add_unity8_qmltest(Dash/Previews PreviewExpandable)
38add_unity8_qmltest(Dash/Previews PreviewHeader)
38add_unity8_qmltest(Dash/Previews PreviewHeader)
39add_unity8_qmltest(Dash/Previews PreviewIconActions)
39add_unity8_qmltest(Dash/Previews PreviewIconActions)
40add_unity8_qmltest(Dash/Previews PreviewImageGallery)
40add_unity8_qmltest(Dash/Previews PreviewImageGallery)
41+add_unity8_qmltest(Dash/Previews PreviewMediaToolbar)
41add_unity8_qmltest(Dash/Previews PreviewPayments)
42add_unity8_qmltest(Dash/Previews PreviewPayments)
42add_unity8_qmltest(Dash/Previews PreviewProgress)
43add_unity8_qmltest(Dash/Previews PreviewProgress)
43add_unity8_qmltest(Dash/Previews PreviewRatingDisplay)
44add_unity8_qmltest(Dash/Previews PreviewRatingDisplay)
@@ -87,4 +88,4 @@ add_unity8_qmltest(Stages WindowResizeArea)
87add_unity8_qmltest(Stages Splash)
88add_unity8_qmltest(Stages Splash)
88add_unity8_qmltest(Tutorial Tutorial LIGHTDM)
89add_unity8_qmltest(Tutorial Tutorial LIGHTDM)
89add_unity8_qmltest(Wizard Wizard ENVIRONMENT "OXIDE_NO_SANDBOX=1")
90add_unity8_qmltest(Wizard Wizard ENVIRONMENT "OXIDE_NO_SANDBOX=1")
90−add_unity8_qmlunittest(utils/Unity/Test UnityTest)
91+add_unity8_qmltest(utils/Unity/Test UnityTest)
tests/qmltests/Components/CMakeLists.txt+1−1
@@ -15,7 +15,7 @@ qt5_use_modules(DragHandleTestExec Test Core Qml Gui Quick)
15target_link_libraries(DragHandleTestExec UbuntuGesturesQml UbuntuGestures)
15target_link_libraries(DragHandleTestExec UbuntuGesturesQml UbuntuGestures)
16
16
17add_unity8_uitest(DragHandle DragHandleTestExec ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/plugins/Ubuntu/Gestures)
17add_unity8_uitest(DragHandle DragHandleTestExec ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/plugins/Ubuntu/Gestures)
18−add_manual_qml_test(. DragHandle IMPORT_PATHS ${UNITY_PLUGINPATH})
18+add_manual_qml_test(. DragHandle IMPORT_PATHS ${UNITY_IMPORT_PATHS})
19
19
20########## tst_EdgeDragEvaluator
20########## tst_EdgeDragEvaluator
21add_executable(EdgeDragEvaluatorTestExec tst_EdgeDragEvaluator.cpp)
21add_executable(EdgeDragEvaluatorTestExec tst_EdgeDragEvaluator.cpp)
tests/qmltests/Components/tst_DragHandle.qml+6−6
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright 2013 Canonical Ltd.
2+ * Copyright 2013,2015 Canonical Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -51,7 +51,7 @@ Rectangle {
51 objectName: "baseItem"
51 objectName: "baseItem"
52 anchors.fill: parent
52 anchors.fill: parent
53
53
54− Button {
54+ SimpleButton {
55 visible: root.bidirectional && bidirectionalShowable.fullyHidden
55 visible: root.bidirectional && bidirectionalShowable.fullyHidden
56 text: "bidirectionalShowable.show()"
56 text: "bidirectionalShowable.show()"
57 anchors.centerIn: parent
57 anchors.centerIn: parent
@@ -169,12 +169,12 @@ Rectangle {
169 anchors.margins: units.gu(1)
169 anchors.margins: units.gu(1)
170 spacing: units.gu(1)
170 spacing: units.gu(1)
171
171
172− Button {
172+ SimpleButton {
173 text: root.stretch ? "stretch" : "move"
173 text: root.stretch ? "stretch" : "move"
174 onClicked: { root.stretch = !root.stretch; }
174 onClicked: { root.stretch = !root.stretch; }
175 }
175 }
176
176
177− Button {
177+ SimpleButton {
178 text: root.hintDisplacement > 0 ? "hint" : "no hint"
178 text: root.hintDisplacement > 0 ? "hint" : "no hint"
179 onClicked: {
179 onClicked: {
180 if (root.hintDisplacement > 0) {
180 if (root.hintDisplacement > 0) {
@@ -185,7 +185,7 @@ Rectangle {
185 }
185 }
186 }
186 }
187
187
188− Button {
188+ SimpleButton {
189 text: "rotation: " + baseItem.rotation
189 text: "rotation: " + baseItem.rotation
190 onClicked: {
190 onClicked: {
191 if (baseItem.rotation === 0.0) {
191 if (baseItem.rotation === 0.0) {
@@ -196,7 +196,7 @@ Rectangle {
196 }
196 }
197 }
197 }
198
198
199− Button {
199+ SimpleButton {
200 text: root.bidirectional ? "bidirectional" : "directional"
200 text: root.bidirectional ? "bidirectional" : "directional"
201 onClicked: { root.bidirectional = !root.bidirectional; }
201 onClicked: { root.bidirectional = !root.bidirectional; }
202 }
202 }
tests/qmltests/Components/tst_DragHandle/SimpleButton.qmlnew file+36
@@ -0,0 +1,36 @@
1+/*
2+ * Copyright 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.4
18+import Ubuntu.Components 1.3
19+
20+
21+Rectangle {
22+ id: root
23+ property alias text: textItem.text
24+ signal clicked()
25+ width: textItem.width + units.gu(1.5)
26+ height: textItem.height + units.gu(1.5)
27+ Text {
28+ id: textItem
29+ anchors.centerIn: parent
30+ font.pixelSize: units.gu(1.5)
31+ }
32+ MouseArea {
33+ anchors.fill: parent
34+ onClicked: root.clicked()
35+ }
36+}
tests/qmltests/Dash/CardHelpers.js+1−1
@@ -16,7 +16,7 @@
16
16
17.pragma library
17.pragma library
18
18
19−var components = ["title", "art", "subtitle", "mascot", "emblem", "summary", "attributes", "overlayColor"]
19+var components = ["title", "art", "subtitle", "mascot", "emblem", "summary", "attributes", "overlayColor", "quickPreviewData"]
20
20
21var defaultLayout = ' \
21var defaultLayout = ' \
22{ \
22{ \
tests/qmltests/Dash/Previews/tst_PreviewAudioPlayback.qml+5−9
@@ -18,6 +18,7 @@ import QtQuick 2.4
18import QtTest 1.0
18import QtTest 1.0
19import Ubuntu.Components 1.3
19import Ubuntu.Components 1.3
20import "../../../../qml/Dash/Previews"
20import "../../../../qml/Dash/Previews"
21+import Dash 0.1
21import Unity.Test 0.1 as UT
22import Unity.Test 0.1 as UT
22import QtMultimedia 5.0
23import QtMultimedia 5.0
23
24
@@ -58,8 +59,8 @@ Rectangle {
58 function test_time_formatter_data() {
59 function test_time_formatter_data() {
59 return [
60 return [
60 { tag: "NaN", value: "not a number", result: "" },
61 { tag: "NaN", value: "not a number", result: "" },
61− { tag: "0", value: 0, result: "" },
62 { tag: "-1", value: -1, result: "" },
62 { tag: "-1", value: -1, result: "" },
63+ { tag: "0", value: 0, result: "0:00" },
63 { tag: "30", value: 30, result: "0:30" },
64 { tag: "30", value: 30, result: "0:30" },
64 { tag: "60", value: 60, result: "1:00" },
65 { tag: "60", value: 60, result: "1:00" },
65 { tag: "3600", value: 3600, result: "1:00:00" }
66 { tag: "3600", value: 3600, result: "1:00:00" }
@@ -67,8 +68,7 @@ Rectangle {
67 }
68 }
68
69
69 function test_time_formatter(data) {
70 function test_time_formatter(data) {
70− var audio = findInvisibleChild(previewAudioPlayback, "audio");
71− compare(audio.lengthToString(data.value), data.result)
71+ compare(DashAudioPlayer.lengthToString(data.value), data.result)
72 }
72 }
73
73
74 function test_tracks_data() {
74 function test_tracks_data() {
@@ -102,7 +102,7 @@ Rectangle {
102
102
103 function checkPlayerSource(index) {
103 function checkPlayerSource(index) {
104 var modelFilename = previewAudioPlayback.widgetData["tracks"][index]["source"].replace(/^.*[\\\/]/, '');
104 var modelFilename = previewAudioPlayback.widgetData["tracks"][index]["source"].replace(/^.*[\\\/]/, '');
105− var playerFilename = findInvisibleChild(previewAudioPlayback, "audio").source.toString().replace(/^.*[\\\/]/, '');
105+ var playerFilename = DashAudioPlayer.currentSource.toString().replace(/^.*[\\\/]/, '');
106
106
107 compare(modelFilename, playerFilename, "Player source is not set correctly.");
107 compare(modelFilename, playerFilename, "Player source is not set correctly.");
108 }
108 }
@@ -123,7 +123,7 @@ Rectangle {
123 var track1PlayButton = findChild(track1Item, "playButton");
123 var track1PlayButton = findChild(track1Item, "playButton");
124 var track2PlayButton = findChild(track2Item, "playButton");
124 var track2PlayButton = findChild(track2Item, "playButton");
125
125
126− var audio = findInvisibleChild(previewAudioPlayback, "audio");
126+ var audio = DashAudioPlayer.audio;
127
127
128 // All progress bars must be hidden in the beginning
128 // All progress bars must be hidden in the beginning
129 compare(track0ProgressBar.visible, false);
129 compare(track0ProgressBar.visible, false);
@@ -170,10 +170,6 @@ Rectangle {
170 tryCompare(track0ProgressBar, "visible", false);
170 tryCompare(track0ProgressBar, "visible", false);
171 tryCompare(track1ProgressBar, "visible", false);
171 tryCompare(track1ProgressBar, "visible", false);
172 tryCompare(track2ProgressBar, "visible", true);
172 tryCompare(track2ProgressBar, "visible", true);
173−
174− // Changing preview should make all players shut up!
175− previewAudioPlayback.isCurrentPreview = false
176− tryCompare(audio, "playbackState", Audio.StoppedState);
177 }
173 }
178 }
174 }
179}
175}
tests/qmltests/Dash/Previews/tst_PreviewMediaToolbar.qmlnew file+69
@@ -0,0 +1,69 @@
1+/*
2+ * Copyright 2014 Canonical Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.4
18+import QtTest 1.0
19+import Ubuntu.Components 1.3
20+import "../../../../qml/Dash/Previews"
21+import Unity.Test 0.1 as UT
22+
23+Rectangle {
24+ id: root
25+ width: units.gu(40)
26+ height: units.gu(80)
27+ color: "black"
28+
29+ property var shareData: {
30+ "uri": [
31+ "Text here",
32+ "text here 2",
33+ "text here 3"
34+ ],
35+ "content-type": "text"
36+ }
37+
38+ property var shareDataNoUri: {
39+ "uri": "",
40+ "content-type": "text"
41+ }
42+
43+
44+ PreviewMediaToolbar {
45+ id: previewMediaToolbar
46+ anchors { left: parent.left; bottom: parent.bottom; }
47+ shareData: root.shareData
48+ }
49+
50+ UT.UnityTestCase {
51+ name: "PreviewMediaToolbarTest"
52+ when: windowShown
53+
54+ property Item sharingWidget: findChild(previewMediaToolbar, "sharingWidget")
55+
56+ function cleanup() {
57+ previewMediaToolbar.shareData = root.shareData;
58+ }
59+
60+ function test_visible() {
61+ previewMediaToolbar.shareData = shareDataNoUri;
62+ compare(previewMediaToolbar.visible, false);
63+ compare(sharingWidget.visible, false);
64+ previewMediaToolbar.shareData = shareData;
65+ compare(previewMediaToolbar.visible, true);
66+ compare(sharingWidget.visible, true);
67+ }
68+ }
69+}
tests/qmltests/Dash/Previews/tst_PreviewSharing.qml+1−13
@@ -32,12 +32,7 @@ Rectangle {
32 "text here 2",
32 "text here 2",
33 "text here 3"
33 "text here 3"
34 ],
34 ],
35− "contentType": "text"
35+ "content-type": "text"
36− }
37−
38− property var shareDataNoUri: {
39− "uri": "",
40− "contentType": "text"
41 }
36 }
42
37
43 PreviewSharing {
38 PreviewSharing {
@@ -54,13 +49,6 @@ Rectangle {
54
49
55 function cleanup() {
50 function cleanup() {
56 peerPicker.visible = false;
51 peerPicker.visible = false;
57− previewSharing.shareData = root.shareData;
58− }
59−
60− function test_visible() {
61− compare(previewSharing.visible, true);
62− previewSharing.shareData = shareDataNoUri;
63− compare(previewSharing.visible, false);
64 }
52 }
65
53
66 function test_open_picker() {
54 function test_open_picker() {
tests/qmltests/Dash/tst_Card.qml+8−1
@@ -35,7 +35,8 @@ Rectangle {
35 "title": "foo",
35 "title": "foo",
36 "subtitle": "bar",
36 "subtitle": "bar",
37 "summary": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
37 "summary": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
38− "attributes": [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"}]
38+ "attributes": [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"}],
39+ "quickPreviewData": {"uri": "/some/file", "duration": "14"}
39 }'
40 }'
40
41
41 property var cardsModel: [
42 property var cardsModel: [
@@ -106,6 +107,11 @@ Rectangle {
106 "layout": { "template": { "card-layout": "horizontal" },
107 "layout": { "template": { "card-layout": "horizontal" },
107 "components": JSON.parse(Helpers.fullMapping) }
108 "components": JSON.parse(Helpers.fullMapping) }
108 },
109 },
110+ {
111+ "name": "Art, title, subtitle - Audio",
112+ "layout": { "template": { "card-layout": "horizontal", "quick-preview-type": "audio" },
113+ "components": { "art": "art", "title": "title", "subtitle": "subtitle", "quickPreviewData": "quickPreviewData" } }
114+ },
109 ]
115 ]
110
116
111 CardTool {
117 CardTool {
@@ -129,6 +135,7 @@ Rectangle {
129 item.width = Qt.binding(function() { return cardTool.cardWidth || item.implicitWidth; });
135 item.width = Qt.binding(function() { return cardTool.cardWidth || item.implicitWidth; });
130 item.height = Qt.binding(function() { return cardTool.cardHeight || item.implicitHeight; });
136 item.height = Qt.binding(function() { return cardTool.cardHeight || item.implicitHeight; });
131 item.fixedHeaderHeight = Qt.binding(function() { return cardTool.headerHeight; });
137 item.fixedHeaderHeight = Qt.binding(function() { return cardTool.headerHeight; });
138+ item.fixedArtShapeSize = Qt.binding(function() { return cardTool.artShapeSize; });
132 }
139 }
133 }
140 }
134
141
tests/qmltests/Dash/tst_DashContent.qml+1−1
@@ -604,7 +604,7 @@ Item {
604 {
604 {
605 var dashContentList = findChild(dashContent, "dashContentList");
605 var dashContentList = findChild(dashContent, "dashContentList");
606 var header = findChild(dashContentList.currentItem, "scopePageHeader")
606 var header = findChild(dashContentList.currentItem, "scopePageHeader")
607− var favoriteAction = findChild(header, "favorite_action_button");
607+ var favoriteAction = findChild(header, "favorite_button");
608 compare(dashContentList.currentIndex, 0);
608 compare(dashContentList.currentIndex, 0);
609 compare(dashContentList.indexAt(dashContentList.width * 1.5, 0), 1);
609 compare(dashContentList.indexAt(dashContentList.width * 1.5, 0), 1);
610 var nextScopeId = dashContentList.itemAt(dashContentList.width * 1.5, 0).item.scope.id;
610 var nextScopeId = dashContentList.itemAt(dashContentList.width * 1.5, 0).item.scope.id;
tests/qmltests/Greeter/tst_Greeter.qml+39−3
@@ -71,9 +71,9 @@ Item {
71 }
71 }
72
72
73 SignalSpy {
73 SignalSpy {
74− id: emergencyCallSpy
74+ id: activeChangedSpy
75 target: loader.item
75 target: loader.item
76− signalName: "emergencyCall"
76+ signalName: "activeChanged"
77 }
77 }
78
78
79 GSettings {
79 GSettings {
@@ -142,7 +142,7 @@ Item {
142 resetLoader();
142 resetLoader();
143 teaseSpy.clear();
143 teaseSpy.clear();
144 sessionStartedSpy.clear();
144 sessionStartedSpy.clear();
145− emergencyCallSpy.clear();
145+ activeChangedSpy.clear();
146 viewShowMessageSpy.clear();
146 viewShowMessageSpy.clear();
147 viewShowPromptSpy.clear();
147 viewShowPromptSpy.clear();
148 viewShowLastChanceSpy.clear();
148 viewShowLastChanceSpy.clear();
@@ -458,6 +458,20 @@ Item {
458 compare(view.delayMinutes, greeter.failedLoginsDelayMinutes);
458 compare(view.delayMinutes, greeter.failedLoginsDelayMinutes);
459 }
459 }
460
460
461+ function test_forcedDelayOnConstructionIgnoredIfInFuture() {
462+ greeterSettings.lockedOutTime = new Date().getTime() + greeter.failedLoginsDelayMinutes * 60000 + 1;
463+ resetLoader();
464+ view = findChild(greeter, "testView");
465+ compare(view.delayMinutes, 0);
466+ }
467+
468+ function test_forcedDelayOnConstructionIgnoredIfInPast() {
469+ greeterSettings.lockedOutTime = new Date().getTime() - greeter.failedLoginsDelayMinutes * 60000 - 1;
470+ resetLoader();
471+ view = findChild(greeter, "testView");
472+ compare(view.delayMinutes, 0);
473+ }
474+
461 function test_forcedDelayRoundTrip() {
475 function test_forcedDelayRoundTrip() {
462 greeter.failedLoginsDelayAttempts = 1;
476 greeter.failedLoginsDelayAttempts = 1;
463 greeter.failedLoginsDelayMinutes = 0.001; // make delay very short
477 greeter.failedLoginsDelayMinutes = 0.001; // make delay very short
@@ -471,6 +485,28 @@ Item {
471 tryCompare(view, "delayMinutes", 0);
485 tryCompare(view, "delayMinutes", 0);
472 }
486 }
473
487
488+ function test_activeIsConstantDuringLockedApp() {
489+ // Regression test for bug 1525981: if we flicker active state even
490+ // briefly, the mpt-server will allow access to the device's drive.
491+
492+ selectUser("has-password");
493+ verify(greeter.active);
494+
495+ // Test opening a locked app
496+ greeter.lockedApp = "test-app";
497+ greeter.notifyAppFocused("test-app");
498+ verify(greeter.hasLockedApp);
499+ verify(!greeter.shown);
500+
501+ // Test going back to greeter from that locked app
502+ LightDM.Greeter.showGreeter();
503+ verify(!greeter.hasLockedApp);
504+ verify(greeter.shown);
505+
506+ // Active state should never have changed
507+ compare(activeChangedSpy.count, 0);
508+ }
509+
474 function test_dbusRequestAuthenticationUser() {
510 function test_dbusRequestAuthenticationUser() {
475 selectUser("no-password");
511 selectUser("no-password");
476 LightDM.Greeter.requestAuthenticationUser("has-password");
512 LightDM.Greeter.requestAuthenticationUser("has-password");
tests/qmltests/Launcher/tst_Launcher.qml+16
@@ -625,6 +625,7 @@ Item {
625 if(data.mouse) {
625 if(data.mouse) {
626 mouseClick(root)
626 mouseClick(root)
627 } else {
627 } else {
628+ touchRelease(draggedItem)
628 tap(root)
629 tap(root)
629 }
630 }
630
631
@@ -739,6 +740,21 @@ Item {
739 mouseRelease(draggedItem);
740 mouseRelease(draggedItem);
740 }
741 }
741
742
743+ function test_launcher_dismiss() {
744+ dragLauncherIntoView();
745+ verify(launcher.state == "visible");
746+ mouseClick(root);
747+ waitUntilLauncherDisappears();
748+ verify(launcher.state == "");
749+
750+ // and repeat, as a test for regression in lpbug#1531339
751+ dragLauncherIntoView();
752+ verify(launcher.state == "visible");
753+ mouseClick(root);
754+ waitUntilLauncherDisappears();
755+ verify(launcher.state == "");
756+ }
757+
742 function test_quicklist_positioning_data() {
758 function test_quicklist_positioning_data() {
743 return [
759 return [
744 {tag: "top", flickTo: "top", itemIndex: 0},
760 {tag: "top", flickTo: "top", itemIndex: 0},
tests/qmltests/Panel/tst_IndicatorsMenu.qml+3−3
@@ -243,12 +243,12 @@ IndicatorTest {
243
243
244 // next time position will have moved.
244 // next time position will have moved.
245 var nextItem = get_indicator_item(1);
245 var nextItem = get_indicator_item(1);
246− var nextItemMappedPosition = root.mapFromItem(nextItem, nextItem.width/2, nextItem.height/2);
246+ var nextItemMappedPositionX = firstItemMappedPosition.x + firstItem.width;
247
247
248 // 1) Flick mouse down to bottom
248 // 1) Flick mouse down to bottom
249 touchFlick(indicatorsMenu,
249 touchFlick(indicatorsMenu,
250 firstItemMappedPosition.x, indicatorsMenu.minimizedPanelHeight * 2,
250 firstItemMappedPosition.x, indicatorsMenu.minimizedPanelHeight * 2,
251− nextItemMappedPosition.x, indicatorsMenu.openedHeight / 3,
251+ nextItemMappedPositionX, indicatorsMenu.openedHeight / 3,
252 false /* beginTouch */, false /* endTouch */,
252 false /* beginTouch */, false /* endTouch */,
253 units.gu(50) /* speed */, 5 /* iterations */); // more samples needed for accurate velocity
253 units.gu(50) /* speed */, 5 /* iterations */); // more samples needed for accurate velocity
254
254
@@ -256,7 +256,7 @@ IndicatorTest {
256 // after waiting in the same spot with touch down, it should update to the next item.
256 // after waiting in the same spot with touch down, it should update to the next item.
257 tryCompare(indicatorItemRow, "currentItem", nextItem);
257 tryCompare(indicatorItemRow, "currentItem", nextItem);
258
258
259− touchRelease(indicatorsMenu, nextItemMappedPosition.x, indicatorsMenu.openedHeight / 3);
259+ touchRelease(indicatorsMenu, nextItemMappedPositionX, indicatorsMenu.openedHeight / 3);
260 }
260 }
261 }
261 }
262}
262}
tests/qmltests/Stages/tst_DesktopStage.qml+29
@@ -25,6 +25,7 @@ import Utils 0.1
25import ".." // For EdgeBarrierControls
25import ".." // For EdgeBarrierControls
26import "../../../qml/Stages"
26import "../../../qml/Stages"
27import "../../../qml/Components"
27import "../../../qml/Components"
28+import "../../../qml/Components/PanelState"
28
29
29Item {
30Item {
30 id: root
31 id: root
@@ -500,5 +501,33 @@ Item {
500 tryCompare(dialerAppDelegate, "visible", true);
501 tryCompare(dialerAppDelegate, "visible", true);
501 tryCompare(facebookAppDelegate, "visible", false);
502 tryCompare(facebookAppDelegate, "visible", false);
502 }
503 }
504+
505+ function test_dropShadow() {
506+ killAllRunningApps();
507+
508+ // verify the drop shadow is not visible initially
509+ verify(PanelState.dropShadow == false);
510+
511+ // start an app, maximize it
512+ var facebookApp = startApplication("facebook-webapp");
513+ var facebookAppDelegate = findChild(desktopStage, "appDelegate_facebook-webapp");
514+ facebookAppDelegate.maximize();
515+
516+ // verify the drop shadow is still not visible
517+ verify(PanelState.dropShadow == false);
518+
519+ // start a foreground app, not maximized
520+ var dialerApp = startApplication("dialer-app");
521+ var dialerAppDelegate = findChild(desktopStage, "appDelegate_dialer-app");
522+
523+ // verify the drop shadow becomes visible
524+ verify(PanelState.dropShadow == true);
525+
526+ // close the maximized app
527+ ApplicationManager.stopApplication("facebook-webapp");
528+
529+ // verify the drop shadow is gone
530+ verify(PanelState.dropShadow == false);
531+ }
503 }
532 }
504}
533}
tests/qmltests/Wizard/tst_Wizard.qml+15
@@ -129,6 +129,7 @@ Item {
129
129
130 var pages = findChild(wizard, "wizardPages");
130 var pages = findChild(wizard, "wizardPages");
131 var security = findInvisibleChild(pages, "securityPrivacy");
131 var security = findInvisibleChild(pages, "securityPrivacy");
132+ security.setSecurity("", "", UbuntuSecurityPrivacyPanel.Swipe);
132 setSecuritySpy.target = security;
133 setSecuritySpy.target = security;
133
134
134 setup();
135 setup();
@@ -315,6 +316,20 @@ Item {
315 }
316 }
316 }
317 }
317
318
319+ function test_passwdSkipIfSet() {
320+ var page = goToPage("simPage");
321+
322+ // Set password type to non-swipe
323+ var pages = findChild(wizard, "wizardPages");
324+ var security = findInvisibleChild(pages, "securityPrivacy");
325+ security.setSecurity("", "", UbuntuSecurityPrivacyPanel.Passphrase);
326+ compare(security.securityType, UbuntuSecurityPrivacyPanel.Passphrase);
327+
328+ // Make sure that moving from sim page lands on wifi page
329+ tap(findChild(page, "forwardButton"));
330+ waitForPage("wifiPage"); // thus skipping passwdPage
331+ }
332+
318 function test_passwdPasscode() {
333 function test_passwdPasscode() {
319 var page = goToPage("passwdPage");
334 var page = goToPage("passwdPage");
320
335
tests/utils/modules/Unity/Test/CMakeLists.txt+8−1
@@ -13,12 +13,19 @@ set(UnityTestQML_SOURCES
13 testutil.cpp
13 testutil.cpp
14 plugin.cpp
14 plugin.cpp
15 TouchEventSequenceWrapper.cpp
15 TouchEventSequenceWrapper.cpp
16− ${CMAKE_SOURCE_DIR}/src/MouseTouchAdaptor.cpp
17)
16)
18
17
18+if (ENABLE_TOUCH_EMULATION)
19+ set(UnityTestQML_SOURCES ${UnityTestQML_SOURCES} ${CMAKE_SOURCE_DIR}/src/MouseTouchAdaptor.cpp)
20+endif()
21+
19add_library(UnityTestQml MODULE ${UnityTestQML_SOURCES})
22add_library(UnityTestQml MODULE ${UnityTestQML_SOURCES})
20target_link_libraries(UnityTestQml UbuntuGestures)
23target_link_libraries(UnityTestQml UbuntuGestures)
21
24
25+if (ENABLE_TOUCH_EMULATION)
26+ target_link_libraries(UnityTestQml ${MOUSETOUCHADAPTOR_LIBS_LDFLAGS})
27+endif()
28+
22qt5_use_modules(UnityTestQml Core Quick Test)
29qt5_use_modules(UnityTestQml Core Quick Test)
23
30
24export_qmlfiles(Unity.Test Unity/Test)
31export_qmlfiles(Unity.Test Unity/Test)
tests/utils/modules/Unity/Test/plugin.cpp+13−3
@@ -17,7 +17,11 @@
17
17
18#include "plugin.h"
18#include "plugin.h"
19#include "testutil.h"
19#include "testutil.h"
20+
21+#ifdef UNITY8_ENABLE_TOUCH_EMULATION
20#include <MouseTouchAdaptor.h>
22#include <MouseTouchAdaptor.h>
23+#endif
24+
21#include "TouchEventSequenceWrapper.h"
25#include "TouchEventSequenceWrapper.h"
22
26
23#include <qqml.h>
27#include <qqml.h>
@@ -27,23 +31,29 @@ QObject *testutil_provider(QQmlEngine* /* engine */, QJSEngine* /* scriptEngine
27{
31{
28 return new TestUtil();
32 return new TestUtil();
29}
33}
34+
35+#ifdef UNITY8_ENABLE_TOUCH_EMULATION
30QObject *getMouseTouchAdaptorQMLSingleton(QQmlEngine* /* engine */, QJSEngine* /* scriptEngine */)
36QObject *getMouseTouchAdaptorQMLSingleton(QQmlEngine* /* engine */, QJSEngine* /* scriptEngine */)
31{
37{
32 return MouseTouchAdaptor::instance();
38 return MouseTouchAdaptor::instance();
33}
39}
40+#endif
41+
34} // anonymous namespace
42} // anonymous namespace
35
43
36void UnityTestPlugin::registerTypes(const char *uri)
44void UnityTestPlugin::registerTypes(const char *uri)
37{
45{
38 Q_ASSERT(QLatin1String(uri) == QLatin1String("Unity.Test"));
46 Q_ASSERT(QLatin1String(uri) == QLatin1String("Unity.Test"));
39
47
40− // Ensure the instance gets created
41− MouseTouchAdaptor::instance();
42−
43 // @uri Unity.Test
48 // @uri Unity.Test
44 qmlRegisterSingletonType<TestUtil>(uri, 0, 1, "Util", testutil_provider);
49 qmlRegisterSingletonType<TestUtil>(uri, 0, 1, "Util", testutil_provider);
45 qmlRegisterUncreatableType<TouchEventSequenceWrapper>(uri, 0, 1, "TouchEventSequence",
50 qmlRegisterUncreatableType<TouchEventSequenceWrapper>(uri, 0, 1, "TouchEventSequence",
46 "You cannot directly create a TouchEventSequence object.");
51 "You cannot directly create a TouchEventSequence object.");
52+
53+ #ifdef UNITY8_ENABLE_TOUCH_EMULATION
54+ // Ensure the instance gets created
55+ MouseTouchAdaptor::instance();
47 qmlRegisterSingletonType<MouseTouchAdaptor>(uri, 0, 1, "MouseTouchAdaptor",
56 qmlRegisterSingletonType<MouseTouchAdaptor>(uri, 0, 1, "MouseTouchAdaptor",
48 getMouseTouchAdaptorQMLSingleton);
57 getMouseTouchAdaptorQMLSingleton);
58+ #endif
49}
59}