on xenial help sign in
Initial merge from trunk; some tests don't run again yet
d69c08bMichael Terry
.crossbuilder/post_deploynew file+1
@@ -0,0 +1 @@
1+restart unity8
CMakeLists.txt+3−2
@@ -57,12 +57,13 @@ find_package(Qt5DBus 5.4 REQUIRED)
57find_package(Qt5Concurrent 5.4 REQUIRED)
57find_package(Qt5Concurrent 5.4 REQUIRED)
58find_package(Qt5Sql 5.4 REQUIRED)
58find_package(Qt5Sql 5.4 REQUIRED)
59
59
60−pkg_check_modules(APPLICATION_API REQUIRED unity-shell-application=19)
60+pkg_check_modules(APPLICATION_API REQUIRED unity-shell-application=22)
61pkg_check_modules(GEONAMES REQUIRED geonames>=0.2)
61pkg_check_modules(GEONAMES REQUIRED geonames>=0.2)
62pkg_check_modules(GIO REQUIRED gio-2.0>=2.32)
62pkg_check_modules(GIO REQUIRED gio-2.0>=2.32)
63pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32)
63pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32)
64pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
64pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
65−
65+pkg_check_modules(GD3 REQUIRED gnome-desktop-3.0)
66+pkg_check_modules(UAL REQUIRED ubuntu-app-launch-2)
66pkg_check_modules(UBUNTUGESTURES REQUIRED UbuntuGestures)
67pkg_check_modules(UBUNTUGESTURES REQUIRED UbuntuGestures)
67
68
68### Check UbuntuGestures private headers. No pkg-config (.pc) file is provided for them
69### Check UbuntuGestures private headers. No pkg-config (.pc) file is provided for them
CODING+20−59
@@ -15,23 +15,17 @@ download source
15 $ bzr branch lp:unity8 ~/unity8/trunk
15 $ bzr branch lp:unity8 ~/unity8/trunk
16 $ cd ~/unity8/trunk
16 $ cd ~/unity8/trunk
17
17
18−install dependencies
18+install dependencies and build Unity 8
19--------------------
19--------------------
20−If its your first time, install build dependencies
21
20
22$ cd ~/unity8/trunk
21$ cd ~/unity8/trunk
23−$ ./build.sh --setup
22+$ ./build.sh
24−
25− this will:
26− - install the required dependencies to build, as well as run on the desktop
27− - it should also install unity-scope-home and unity-lens-application which
28− are technically "recommends", not strict dependencies
29
23
30−build Unity 8
24+ If its your first time, this will install the required dependencies to build and
31−-------------
25+ build it.
32
26
33−$ cd ~/unity8/trunk
27+ You might want to also install unity-scope-home and unity-scope-click which
34−$ ./build.sh
28+ are technically "recommends", not strict dependencies
35
29
36You may also rebuild with the -c for clean, which just deletes the build
30You may also rebuild with the -c for clean, which just deletes the build
37directory.
31directory.
@@ -43,13 +37,15 @@ Running Unity 8 on your desktop
43run the Unity 8 shell
37run the Unity 8 shell
44---------------------
38---------------------
45$ cd ~/unity8/trunk
39$ cd ~/unity8/trunk
46−$ ./run.sh
40+$ cd builddir
47
41
48−Options can be passed to test the lock screen
42+Each component of unity8 can be ran independently for development and testing
49−$ ./run.sh -p OR -k
43+For example:
44+$ make tryShell
45+$ make tryLauncher
46+$ make tryLockscreen
50
47
51−-p is for pin lock, for which the default prompt answer is "1234"
48+Check out the tests/qmltests/ directory for a list of things that can be ran.
52−-k is for keylock passphrase, for which the default prompt answer is "password"
53
49
54Notes
50Notes
55-----
51-----
@@ -70,50 +66,15 @@ Notes
70
66
71Running Unity 8 on devices
67Running Unity 8 on devices
72==========================
68==========================
73−- Ubuntu Touch builds are currently only available in 14.04 flavour
74−- supported hardware should match one of those listed here
75− https://wiki.ubuntu.com/Touch/Devices#Running_fine
76−- follow the Ubuntu Touch install instructions for your chosen device
77− https://wiki.ubuntu.com/Touch/Install
78−- make sure your device is connected to a network
79−- also make sure you have your SSH key in ~/.ssh/id_rsa.pub (or install one
80− on the device yourself)
81−
82−$ cd ~/unity/trunk
83−$ ./run_on_device.sh --setup
84− this will:
85− - install your public SSH key on the device
86− - install the needed dependencies
87
69
88−$ ./run_on_device.sh
70+Running unity8 on a device should be done using crossbuilder.
89− this will:
71+Go to
90− - rsync the code to the device
72+* https://launchpad.net/crossbuilder and
91− - build on the device
73+* https://wiki.ubuntu.com/Touch/Crossbuilder
92− - replace the running shell
74+for more details on crossbuilder.
93−
94−Options can be passed to test the lock screen
95−$ ./run_on_device.sh -p OR -k
96−
97−-p is for pin lock, for which the default prompt answer is "1234"
98−-k is for keylock passphrase, for which the default prompt answer is "password"
99−
100−Notes
101−-----
102−- using adb over TCP has some advantages, Google will be of help here
103− - NOTE: this is not yet available for flipped images
104− - TL;DR: `adb tcpip 5555; adb connect $your_device_ip`
105− - you can persist the above via `adb shell setprop persist.adb.tcp.port 5555`
106− - it's unsafe - anyone can connect to your device
107− - with TCP the Nexus 10 doesn't drop the adb connection when locking
108− the screen
109−- exporting ANDROID_SERIAL=$your_device_serial or
110− ANDROID_SERIAL=$your_device_ip:5555 will make adb not complain about
111− multiple devices
112−- you can export TARGET_IP=$your_device_ip TARGET_SSH_PORT=22 for run_on_device.sh
113− to not use adb forwarding - useful if you use multiple devices
114−- using Ninja (package ninja-build - run_on_device.sh -s installs this now)
115− will improve build times (especially in the nothing-to-build case)
116
75
76+unity8 will automatically restart on the phone once deployment
77+has finished due to post-build-steps set up in this repository.
117
78
118Coding guidelines
79Coding guidelines
119=================
80=================
build.sh+6−37
@@ -9,7 +9,6 @@ usage() {
9 echo "usage: build [OPTIONS] [BUILD_TYPE]\n" >&2
9 echo "usage: build [OPTIONS] [BUILD_TYPE]\n" >&2
10 echo "Script to build the shell. If BUILD_TYPE is not specified, it defaults to \"debug\".\n" >&2
10 echo "Script to build the shell. If BUILD_TYPE is not specified, it defaults to \"debug\".\n" >&2
11 echo "OPTIONS:" >&2
11 echo "OPTIONS:" >&2
12− echo " -s, --setup Setup the build environment and branch Unity" >&2
13 echo " -c, --clean Clean the build tree before building" >&2
12 echo " -c, --clean Clean the build tree before building" >&2
14 echo >&2
13 echo >&2
15 exit 1
14 exit 1
@@ -22,7 +21,6 @@ eval set -- "$ARGS"
22while [ $# -gt 0 ]
21while [ $# -gt 0 ]
23do
22do
24 case "$1" in
23 case "$1" in
25− -s|--setup) SETUP=true;;
26 -c|--clean) CLEAN=true;;
24 -c|--clean) CLEAN=true;;
27 -h|--help) usage;;
25 -h|--help) usage;;
28 --) shift;break;;
26 --) shift;break;;
@@ -35,31 +33,6 @@ done
35BUILD_TYPE="debug"
33BUILD_TYPE="debug"
36[ $# -eq 1 ] && BUILD_TYPE="$1"
34[ $# -eq 1 ] && BUILD_TYPE="$1"
37
35
38−install_dependencies() {
39− sudo apt-get update || exit 4
40− echo "Installing Unity 8 dependencies.."
41− sudo apt-get install devscripts \
42− equivs \
43− gsettings-desktop-schemas \
44− gsettings-ubuntu-schemas \
45− pay-service \
46− qmenumodel-qml \
47− qml-module-qtquick-layouts \
48− qml-module-qtquick-xmllistmodel \
49− qml-module-ubuntu-components \
50− qml-module-ubuntu-thumbnailer0.1 \
51− qtdeclarative5-gsettings1.0 \
52− qtdeclarative5-ubuntu-settings-components \
53− qtdeclarative5-ubuntu-telephony0.1 \
54− qtdeclarative5-unity-notifications-plugin \
55− qml-module-ubuntu-connectivity \
56− ubuntu-mobile-icons \
57− ubuntu-system-settings \
58− unity-plugin-scopes \
59− xvfb \
60− || exit 5
61−}
62−
63mk_build_deps() {
36mk_build_deps() {
64 if [ ! -f control -o $CODE_DIR/debian/control -nt control ]; then
37 if [ ! -f control -o $CODE_DIR/debian/control -nt control ]; then
65 sed 's/\:native//g' $CODE_DIR/debian/control > control
38 sed 's/\:native//g' $CODE_DIR/debian/control > control
@@ -85,13 +58,9 @@ else
85 BUILD_COMMAND="make -j$NUM_JOBS"
58 BUILD_COMMAND="make -j$NUM_JOBS"
86fi
59fi
87
60
88−if $SETUP; then
89− install_dependencies
90−else
91− if $CLEAN; then rm -rf builddir; fi
61+if $CLEAN; then rm -rf builddir; fi
92− mkdir -p builddir
62+mkdir -p builddir
93− cd builddir
63+cd builddir
94− mk_build_deps
64+mk_build_deps
95− cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE $CODE_DIR ${GENERATOR} || exit 6
65+cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE $CODE_DIR ${GENERATOR} || exit 6
96− ${BUILD_COMMAND} || exit 7
66+${BUILD_COMMAND} || exit 7
97−fi
data/com.canonical.Unity8.gschema.xml+10
@@ -43,6 +43,16 @@
43 <summary>Width of the launcher in grid units.</summary>
43 <summary>Width of the launcher in grid units.</summary>
44 <description>Changes the width of the launcher in all usage modes.</description>
44 <description>Changes the width of the launcher in all usage modes.</description>
45 </key>
45 </key>
46+ <key type="b" name="enable-launcher">
47+ <default>true</default>
48+ <summary>Enable or disable the launcher</summary>
49+ <description>Toggle the availability of the launcher</description>
50+ </key>
51+ <key type="b" name="enable-indicator-menu">
52+ <default>true</default>
53+ <summary>Enable or disable the indicator pull down menus</summary>
54+ <description>Toggle the availability of the indicator pull down menus</description>
55+ </key>
46 </schema>
56 </schema>
47
57
48 <schema path="/com/canonical/unity8/greeter/" id="com.canonical.Unity8.Greeter" gettext-domain="unity8">
58 <schema path="/com/canonical/unity8/greeter/" id="com.canonical.Unity8.Greeter" gettext-domain="unity8">
data/unity8-dash.conf+1−1
@@ -22,4 +22,4 @@ pre-start script
22 initctl emit scope-ui-starting
22 initctl emit scope-ui-starting
23end script
23end script
24
24
25−exec ${BINARY:-unity8-dash} $ARGS --desktop_file_hint=/usr/share/applications/unity8-dash.desktop
25+exec ${BINARY:-unity8-dash} $ARGS --desktop_file_hint=unity8-dash.desktop
data/unity8-filewatcher.conf+5
@@ -1,6 +1,11 @@
1description "File system watcher for unity8"
1description "File system watcher for unity8"
2author "Michael Zanetti <michael.zanetti@canonical.com>"
2author "Michael Zanetti <michael.zanetti@canonical.com>"
3
3
4+# This method of updating the launcher will not work in our new snappy world,
5+# neither for snaps installed in the system nor if we are running inside a snap.
6+# Plus it hardcodes the phablet user... To be replaced once bug 1630997 is
7+# fixed in ubuntu-app-launch.
8+
4# Workaround for bug 1360208. ~ and * in one expression doesn't work currently
9# Workaround for bug 1360208. ~ and * in one expression doesn't work currently
5start on (file FILE=/home/phablet/.local/share/applications/*.desktop) or (file FILE=/usr/share/applications/*.desktop)
10start on (file FILE=/home/phablet/.local/share/applications/*.desktop) or (file FILE=/usr/share/applications/*.desktop)
6
11
data/unity8-greeter-wrapper+15−7
@@ -1,8 +1,7 @@
1#!/bin/sh
1#!/bin/sh
2# -*- Mode: sh; indent-tabs-mode: nil; tab-width: 4 -*-
2# -*- Mode: sh; indent-tabs-mode: nil; tab-width: 4 -*-
3#
3#
4−# Copyright (C) 2011,2013 Canonical Ltd
4+# Copyright (C) 2011,2013,2016 Canonical Ltd
5−# Author: Michael Terry <michael.terry@canonical.com>
6#
5#
7# This program is free software: you can redistribute it and/or modify it under
6# 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
7# the terms of the GNU General Public License as published by the Free Software
@@ -42,10 +41,12 @@ set_greeter_var()
42SUB_SOCKET=$XDG_RUNTIME_DIR/mir_socket
41SUB_SOCKET=$XDG_RUNTIME_DIR/mir_socket
43rm -f $SUB_SOCKET # clear socket in case we were hard shut down
42rm -f $SUB_SOCKET # clear socket in case we were hard shut down
44
43
44+echo "DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS}" >"$XDG_RUNTIME_DIR/dbus-session"
45+
45# If touch session script (which sets up grid units and mir variables) is available, use it
46# If touch session script (which sets up grid units and mir variables) is available, use it
46TOUCH_WRAPPER=
47TOUCH_WRAPPER=
47−if [ -x /usr/bin/ubuntu-touch-session ]; then
48+if which ubuntu-touch-session >/dev/null; then
48− TOUCH_WRAPPER=/usr/bin/ubuntu-touch-session
49+ TOUCH_WRAPPER=ubuntu-touch-session
49fi
50fi
50
51
51# Pretend that we're in an ubuntu-touch session, so that indicator-network
52# Pretend that we're in an ubuntu-touch session, so that indicator-network
@@ -62,13 +63,20 @@ set_greeter_var PA_DISABLED 1
62# creates for them and don't want to start all the services that a normal
63# 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# 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# But... we still want to use Upstart for some services. So launch here.
65−MIR_SOCKET=$SUB_SOCKET $TOUCH_WRAPPER /sbin/upstart --user --no-startup-event &
66+MIR_SOCKET=$SUB_SOCKET $TOUCH_WRAPPER upstart --user --no-startup-event &
66INIT_PID=$!
67INIT_PID=$!
67while [ ! -e "$XDG_RUNTIME_DIR/upstart/sessions/$INIT_PID.session" ]; do sleep 0.1; done
68while [ ! -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+. "$XDG_RUNTIME_DIR/upstart/sessions/$INIT_PID.session"
70+export UPSTART_SESSION
71+
72+# Connect upstart to system, but do first command in a loop to avoid any
73+# race condition between the session file above being written and upstart being
74+# ready to handle requests.
75+while ! initctl notify-dbus-address "$DBUS_SESSION_BUS_ADDRESS"; do sleep 0.1; done
76+initctl start notify-cgmanager
69
77
70# Start any pre-greeter tasks if needed (like wizard)
78# Start any pre-greeter tasks if needed (like wizard)
71−/sbin/initctl emit unity8-greeter-starting
79+initctl emit unity8-greeter-starting
72
80
73# Define language here for phone if available. When phone user switches their
81# 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
82# language, they expect that to affect the greeter too. But the user doesn't
debian/changelog+360
@@ -1,3 +1,363 @@
1+unity8 (8.15+17.04.20161129-0ubuntu1) zesty; urgency=medium
2+
3+ [ Albert Astals Cid ]
4+ * Fix PreviewProgress implicitHeight (LP: #1641943)
5+ * Adapt to dummy notification being gone
6+ * Fix autopilot test_lock_screen tests
7+ * Autopilot: Add more applications to the list for wider screens
8+ * Fix autopilot DashHelperTestCase.test_search
9+ * Also install the Screens mock
10+ * Give default value to gu-px size
11+
12+ [ Andrea Azzarone ]
13+ * Set Mir.cursorName to "grabbing" on first mouse press on a window
14+ decoration. Don't wait for press+motion. (LP: #1618078)
15+ * Do not show a divider between each quicklist entry but just between
16+ each section, similar to how unity7 does. (LP: #1637478)
17+
18+ [ Andrea Cimitan ]
19+ * Fix white text (LP: #1644468)
20+ * Make MascotLoader in CardCreator flat
21+ * Make the remaining UbuntuShape flat
22+ * added dropshadow from panel indicators to dash page header extra
23+ panel, so there is right shadow when the extra panel is narrow
24+ * Look up for expandable template dash category flag
25+
26+ [ Brian Douglass ]
27+ * Added a setting to enable/disable the indicator dropdown menu.
28+
29+ [ Daniel d'Andrada ]
30+ * There's no need for WindowDecoration to access the appDelegate
31+
32+ [ Lukáš Tinkl ]
33+ * Enable brightness (laptop backlight) handling on desktop/laptop PCs
34+ (LP: #1595947)
35+
36+ [ Michael Zanetti ]
37+ * disable spread interaction while locked (LP: #1641578)
38+
39+ [ Andrea Azzarone, Michał Sawicz ]
40+ * Implement launcher tooltips.
41+
42+ [ Olivier Tilloy ]
43+ * Remove dependency on transitional package. (LP: #1583079)
44+
45+ -- Michał Sawicz <michal.sawicz@canonical.com> Tue, 29 Nov 2016 09:43:33 +0000
46+
47+unity8 (8.15+17.04.20161116.1-0ubuntu1) zesty; urgency=medium
48+
49+ [ Marco Trevisan (Treviño) ]
50+ * MenuItemFactory: bind calendar backend properties to calendarMenu item
51+
52+ Adds support for showing the calendar at the requested date, marking days
53+ with events properly and toggling the visibility of the week number.
54+
55+ * MenuItemFactory: use Menus.RadioMenu and Menus.ButtonMenu
56+
57+ * Bump version as USC breaks with unity8 << 8.14
58+
59+ [ Albert Astals Cid ]
60+ * [Hopefully] Fix infinite loop in some of the GSV tests (LP:
61+ #1599301)
62+
63+ [ Marco Trevisan (Treviño) ]
64+ * testLauncher: use tryCompare to check launcher contentY
65+
66+ [ Michael Zanetti ]
67+ * Stabilize OrientedShell tests
68+
69+ -- Marco Trevisan (Treviño) <mail@3v1n0.net> Wed, 16 Nov 2016 10:44:59 +0000
70+
71+unity8 (8.14+17.04.20161109-0ubuntu1) zesty; urgency=medium
72+
73+ [ Albert Astals Cid ]
74+ * Make more CardTool properties readonly
75+ * Make the > in Dash Section Header be after text (LP: #1508905)
76+ * Rework Dash Preview column margins
77+ * Improve LVWPH <-> GenericScopeView interaction (LP: #1508905,
78+ #1622423)
79+ * Make the PreviewButtons be of the width of the button and not half
80+ the total width
81+ * Fix first column of the preview table to be 25%
82+
83+ [ Andrea Cimitan ]
84+ * Remove background under header pagination dots, update dots assets,
85+ remove dash paper background, update bottom edge asset
86+ * Few styling changes for cards
87+ * various tweaks to fonts inside previews
88+ * More visual tweaks
89+
90+ [ Brian Douglass ]
91+ * Add a new setting to enable/disable the launcher
92+
93+ [ Lukáš Tinkl ]
94+ * Stabilize test_doubleTapToMaximizeWindow()
95+ * Enable loading the main Qt catalog which in turn allows for using
96+ RTL languages
97+ * Fix the pixelated notification icon by setting sourceSize (LP:
98+ #1637712)
99+
100+ [ Michael Terry ]
101+ * More path lookup fixes for running inside of a snap. (LP: #1629009)
102+
103+ [ Michael Zanetti ]
104+ * Added blur and darkening to wallpaper while in spread
105+ * Fixes in the spread after design review (LP: #1637502, #1638848)
106+ * More fixes to the unified stages code (LP: #1637205, #1637249,
107+ #1637258)
108+ * Delay alt tab for tiny bit in order to avoid flickering on quick alt-
109+ tabs
110+
111+ [ Tomás Tormo ]
112+ * Reload Infographics userdata when the day changes (LP: #1378814)
113+
114+ -- Michał Sawicz <michal.sawicz@canonical.com> Wed, 09 Nov 2016 15:10:32 +0000
115+
116+unity8 (8.14+17.04.20161027-0ubuntu1) zesty; urgency=medium
117+
118+ * MenuItemFactory: activate item on calendar selection change (LP:
119+ #1541125)
120+
121+ -- Marco Trevisan (Treviño) <mail@3v1n0.net> Thu, 27 Oct 2016 12:32:25 +0000
122+
123+unity8 (8.14+17.04.20161024-0ubuntu1) zesty; urgency=medium
124+
125+ [ Albert Astals Cid ]
126+ * Make PreviewProgress be thicker again (LP: #1629382)
127+ * tst_PreviewZoomableImage: Wait for LazyImage transitions on init()
128+ (LP: #1630136)
129+
130+ [ Andrea Azzarone ]
131+ * Remove UbuntuShapeForItem and replace its use with the more standard
132+ Ubuntu.Components.UbuntuShape.
133+
134+ [ Lukáš Tinkl ]
135+ * Restore the double tap decoration to maximize feature (LP: #1627281)
136+ * Hide the cursor for fullscreen apps after 3 seconds of inactivity
137+ * Implement moving windows by Alt + left mouse button
138+
139+ [ Marco Trevisan (Treviño) ]
140+ * MenuItemFactory: use more features from SlotsLayout based settings
141+ components
142+
143+ [ Michael Terry ]
144+ * Grab launcher icon information from ubuntu-app-launch, not directly
145+ from desktop files.
146+ * Adjust root paths if we're running inside a snap. (LP: #1629009)
147+
148+ [ Michael Zanetti ]
149+ * Merge all Stages into one single codebase. Apply new spread visuals.
150+ (LP: #1489517, #1603914, #1635800)
151+
152+ -- Michael Zanetti <michael.zanetti@canonical.com> Mon, 24 Oct 2016 11:37:28 +0000
153+
154+unity8 (8.14+16.10.20160922-0ubuntu2) yakkety; urgency=medium
155+
156+ * debian/control:
157+ - Drop unity-scope-mediascanner2 to a Suggests rather than a Recommends,
158+ to ease our transition to main. It's already seeded directly in
159+ Touch, so this will only affect the Desktop variant of unity8.
160+
161+ -- Michael Terry <mterry@ubuntu.com> Mon, 03 Oct 2016 10:43:25 -0400
162+
163+unity8 (8.14+16.10.20160922-0ubuntu1) yakkety; urgency=medium
164+
165+ [ Albert Astals Cid ]
166+ * LVWPH: update clipItem height when list height changes (LP:
167+ #1606935)
168+ * Put the touchdown shape inside a loader
169+ * No need for the touchdown in the card for the cardtool
170+ * Add bottom gradient to the Show Less floating button
171+ * Remove artShapeSize from non cardtool cards
172+ * LVWPH: Fix case in which header was shown incorrectly
173+ * LVWPH: Fix items cut on top in the dash (or at least some instances
174+ of it)
175+ * Reduce calls to CardCreatorCache.getCardComponent while the
176+ component is being created (LP: #1615675)
177+ * Dash::test_cardIconStyle change compare into tryCompareFunction
178+ * Make PreviewActionsTest::test_comboButton more stable
179+ * Adapt onShiftedContentXChanged to work when the content changes very
180+ abruptly
181+ * Make tryGenericScopeView show the scope correctly
182+ * Make sure the spinner does not get too close to the title text (LP:
183+ #1597392)
184+ * Show "Pull to refresh" in white when overlaid in low luminance
185+ colors (LP: #1596849)
186+ * Make test_Shell non ultra slow again (LP: #1597366)
187+ * Improve findChild calls inside tryCompareFunction.
188+
189+ [ Andrea Cimitan ]
190+ * override some Qt Components definitions so we can have sane default
191+ values for flick speeds
192+ * Elide the label text inside recent searches panel (LP: #1611796)
193+ * Add a PreviewSingleton module to store some data for previews (LP:
194+ #1595235)
195+ * Use PreviewSingleton for PreviewRatingInput and PreviewCommentInput
196+ (LP: #1595235)
197+ * rework GenericScopeView PullToRefresh test
198+ * use mouseFlick instead touchFlick for manage_dash_move_current
199+ * add a couple of waiting tricks for a flaky dash test
200+
201+ [ Daniel d'Andrada ]
202+ * Set progress bar indeterminate when processing signal received. (LP:
203+ #1249349)
204+ * Implement cursor confinement (LP: #1590099)
205+
206+ [ Josh Arenson ]
207+ * Add a frontend to the sessions model and enable a session chooser in
208+ the greeter.
209+
210+ [ Lukáš Tinkl ]
211+ * Implement edge maximizing (aka window snapping) (LP: #1602628)
212+ * On the PC platform (as opposed to running on $devices), use the
213+ "mute" action instead of silent mode
214+ * Respect Fitt's law wrt the window control buttons in panel (LP:
215+ #1611959)
216+ * Fix 2 failing color-related tests
217+
218+ [ Marco Trevisan (Treviño) ]
219+ * Indicators, mocks: add fake indicators menuitem to populate mocks
220+ with different menu types
221+ * IndicatorsClient: use PageHeader and ListItemLayout's
222+
223+ [ Michael Terry ]
224+ * Support launching apps inside a unity8 session from the greeter and
225+ support emergency dialing inside the greeter.
226+ * Fix tryShell to actually show appropriate backgrounds for each mock
227+ user.
228+ * Add an indicator to the greeter when a user is logged in (only shown
229+ if we have more than one user)
230+ * Hide the greeter OSK if indicators are open and don't show the edge
231+ tutorial during an emergency call.
232+ * Switch from lockscreen PIN pad to a passcode entry box that uses the
233+ OSK.
234+ * Use the default system wallpaper instead of our custom one.
235+ * Update look of infographic a bit
236+ * Make infographic bubbles white even on the default wallpaper.
237+
238+ -- Michał Sawicz <michal.sawicz@canonical.com> Thu, 22 Sep 2016 07:46:57 +0000
239+
240+unity8 (8.14+16.10.20160831.3-0ubuntu1) yakkety; urgency=medium
241+
242+ [ Daniel d'Andrada ]
243+ * Added implementation for MirSurfaceInterface::persistentId
244+
245+ -- Ken VanDine <ken.vandine@canonical.com> Wed, 31 Aug 2016 11:56:09 +0000
246+
247+unity8 (8.14+16.10.20160826-0ubuntu1) yakkety; urgency=medium
248+
249+ * Make sure we emit sounds when taking a screenshot even after media-
250+ hub (LP: #1544477)
251+
252+ -- Alfonso Sanchez-Beato <alfonso.sanchez-beato@canonical.com> Fri, 26 Aug 2016 08:14:14 +0000
253+
254+unity8 (8.14+16.10.20160819-0ubuntu1) yakkety; urgency=medium
255+
256+ [ Lukáš Tinkl ]
257+ * Reset topmostIsFullscreen to correctly rotate the shell when
258+ dismissing SIM PIN screen (LP: #1614070)
259+
260+ -- Michał Sawicz <michal.sawicz@canonical.com> Fri, 19 Aug 2016 14:16:54 +0000
261+
262+unity8 (8.14+16.10.20160811.1-0ubuntu1) yakkety; urgency=medium
263+
264+ [ Albert Astals Cid ]
265+ * Take into account carousel selectedItemScaleFactor when setting card
266+ fixedArtShapeSize (LP: #1599238)
267+ * Remove unused LimitProxyModel
268+ * Do not calculate implicitHeight for Cards in a CardGrid
269+ * Small clazy fixes
270+
271+ [ Daniel d'Andrada ]
272+ * Remove stage property from Application
273+
274+ [ Larry Price ]
275+ * Allow libertine-scope to show empty search result hint unmodified.
276+ (LP: #1606693)
277+
278+ [ Lukáš Tinkl ]
279+ * Open the quicklist (context) menu also using the Menu key (LP:
280+ #1608265)
281+ * Fix incorrect SIM PIN dialog position when entering a wrong PIN (LP:
282+ #1596076)
283+ * Apply the correct keymap also on prompt surfaces (LP: #1610124)
284+ * Implement an optional system update feature during OOBE wizard (LP:
285+ #1580785)
286+ * Implement a page for choosing HW keyboard layout in OOBE wizard
287+
288+ [ Michael Zanetti ]
289+ * Clean up some build script legacy
290+ * Add a crossbuilder_post file to make crossbuilder restart unity8
291+ after deploying
292+ * fixes for the automatic switching between usage modes (LP: #1590944)
293+
294+ [ Omer Akram ]
295+ * Add object names for setup wizard
296+
297+ -- Michał Sawicz <michal.sawicz@canonical.com> Thu, 11 Aug 2016 06:28:20 +0000
298+
299+unity8 (8.14+16.10.20160803-0ubuntu1) yakkety; urgency=medium
300+
301+ [ Albert Astals Cid ]
302+ * Fix DisabledScreenNotice::test_rotation
303+ * Make the delegate of DashNavigationList an async Loader
304+ * unity-scope-tool: Use parse instead of process
305+ * VerticalJournal improvements regarding model insertions and item
306+ height changes (LP: #1599754)
307+ * Add math.h includes for compilation in yakkety (LP: #1605502)
308+
309+ [ Andrea Cimitan ]
310+ * Unfocus the search text field in the dash page header when requested
311+ (LP: #1590820)
312+ * Use binding for filter popover contentWidth (LP: #1595116)
313+ * Add few sourceSize for Image we forgot (LP: #1595113)
314+ * Replace Flickable with an Item inside DashPageHeader for
315+ headerContainer (LP: #1599235)
316+
317+ [ Albert Astals Cid, Andrea Cimitan ]
318+ * Unbox the artshapeLoader
319+
320+ [ Daniel d'Andrada ]
321+ * Fix splashscreen orientation when app rotates own contents (LP:
322+ #1586050)
323+ * tst_PreviewIconActions: Make test name match filename
324+ * Cursor: make its size grid unit based (LP: #1604014)
325+ * TouchEventSequenceWrapper: item might get deleted when touch
326+ sequence is committed (LP: #1607686)
327+
328+ [ Lukáš Tinkl ]
329+ * Implement frontend support for running keyboard indicator
330+ * Provide window/surface close shortcuts across all the stages (LP:
331+ #1578392, #1606528)
332+ * Restart the location trust prompt service when exiting the wizard
333+ (LP: #1594430)
334+ * Implement clearing the search and closing the panel on pressing
335+ Escape key in the dash header
336+ * Fix log timestamps (LP: #1602196)
337+ * Don't display the mode switch warning dialog on tablets (LP:
338+ #1600290)
339+
340+ [ Michael Terry ]
341+ * Fix indicator profile bug that caused sound indicator to say Mute
342+ instead of Silent Mode. (LP: #1604205)
343+ * Fix lockscreen appearing right after unlocking a locked session on
344+ the desktop. (LP: #1604374)
345+
346+ [ Michał Sawicz ]
347+ * Add arm64 support, drop unnecessary B-D on web plugin
348+
349+ -- Michał Sawicz <michal.sawicz@canonical.com> Wed, 03 Aug 2016 15:56:27 +0000
350+
351+unity8 (8.14+16.10.20160728-0ubuntu1) yakkety; urgency=medium
352+
353+ [ Zoltán Balogh ]
354+ * Bump the version to secure UITK compatibility
355+
356+ [ Albert Astals Cid ]
357+ * Pass the correct number of arguments to mapToItem (LP: #1606835)
358+
359+ -- Michał Sawicz <michal.sawicz@canonical.com> Thu, 28 Jul 2016 08:17:13 +0000
360+
1unity8 (8.13+16.10.20160714+fix1-0ubuntu2~1) yakkety; urgency=medium
361unity8 (8.13+16.10.20160714+fix1-0ubuntu2~1) yakkety; urgency=medium
2
362
3 * Rebuild against Qt 5.6.
363 * Rebuild against Qt 5.6.
debian/control+35−26
@@ -8,7 +8,7 @@ Build-Depends: cmake,
8 dh-apparmor,
8 dh-apparmor,
9 doxyqml,
9 doxyqml,
10# To allow cross-compiling to work, we also must append :native
10# To allow cross-compiling to work, we also must append :native
11−# to g++ so we don't try to run armhf g++
11+# to g++ so we don't try to run arm g++
12# on an x86 CPU for example, when cross-compiling.
12# on an x86 CPU for example, when cross-compiling.
13 g++:native,
13 g++:native,
14 gdb,
14 gdb,
@@ -18,9 +18,10 @@ Build-Depends: cmake,
18 libconnectivity-qt1-dev (>= 0.7.1),
18 libconnectivity-qt1-dev (>= 0.7.1),
19 libevdev-dev,
19 libevdev-dev,
20 libgeonames-dev (>= 0.2),
20 libgeonames-dev (>= 0.2),
21+ libgnome-desktop-3-dev,
21− libgl1-mesa-dev[!armhf] | libgl-dev[!armhf],
22+ libgl1-mesa-dev[!arm64 !armhf] | libgl-dev[!arm64 !armhf],
22 libgl1-mesa-dri,
23 libgl1-mesa-dri,
23− libgles2-mesa-dev[armhf],
24+ libgles2-mesa-dev[arm64 armhf],
24 libglib2.0-dev,
25 libglib2.0-dev,
25 libgsettings-qt-dev,
26 libgsettings-qt-dev,
26 libhardware-dev,
27 libhardware-dev,
@@ -28,31 +29,35 @@ Build-Depends: cmake,
28 libpam0g-dev,
29 libpam0g-dev,
29 libpay2-dev,
30 libpay2-dev,
30 libpulse-dev,
31 libpulse-dev,
31− libqmenumodel-dev (>= 0.2.9),
32+ libqmenumodel-dev (>= 0.2.10),
32 libqt5svg5-dev,
33 libqt5svg5-dev,
33 libqt5xmlpatterns5-dev,
34 libqt5xmlpatterns5-dev,
34 libsystemsettings-dev,
35 libsystemsettings-dev,
36+ libubuntu-app-launch2-dev,
37+ libubuntu-download-manager-common-dev,
35− libubuntugestures5-dev,
38+ libubuntugestures5-dev (>= 1.3.2030),
36− libubuntugestures5-private-dev,
39+ libubuntugestures5-private-dev (>= 1.3.2030),
37 libudev-dev,
40 libudev-dev,
41+ libudm-common-dev,
38− libunity-api-dev (>= 7.116),
42+ libunity-api-dev (>= 7.120),
39 libusermetricsoutput1-dev,
43 libusermetricsoutput1-dev,
40# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
44# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
41− libx11-dev[!armhf],
45+ libx11-dev[!arm64 !armhf],
42− libxcb1-dev[!armhf],
46+ libxcb1-dev[!arm64 !armhf],
43− libxi-dev[!armhf],
47+ libxi-dev[!arm64 !armhf],
44# End of X11 libs
48# End of X11 libs
45 pkg-config,
49 pkg-config,
46 python3-all:any,
50 python3-all:any,
47 python3-setuptools,
51 python3-setuptools,
48 qml-module-qt-labs-folderlistmodel,
52 qml-module-qt-labs-folderlistmodel,
53+ qml-module-qtqml-statemachine,
49 qml-module-qtmultimedia (>= 5.4.1-1ubuntu19~overlay2),
54 qml-module-qtmultimedia (>= 5.4.1-1ubuntu19~overlay2),
50 qml-module-qtquick-layouts,
55 qml-module-qtquick-layouts,
51 qml-module-qtquick-xmllistmodel,
56 qml-module-qtquick-xmllistmodel,
52 qml-module-qtquick2,
57 qml-module-qtquick2,
53 qml-module-qtsysteminfo,
58 qml-module-qtsysteminfo,
54 qml-module-qttest,
59 qml-module-qttest,
55− qml-module-ubuntu-components (>= 1.3.1845) | qml-module-ubuntu-components-gles (>= 1.3.1845),
60+ qml-module-ubuntu-components (>= 1.3.2030) | qml-module-ubuntu-components-gles (>= 1.3.2030),
56 qml-module-ubuntu-web,
61 qml-module-ubuntu-web,
57 qt5-default,
62 qt5-default,
58 qtbase5-dev (>= 5.4),
63 qtbase5-dev (>= 5.4),
@@ -62,7 +67,7 @@ Build-Depends: cmake,
62 qtdeclarative5-dev-tools,
67 qtdeclarative5-dev-tools,
63 qtdeclarative5-private-dev (>= 5.4),
68 qtdeclarative5-private-dev (>= 5.4),
64 qtdeclarative5-ubuntu-content1,
69 qtdeclarative5-ubuntu-content1,
65− qtdeclarative5-ubuntu-settings-components (>= 0.7),
70+ qtdeclarative5-ubuntu-settings-components (>= 0.11),
66 ttf-ubuntu-font-family,
71 ttf-ubuntu-font-family,
67 xvfb,
72 xvfb,
68Standards-Version: 3.9.4
73Standards-Version: 3.9.4
@@ -76,9 +81,9 @@ XS-Testsuite: autopkgtest
76X-Ubuntu-Use-Langpack: yes
81X-Ubuntu-Use-Langpack: yes
77
82
78Package: indicators-client
83Package: indicators-client
79−Architecture: amd64 armhf i386
84+Architecture: any
80−Depends: qmenumodel-qml (>= 0.2.9),
85+Depends: qmenumodel-qml (>= 0.2.10),
81− qml-module-ubuntu-components (>= 1.3.1845) | qml-module-ubuntu-components-gles (>= 1.3.1845),
86+ qml-module-ubuntu-components (>= 1.3.2030) | qml-module-ubuntu-components-gles (>= 1.3.2030),
82 unity8 (= ${binary:Version}),
87 unity8 (= ${binary:Version}),
83 ${misc:Depends},
88 ${misc:Depends},
84 ${shlibs:Depends},
89 ${shlibs:Depends},
@@ -116,25 +121,27 @@ Depends: dmz-cursor-theme,
116 gsettings-desktop-schemas,
121 gsettings-desktop-schemas,
117 libcap2-bin,
122 libcap2-bin,
118 libglib2.0-bin,
123 libglib2.0-bin,
119− qmenumodel-qml (>= 0.2.9),
124+ qmenumodel-qml (>= 0.2.10),
120 qml-module-biometryd,
125 qml-module-biometryd,
121 qml-module-qt-labs-folderlistmodel,
126 qml-module-qt-labs-folderlistmodel,
127+ qml-module-qtqml-statemachine,
122 qml-module-qtquick-xmllistmodel,
128 qml-module-qtquick-xmllistmodel,
123 qml-module-qtsysteminfo,
129 qml-module-qtsysteminfo,
124 qml-module-ubuntu-web,
130 qml-module-ubuntu-web,
125 qtdeclarative5-qtmir-plugin (>= 0.4.8),
131 qtdeclarative5-qtmir-plugin (>= 0.4.8),
126 qtdeclarative5-ubuntu-telephony0.1,
132 qtdeclarative5-ubuntu-telephony0.1,
127− qtdeclarative5-ubuntu-web-plugin,
128 ubuntu-system-settings (>= 0.4),
133 ubuntu-system-settings (>= 0.4),
129− unity-launcher-impl-7,
134+ unity-launcher-impl-10,
130 unity8-common (= ${source:Version}),
135 unity8-common (= ${source:Version}),
131 unity8-private (= ${binary:Version}),
136 unity8-private (= ${binary:Version}),
132 unity8-private | unity-launcher-impl,
137 unity8-private | unity-launcher-impl,
133 ${misc:Depends},
138 ${misc:Depends},
134 ${shlibs:Depends},
139 ${shlibs:Depends},
135−Recommends: indicator-session,
140+Recommends: indicator-keyboard,
141+ indicator-session,
142+ unity-greeter-session-broadcast,
136 unity-scope-click,
143 unity-scope-click,
137− unity-scope-mediascanner2,
144+Suggests: unity-scope-mediascanner2,
138Breaks: indicator-network (<< 0.5.1+14.10.20141014),
145Breaks: indicator-network (<< 0.5.1+14.10.20141014),
139 ubuntu-touch-session (<< 0.107),
146 ubuntu-touch-session (<< 0.107),
140 unity8-greeter (<< 7.89),
147 unity8-greeter (<< 7.89),
@@ -148,12 +155,14 @@ Description: Unity 8 shell
148Package: unity8-common
155Package: unity8-common
149Architecture: all
156Architecture: all
150Depends: qml-module-qtquick-layouts,
157Depends: qml-module-qtquick-layouts,
151− qml-module-ubuntu-components (>= 1.3.1845) | qml-module-ubuntu-components-gles (>= 1.3.1845),
158+ qml-module-ubuntu-components (>= 1.3.2030) | qml-module-ubuntu-components-gles (>= 1.3.2030),
152 qml-module-ubuntu-thumbnailer0.1 | ubuntu-thumbnailer-impl,
159 qml-module-ubuntu-thumbnailer0.1 | ubuntu-thumbnailer-impl,
153− qtdeclarative5-ubuntu-settings-components (>= 0.7),
160+ qtdeclarative5-ubuntu-settings-components (>= 0.11),
154 qtdeclarative5-unity-notifications-plugin (>= 0.1.2) | unity-notifications-impl,
161 qtdeclarative5-unity-notifications-plugin (>= 0.1.2) | unity-notifications-impl,
162+ qttranslations5-l10n,
155 ubuntu-thumbnailer-impl-0,
163 ubuntu-thumbnailer-impl-0,
164+ ubuntu-wallpapers,
156− unity-application-impl-19,
165+ unity-application-impl-22,
157 unity-notifications-impl-3,
166 unity-notifications-impl-3,
158 unity-plugin-scopes | unity-scopes-impl,
167 unity-plugin-scopes | unity-scopes-impl,
159 unity-scopes-impl-12,
168 unity-scopes-impl-12,
@@ -180,7 +189,7 @@ Depends: autopilot-qt5 (>= 1.4),
180 python3-fixtures,
189 python3-fixtures,
181 python3-gi,
190 python3-gi,
182 qttestability-autopilot (>= 1.4),
191 qttestability-autopilot (>= 1.4),
183− ubuntu-ui-toolkit-autopilot (>= 1.3.1845),
192+ ubuntu-ui-toolkit-autopilot (>= 1.3.2030),
184 unity-scope-click,
193 unity-scope-click,
185 unity8 (= ${source:Version}),
194 unity8 (= ${source:Version}),
186 unity8-tests (= ${source:Version}),
195 unity8-tests (= ${source:Version}),
@@ -204,7 +213,7 @@ Depends: dbus-test-runner,
204 ${misc:Depends},
213 ${misc:Depends},
205 ${shlibs:Depends},
214 ${shlibs:Depends},
206Provides: unity-application-impl,
215Provides: unity-application-impl,
207− unity-application-impl-19,
216+ unity-application-impl-22,
208 unity8-fake-env,
217 unity8-fake-env,
209Replaces: unity8-autopilot (<< 8.02+15.04.20150422-0ubuntu1),
218Replaces: unity8-autopilot (<< 8.02+15.04.20150422-0ubuntu1),
210 unity8-fake-env,
219 unity8-fake-env,
@@ -228,7 +237,7 @@ Depends: accountsservice-ubuntu-schemas (>= 0.0.7),
228 ${misc:Depends},
237 ${misc:Depends},
229 ${shlibs:Depends},
238 ${shlibs:Depends},
230Provides: unity-launcher-impl,
239Provides: unity-launcher-impl,
231− unity-launcher-impl-7,
240+ unity-launcher-impl-10,
232Description: Unity 8 private libs
241Description: Unity 8 private libs
233 The Unity 8 shell is the primary user interface for Ubuntu devices.
242 The Unity 8 shell is the primary user interface for Ubuntu devices.
234 .
243 .
debian/rules+3−2
@@ -37,6 +37,7 @@ override_dh_installdeb:
37override_dh_makeshlibs:
37override_dh_makeshlibs:
38 dh_makeshlibs -Nunity8-private -Nunity8-tests
38 dh_makeshlibs -Nunity8-private -Nunity8-tests
39
39
40−# libMockLightDM-qml.so links against liblightdm-qt5-3.so which doesn't exist
41override_dh_shlibdeps:
40override_dh_shlibdeps:
41+ # Some mock libraries link against liblightdm-qt5-3.so which we want to
42+ # avoid, since we only really link against our mock one, not the system one.
42− dh_shlibdeps -XlibMockLightDM-qml.so -Lunity8-private
43+ dh_shlibdeps -XlibMockLightDM-qml.so -XlibMockAccountsService-qml.so -Lunity8-private
debian/unity8-private.install+1
@@ -4,6 +4,7 @@ usr/lib/*/unity8/qml/Cursor
4usr/lib/*/unity8/qml/Dash
4usr/lib/*/unity8/qml/Dash
5usr/lib/*/unity8/qml/GlobalShortcut
5usr/lib/*/unity8/qml/GlobalShortcut
6usr/lib/*/unity8/qml/Greeter
6usr/lib/*/unity8/qml/Greeter
7+usr/lib/*/unity8/qml/ImageCache
7usr/lib/*/unity8/qml/LightDM
8usr/lib/*/unity8/qml/LightDM
8usr/lib/*/unity8/qml/Lights
9usr/lib/*/unity8/qml/Lights
9usr/lib/*/unity8/qml/Powerd
10usr/lib/*/unity8/qml/Powerd
debian/unity8-tests.lintian-overridesnew file+1
@@ -0,0 +1 @@
1+unity8-tests: unusual-interpreter usr/lib/*/unity8/tests/scripts/*.sh #!/usr/bin/parallel
debian/unity8.install+1−1
@@ -16,7 +16,7 @@ usr/share/unity8/DeviceConfiguration.qml
16usr/share/unity8/OrientedShell.qml
16usr/share/unity8/OrientedShell.qml
17usr/share/unity8/DisabledScreenNotice.qml
17usr/share/unity8/DisabledScreenNotice.qml
18usr/share/unity8/Shell.qml
18usr/share/unity8/Shell.qml
19−usr/share/unity8/Stages
19+usr/share/unity8/Stage
20usr/share/unity8/Tutorial
20usr/share/unity8/Tutorial
21usr/share/unity8/Wizard
21usr/share/unity8/Wizard
22usr/share/url-dispatcher/urls/unity8-dash.url-dispatcher
22usr/share/url-dispatcher/urls/unity8-dash.url-dispatcher
include/paths.h.in+34−25
@@ -1,8 +1,5 @@
1/*
1/*
2− * Copyright (C) 2012 Canonical, Ltd.
2+ * Copyright (C) 2012-2016 Canonical, Ltd.
3− *
4− * Authors:
5− * Ugo Riboni <ugo.riboni@canonical.com>
6 *
3 *
7 * 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
8 * 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
@@ -17,8 +14,7 @@
17 * 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/>.
18 */
15 */
19
16
20−#ifndef PATHS_H
17+#pragma once
21−#define PATHS_H
22
18
23// Qt
19// Qt
24#include <QtCore/QCoreApplication>
20#include <QtCore/QCoreApplication>
@@ -27,13 +23,28 @@
27#include <QtQml/QQmlEngine>
23#include <QtQml/QQmlEngine>
28#include <QStandardPaths>
24#include <QStandardPaths>
29
25
26+inline QString installRoot() {
27+ static QString installRoot;
28+ static bool installRootSet = false;
29+ if (!installRootSet) {
30+ QString snapRoot = QFile::decodeName(qgetenv("SNAP"));
31+ if (!snapRoot.isEmpty() && QCoreApplication::applicationDirPath() ==
32+ QDir(snapRoot + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@")).canonicalPath()) {
33+ installRoot = snapRoot;
34+ } else if (QCoreApplication::applicationDirPath() ==
35+ QDir(QStringLiteral("@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@")).canonicalPath()) {
36+ installRoot = QStringLiteral("");
37+ }
38+ installRootSet = true;
39+ }
40+ return installRoot;
41+}
42+
30inline bool isRunningInstalled() {
43inline bool isRunningInstalled() {
31 // Tests don't use the normal binary, so we want to check binary *and*
44 // Tests don't use the normal binary, so we want to check binary *and*
32 // the environment. Installed tests have UNITY_TESTING_DATADIR set.
45 // the environment. Installed tests have UNITY_TESTING_DATADIR set.
33− static bool installed = (QCoreApplication::applicationDirPath() ==
34− QDir(QStringLiteral("@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@")).canonicalPath());
35 static bool installed_test_env = !qgetenv("UNITY_TESTING_DATADIR").isEmpty();
46 static bool installed_test_env = !qgetenv("UNITY_TESTING_DATADIR").isEmpty();
36− return installed || installed_test_env;
47+ return !installRoot().isNull() || installed_test_env;
37}
48}
38
49
39inline QString buildDirectory() {
50inline QString buildDirectory() {
@@ -48,9 +59,9 @@ inline QString sourceDirectory() {
48
59
49inline QString translationDirectory() {
60inline QString translationDirectory() {
50 if (isRunningInstalled()) {
61 if (isRunningInstalled()) {
51− return QStringLiteral("@CMAKE_INSTALL_PREFIX@/share/locale");
62+ return installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/share/locale");
52 } else {
63 } else {
53− return QString(buildDirectory() + "/po/locale");
64+ return buildDirectory() + QStringLiteral("/po/locale");
54 }
65 }
55}
66}
56
67
@@ -78,16 +89,16 @@ inline QString testLibDir() {
78
89
79inline QString qmlDirectory() {
90inline QString qmlDirectory() {
80 if (isRunningInstalled()) {
91 if (isRunningInstalled()) {
81− return QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_APP_DIR@/");
92+ return installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_APP_DIR@/");
82 } else {
93 } else {
83− return QString(sourceDirectory() + "/qml");
94+ return sourceDirectory() + QStringLiteral("/qml");
84 }
95 }
85}
96}
86
97
87inline QStringList overrideImportPaths() {
98inline QStringList overrideImportPaths() {
88 QStringList paths;
99 QStringList paths;
89 if (!isRunningInstalled()) {
100 if (!isRunningInstalled()) {
90− paths << QString(buildDirectory() + "/plugins");
101+ paths << buildDirectory() + QStringLiteral("/plugins");
91 }
102 }
92 return paths;
103 return paths;
93}
104}
@@ -95,9 +106,9 @@ inline QStringList overrideImportPaths() {
95inline QStringList nonMirImportPaths() {
106inline QStringList nonMirImportPaths() {
96 QStringList paths;
107 QStringList paths;
97 if (isRunningInstalled()) {
108 if (isRunningInstalled()) {
98− paths << QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/nonmirplugins");
109+ paths << installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/nonmirplugins");
99 } else {
110 } else {
100− paths << QString(buildDirectory() + "/nonmirplugins");
111+ paths << buildDirectory() + QStringLiteral("/nonmirplugins");
101 }
112 }
102 return paths;
113 return paths;
103}
114}
@@ -105,23 +116,23 @@ inline QStringList nonMirImportPaths() {
105inline QStringList fallbackImportPaths() {
116inline QStringList fallbackImportPaths() {
106 QStringList paths;
117 QStringList paths;
107 if (isRunningInstalled()) {
118 if (isRunningInstalled()) {
108− paths << QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@");
119+ paths << installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@");
109− paths << QStringLiteral("@USS_PRIVATE_PLUGINDIR@");
120+ paths << installRoot() + QStringLiteral("@USS_PRIVATE_PLUGINDIR@");
110− paths << QStringLiteral("@SHELL_PLUGINDIR@");
121+ paths << installRoot() + QStringLiteral("@SHELL_PLUGINDIR@");
111− paths << QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
122+ paths << installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
112 } else {
123 } else {
113 paths << QStringLiteral("@USS_PRIVATE_PLUGINDIR@");
124 paths << QStringLiteral("@USS_PRIVATE_PLUGINDIR@");
114 paths << QStringLiteral("@SHELL_PLUGINDIR@");
125 paths << QStringLiteral("@SHELL_PLUGINDIR@");
115− paths << QString(buildDirectory() + "/tests/mocks");
126+ paths << buildDirectory() + QStringLiteral("/tests/mocks");
116 }
127 }
117 return paths;
128 return paths;
118}
129}
119
130
120inline QString mockPluginsDir() {
131inline QString mockPluginsDir() {
121 if (isRunningInstalled()) {
132 if (isRunningInstalled()) {
122− return QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
133+ return installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
123 } else {
134 } else {
124− return QString(buildDirectory() + "/tests/mocks");
135+ return buildDirectory() + QStringLiteral("/tests/mocks");
125 }
136 }
126}
137}
127
138
@@ -162,5 +173,3 @@ inline void appendImportPaths(QQmlEngine *engine, const QStringList &paths)
162 }
173 }
163 engine->setImportPathList(importPathList);
174 engine->setImportPathList(importPathList);
164}
175}
165−
166−#endif
plugins/AccountsService/AccountsService.cpp+20−2
@@ -68,9 +68,9 @@ Q_DECLARE_METATYPE(StringMapList)
68QVariant primaryButtonConverter(const QVariant &value)
68QVariant primaryButtonConverter(const QVariant &value)
69{
69{
70 QString stringValue = value.toString();
70 QString stringValue = value.toString();
71− if (stringValue == "left") {
71+ if (stringValue == QLatin1String("left")) {
72 return QVariant::fromValue(0);
72 return QVariant::fromValue(0);
73− } else if (stringValue == "right") {
73+ } else if (stringValue == QLatin1String("right")) {
74 return QVariant::fromValue(1); // Mir is less clear on this -- any non-zero value is the same
74 return QVariant::fromValue(1); // Mir is less clear on this -- any non-zero value is the same
75 } else {
75 } else {
76 return QVariant::fromValue(0); // default to left
76 return QVariant::fromValue(0); // default to left
@@ -284,6 +284,24 @@ QStringList AccountsService::keymaps() const
284 return {QStringLiteral("us")};
284 return {QStringLiteral("us")};
285}
285}
286
286
287+void AccountsService::setKeymaps(const QStringList &keymaps)
288+{
289+ if (keymaps.isEmpty()) {
290+ qWarning() << "Setting empty keymaps is not supported";
291+ return;
292+ }
293+
294+ StringMapList result;
295+ Q_FOREACH(const QString &keymap, keymaps) {
296+ StringMap map;
297+ map.insert(QStringLiteral("xkb"), keymap);
298+ result.append(map);
299+ }
300+
301+ setProperty(IFACE_ACCOUNTS_USER, PROP_INPUT_SOURCES, QVariant::fromValue(result));
302+ Q_EMIT keymapsChanged();
303+}
304+
287uint AccountsService::failedFingerprintLogins() const
305uint AccountsService::failedFingerprintLogins() const
288{
306{
289 return getProperty(IFACE_UNITY_PRIVATE, PROP_FAILED_FINGERPRINT_LOGINS).toUInt();
307 return getProperty(IFACE_UNITY_PRIVATE, PROP_FAILED_FINGERPRINT_LOGINS).toUInt();
plugins/AccountsService/AccountsService.h+2−3
@@ -79,9 +79,7 @@ class AccountsService: public QObject
79 NOTIFY hereLicensePathChanged)
79 NOTIFY hereLicensePathChanged)
80 Q_PROPERTY(QString realName READ realName WRITE setRealName NOTIFY realNameChanged)
80 Q_PROPERTY(QString realName READ realName WRITE setRealName NOTIFY realNameChanged)
81 Q_PROPERTY(QString email READ email WRITE setEmail NOTIFY emailChanged)
81 Q_PROPERTY(QString email READ email WRITE setEmail NOTIFY emailChanged)
82− Q_PROPERTY(QStringList keymaps
82+ Q_PROPERTY(QStringList keymaps READ keymaps WRITE setKeymaps NOTIFY keymapsChanged)
83− READ keymaps
84− NOTIFY keymapsChanged)
85
83
86public:
84public:
87 enum PasswordDisplayHint {
85 enum PasswordDisplayHint {
@@ -117,6 +115,7 @@ public:
117 QString email() const;
115 QString email() const;
118 void setEmail(const QString &email);
116 void setEmail(const QString &email);
119 QStringList keymaps() const;
117 QStringList keymaps() const;
118+ void setKeymaps(const QStringList &keymaps);
120
119
121Q_SIGNALS:
120Q_SIGNALS:
122 void userChanged();
121 void userChanged();
plugins/CMakeLists.txt+1
@@ -15,6 +15,7 @@ add_subdirectory(AccountsService)
15add_subdirectory(Cursor)
15add_subdirectory(Cursor)
16add_subdirectory(GlobalShortcut)
16add_subdirectory(GlobalShortcut)
17add_subdirectory(Greeter)
17add_subdirectory(Greeter)
18+add_subdirectory(ImageCache)
18add_subdirectory(LightDM)
19add_subdirectory(LightDM)
19add_subdirectory(Lights)
20add_subdirectory(Lights)
20add_subdirectory(Dash)
21add_subdirectory(Dash)
plugins/Cursor/CMakeLists.txt+2−2
@@ -28,6 +28,6 @@ target_link_libraries(Cursor-qml
28 ${QT5PLATFORM_SUPPORT_LDFLAGS}
28 ${QT5PLATFORM_SUPPORT_LDFLAGS}
29)
29)
30
30
31−qt5_use_modules(Cursor-qml Qml Quick DBus Network Gui Sql Concurrent Svg)
31+qt5_use_modules(Cursor-qml Qml Quick Svg)
32
32
33−add_unity8_plugin(Cursor 1.0 Cursor TARGETS Cursor-qml)
33+add_unity8_plugin(Cursor 1.1 Cursor TARGETS Cursor-qml)
plugins/Cursor/Cursor.qml+5−2
@@ -25,6 +25,7 @@ MousePointer {
25 id: imageInfo
25 id: imageInfo
26 themeName: mousePointer.themeName
26 themeName: mousePointer.themeName
27 cursorName: mousePointer.cursorName
27 cursorName: mousePointer.cursorName
28+ cursorHeight: mousePointer.height
28 }
29 }
29
30
30 Loader {
31 Loader {
@@ -32,7 +33,7 @@ MousePointer {
32 sourceComponent: AnimatedSprite {
33 sourceComponent: AnimatedSprite {
33 x: -imageInfo.hotspot.x
34 x: -imageInfo.hotspot.x
34 y: -imageInfo.hotspot.y
35 y: -imageInfo.hotspot.y
35− source: "image://cursor/" + mousePointer.themeName + "/" + mousePointer.cursorName
36+ source: imageInfo.imageSource
36
37
37 interpolate: false
38 interpolate: false
38
39
@@ -53,7 +54,9 @@ MousePointer {
53 sourceComponent: Image {
54 sourceComponent: Image {
54 x: -imageInfo.hotspot.x
55 x: -imageInfo.hotspot.x
55 y: -imageInfo.hotspot.y
56 y: -imageInfo.hotspot.y
56− source: "image://cursor/" + mousePointer.themeName + "/" + mousePointer.cursorName
57+ source: imageInfo.imageSource
58+ width: sourceSize.width
59+ height: sourceSize.height
57 }
60 }
58 }
61 }
59}
62}
plugins/Cursor/CursorImageInfo.cpp+21−1
@@ -28,6 +28,15 @@ void CursorImageInfo::setCursorName(const QString &cursorName)
28 update();
28 update();
29 Q_EMIT cursorNameChanged();
29 Q_EMIT cursorNameChanged();
30 }
30 }
31+
32+}
33+void CursorImageInfo::setCursorHeight(qreal cursorHeight)
34+{
35+ if (cursorHeight != m_cursorHeight) {
36+ m_cursorHeight = cursorHeight;
37+ update();
38+ Q_EMIT cursorHeightChanged();
39+ }
31}
40}
32
41
33void CursorImageInfo::setThemeName(const QString &themeName)
42void CursorImageInfo::setThemeName(const QString &themeName)
@@ -41,13 +50,14 @@ void CursorImageInfo::setThemeName(const QString &themeName)
41
50
42void CursorImageInfo::update()
51void CursorImageInfo::update()
43{
52{
44− m_cursorImage = CursorImageProvider::instance()->fetchCursor(m_themeName, m_cursorName);
53+ m_cursorImage = CursorImageProvider::instance()->fetchCursor(m_themeName, m_cursorName, (int) m_cursorHeight);
45
54
46 Q_EMIT hotspotChanged();
55 Q_EMIT hotspotChanged();
47 Q_EMIT frameWidthChanged();
56 Q_EMIT frameWidthChanged();
48 Q_EMIT frameHeightChanged();
57 Q_EMIT frameHeightChanged();
49 Q_EMIT frameCountChanged();
58 Q_EMIT frameCountChanged();
50 Q_EMIT frameDurationChanged();
59 Q_EMIT frameDurationChanged();
60+ Q_EMIT imageSourceChanged();
51}
61}
52
62
53QPoint CursorImageInfo::hotspot() const
63QPoint CursorImageInfo::hotspot() const
@@ -94,3 +104,13 @@ int CursorImageInfo::frameDuration() const
94 return 0;
104 return 0;
95 }
105 }
96}
106}
107+
108+QUrl CursorImageInfo::imageSource() const
109+{
110+ auto urlString = QString("image://cursor/%1/%2/%3")
111+ .arg(m_themeName)
112+ .arg(m_cursorName)
113+ .arg(m_cursorHeight);
114+
115+ return QUrl(urlString);
116+}
plugins/Cursor/CursorImageInfo.h+10
@@ -21,6 +21,7 @@
21
21
22#include <QObject>
22#include <QObject>
23#include <QString>
23#include <QString>
24+#include <QUrl>
24
25
25class CursorImageInfo : public QObject
26class CursorImageInfo : public QObject
26{
27{
@@ -28,12 +29,14 @@ class CursorImageInfo : public QObject
28
29
29 Q_PROPERTY(QString themeName READ themeName WRITE setThemeName NOTIFY themeNameChanged)
30 Q_PROPERTY(QString themeName READ themeName WRITE setThemeName NOTIFY themeNameChanged)
30 Q_PROPERTY(QString cursorName READ cursorName WRITE setCursorName NOTIFY cursorNameChanged)
31 Q_PROPERTY(QString cursorName READ cursorName WRITE setCursorName NOTIFY cursorNameChanged)
32+ Q_PROPERTY(qreal cursorHeight READ cursorHeight WRITE setCursorHeight NOTIFY cursorHeightChanged)
31
33
32 Q_PROPERTY(QPoint hotspot READ hotspot NOTIFY hotspotChanged)
34 Q_PROPERTY(QPoint hotspot READ hotspot NOTIFY hotspotChanged)
33 Q_PROPERTY(qreal frameWidth READ frameWidth NOTIFY frameWidthChanged)
35 Q_PROPERTY(qreal frameWidth READ frameWidth NOTIFY frameWidthChanged)
34 Q_PROPERTY(qreal frameHeight READ frameHeight NOTIFY frameHeightChanged)
36 Q_PROPERTY(qreal frameHeight READ frameHeight NOTIFY frameHeightChanged)
35 Q_PROPERTY(int frameCount READ frameCount NOTIFY frameCountChanged)
37 Q_PROPERTY(int frameCount READ frameCount NOTIFY frameCountChanged)
36 Q_PROPERTY(int frameDuration READ frameDuration NOTIFY frameDurationChanged)
38 Q_PROPERTY(int frameDuration READ frameDuration NOTIFY frameDurationChanged)
39+ Q_PROPERTY(QUrl imageSource READ imageSource NOTIFY imageSourceChanged)
37
40
38public:
41public:
39 CursorImageInfo(QObject *parent = nullptr);
42 CursorImageInfo(QObject *parent = nullptr);
@@ -44,20 +47,26 @@ public:
44 QString cursorName() const { return m_cursorName; }
47 QString cursorName() const { return m_cursorName; }
45 void setCursorName(const QString &);
48 void setCursorName(const QString &);
46
49
50+ qreal cursorHeight() const { return m_cursorHeight; }
51+ void setCursorHeight(qreal);
52+
47 QPoint hotspot() const;
53 QPoint hotspot() const;
48 qreal frameWidth() const;
54 qreal frameWidth() const;
49 qreal frameHeight() const;
55 qreal frameHeight() const;
50 int frameCount() const;
56 int frameCount() const;
51 int frameDuration() const;
57 int frameDuration() const;
58+ QUrl imageSource() const;
52
59
53Q_SIGNALS:
60Q_SIGNALS:
54 void themeNameChanged();
61 void themeNameChanged();
55 void cursorNameChanged();
62 void cursorNameChanged();
63+ void cursorHeightChanged();
56 void hotspotChanged();
64 void hotspotChanged();
57 void frameWidthChanged();
65 void frameWidthChanged();
58 void frameHeightChanged();
66 void frameHeightChanged();
59 void frameCountChanged();
67 void frameCountChanged();
60 void frameDurationChanged();
68 void frameDurationChanged();
69+ void imageSourceChanged();
61
70
62private Q_SLOTS:
71private Q_SLOTS:
63 void update();
72 void update();
@@ -65,6 +74,7 @@ private Q_SLOTS:
65private:
74private:
66 QString m_themeName;
75 QString m_themeName;
67 QString m_cursorName;
76 QString m_cursorName;
77+ qreal m_cursorHeight{0};
68
78
69 CursorImage *m_cursorImage{nullptr};
79 CursorImage *m_cursorImage{nullptr};
70};
80};
plugins/Cursor/CursorImageProvider.cpp+33−21
@@ -27,7 +27,7 @@ CursorImageProvider *CursorImageProvider::m_instance = nullptr;
27/////
27/////
28// BuiltInCursorImage
28// BuiltInCursorImage
29
29
30−BuiltInCursorImage::BuiltInCursorImage()
30+BuiltInCursorImage::BuiltInCursorImage(int cursorHeight)
31{
31{
32 const char *svgString =
32 const char *svgString =
33 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"
33 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"
@@ -42,12 +42,14 @@ BuiltInCursorImage::BuiltInCursorImage()
42 " d=\"M 20.504,50.94931 460.42533,518.14486 266.47603,515.61948 366.48114,719.16522 274.05218,770.68296 172.53185,559.56112 20.504,716.13476 Z\" />"
42 " d=\"M 20.504,50.94931 460.42533,518.14486 266.47603,515.61948 366.48114,719.16522 274.05218,770.68296 172.53185,559.56112 20.504,716.13476 Z\" />"
43 "</svg>";
43 "</svg>";
44
44
45+ // NB: Original image dimension is 20x32. Ensure aspect ratio is kept
45− qimage = QImage(20, 32, QImage::Format_ARGB32);
46+ qimage = QImage((20./32.)*cursorHeight, cursorHeight, QImage::Format_ARGB32);
46 qimage.fill(Qt::transparent);
47 qimage.fill(Qt::transparent);
47 QPainter imagePainter(&qimage);
48 QPainter imagePainter(&qimage);
48
49
49 frameWidth = qimage.width();
50 frameWidth = qimage.width();
50 frameHeight = qimage.height();
51 frameHeight = qimage.height();
52+ requestedHeight = cursorHeight;
51
53
52 QSvgRenderer *svgRenderer = new QSvgRenderer(QByteArray(svgString));
54 QSvgRenderer *svgRenderer = new QSvgRenderer(QByteArray(svgString));
53 svgRenderer->render(&imagePainter);
55 svgRenderer->render(&imagePainter);
@@ -81,11 +83,9 @@ CustomCursorImage::CustomCursorImage(const QCursor &cursor)
81/////
83/////
82// XCursorImage
84// XCursorImage
83
85
84−XCursorImage::XCursorImage(const QString &theme, const QString &file)
86+XCursorImage::XCursorImage(const QString &theme, const QString &file, int preferredCursorHeightPx)
85{
87{
86− // TODO: Consider grid unit value
87− // Hardcoding to a medium size for now
88− int preferredCursorHeightPx = 32;
88+ requestedHeight = preferredCursorHeightPx;
89
89
90 XcursorImages *xcursorImages = XcursorLibraryLoadImages(QFile::encodeName(file), QFile::encodeName(theme),
90 XcursorImages *xcursorImages = XcursorLibraryLoadImages(QFile::encodeName(file), QFile::encodeName(theme),
91 preferredCursorHeightPx);
91 preferredCursorHeightPx);
@@ -96,7 +96,7 @@ XCursorImage::XCursorImage(const QString &theme, const QString &file)
96 frameCount = xcursorImages->nimage;
96 frameCount = xcursorImages->nimage;
97
97
98 for (int i = 0; i < xcursorImages->nimage; ++i) {
98 for (int i = 0; i < xcursorImages->nimage; ++i) {
99− XcursorImage *xcursorImage = xcursorImages->images[0];
99+ XcursorImage *xcursorImage = xcursorImages->images[i];
100 if (frameWidth < (int)xcursorImage->width) {
100 if (frameWidth < (int)xcursorImage->width) {
101 frameWidth = xcursorImage->width;
101 frameWidth = xcursorImage->width;
102 }
102 }
@@ -235,34 +235,43 @@ CursorImageProvider::~CursorImageProvider()
235 m_instance = nullptr;
235 m_instance = nullptr;
236}
236}
237
237
238−QImage CursorImageProvider::requestImage(const QString &cursorThemeAndName, QSize *size, const QSize & /*requestedSize*/)
238+QImage CursorImageProvider::requestImage(const QString &cursorThemeAndNameAndHeight, QSize *size, const QSize & /*requestedSize*/)
239{
239{
240− CursorImage *cursorImage = fetchCursor(cursorThemeAndName);
240+ CursorImage *cursorImage = fetchCursor(cursorThemeAndNameAndHeight);
241 size->setWidth(cursorImage->qimage.width());
241 size->setWidth(cursorImage->qimage.width());
242 size->setHeight(cursorImage->qimage.height());
242 size->setHeight(cursorImage->qimage.height());
243
243
244 return cursorImage->qimage;
244 return cursorImage->qimage;
245}
245}
246
246
247−CursorImage *CursorImageProvider::fetchCursor(const QString &cursorThemeAndName)
247+CursorImage *CursorImageProvider::fetchCursor(const QString &cursorThemeAndNameAndHeight)
248{
248{
249 QString themeName;
249 QString themeName;
250 QString cursorName;
250 QString cursorName;
251+ int cursorHeight;
251 {
252 {
252− QStringList themeAndNameList = cursorThemeAndName.split('/');
253+ QStringList themeAndNameList = cursorThemeAndNameAndHeight.split('/');
253− if (themeAndNameList.size() != 2) {
254+ if (themeAndNameList.size() != 3) {
254 return nullptr;
255 return nullptr;
255 }
256 }
256 themeName = themeAndNameList[0];
257 themeName = themeAndNameList[0];
257 cursorName = themeAndNameList[1];
258 cursorName = themeAndNameList[1];
259+
260+ bool ok;
261+ cursorHeight = themeAndNameList[2].toInt(&ok);
262+ if (!ok) {
263+ cursorHeight = 32;
264+ qWarning().nospace() << "CursorImageProvider: invalid cursor height ("<<themeAndNameList[2]<<")."
265+ " Falling back to "<<cursorHeight<<" pixels";
266+ }
258 }
267 }
259
268
260− return fetchCursor(themeName, cursorName);
269+ return fetchCursor(themeName, cursorName, cursorHeight);
261}
270}
262
271
263−CursorImage *CursorImageProvider::fetchCursor(const QString &themeName, const QString &cursorName)
272+CursorImage *CursorImageProvider::fetchCursor(const QString &themeName, const QString &cursorName, int cursorHeight)
264{
273{
265− CursorImage *cursorImage = fetchCursorHelper(themeName, cursorName);
274+ CursorImage *cursorImage = fetchCursorHelper(themeName, cursorName, cursorHeight);
266
275
267 // Try some fallbacks
276 // Try some fallbacks
268 if (cursorImage->qimage.isNull()) {
277 if (cursorImage->qimage.isNull()) {
@@ -271,7 +280,7 @@ CursorImage *CursorImageProvider::fetchCursor(const QString &themeName, const QS
271 int i = 0;
280 int i = 0;
272 while (cursorImage->qimage.isNull() && i < fallbackNames.count()) {
281 while (cursorImage->qimage.isNull() && i < fallbackNames.count()) {
273 qDebug().nospace() << "CursorImageProvider: "<< cursorName <<" not found, trying " << fallbackNames.at(i);
282 qDebug().nospace() << "CursorImageProvider: "<< cursorName <<" not found, trying " << fallbackNames.at(i);
274− cursorImage = fetchCursorHelper(themeName, fallbackNames.at(i));
283+ cursorImage = fetchCursorHelper(themeName, fallbackNames.at(i), cursorHeight);
275 ++i;
284 ++i;
276 }
285 }
277 }
286 }
@@ -281,14 +290,14 @@ CursorImage *CursorImageProvider::fetchCursor(const QString &themeName, const QS
281 if (cursorImage->qimage.isNull() && cursorName != QLatin1String("left_ptr")) {
290 if (cursorImage->qimage.isNull() && cursorName != QLatin1String("left_ptr")) {
282 qDebug() << "CursorImageProvider:" << cursorName
291 qDebug() << "CursorImageProvider:" << cursorName
283 << "not found (nor its fallbacks, if any). Going for \"left_ptr\" as a last resort.";
292 << "not found (nor its fallbacks, if any). Going for \"left_ptr\" as a last resort.";
284− cursorImage = fetchCursorHelper(themeName, QStringLiteral("left_ptr"));
293+ cursorImage = fetchCursorHelper(themeName, QStringLiteral("left_ptr"), cursorHeight);
285 }
294 }
286
295
287 if (cursorImage->qimage.isNull()) {
296 if (cursorImage->qimage.isNull()) {
288 // finally, go for the built-in cursor
297 // finally, go for the built-in cursor
289 qWarning() << "CursorImageProvider: couldn't find any cursors. Using the built-in one";
298 qWarning() << "CursorImageProvider: couldn't find any cursors. Using the built-in one";
290− if (!m_builtInCursorImage) {
299+ if (!m_builtInCursorImage || m_builtInCursorImage->requestedHeight != cursorHeight) {
291− m_builtInCursorImage.reset(new BuiltInCursorImage);
300+ m_builtInCursorImage.reset(new BuiltInCursorImage(cursorHeight));
292 }
301 }
293 cursorImage = m_builtInCursorImage.data();
302 cursorImage = m_builtInCursorImage.data();
294 }
303 }
@@ -296,7 +305,7 @@ CursorImage *CursorImageProvider::fetchCursor(const QString &themeName, const QS
296 return cursorImage;
305 return cursorImage;
297}
306}
298
307
299−CursorImage *CursorImageProvider::fetchCursorHelper(const QString &themeName, const QString &cursorName)
308+CursorImage *CursorImageProvider::fetchCursorHelper(const QString &themeName, const QString &cursorName, int cursorHeight)
300{
309{
301 if (cursorName == QLatin1String("blank")) {
310 if (cursorName == QLatin1String("blank")) {
302 return &m_blankCursorImage;
311 return &m_blankCursorImage;
@@ -306,7 +315,10 @@ CursorImage *CursorImageProvider::fetchCursorHelper(const QString &themeName, co
306 QMap<QString, CursorImage*> &themeCursors = m_cursors[themeName];
315 QMap<QString, CursorImage*> &themeCursors = m_cursors[themeName];
307
316
308 if (!themeCursors.contains(cursorName)) {
317 if (!themeCursors.contains(cursorName)) {
309− themeCursors[cursorName] = new XCursorImage(themeName, cursorName);
318+ themeCursors[cursorName] = new XCursorImage(themeName, cursorName, cursorHeight);
319+ } else if (themeCursors[cursorName]->requestedHeight != cursorHeight) {
320+ delete themeCursors.take(cursorName);
321+ themeCursors[cursorName] = new XCursorImage(themeName, cursorName, cursorHeight);
310 }
322 }
311
323
312 return themeCursors[cursorName];
324 return themeCursors[cursorName];
plugins/Cursor/CursorImageProvider.h+9−6
@@ -42,17 +42,20 @@ public:
42 int frameHeight{0};
42 int frameHeight{0};
43 int frameCount{1};
43 int frameCount{1};
44 int frameDuration{40};
44 int frameDuration{40};
45+
46+ // Requested height when creating this cursor.
47+ int requestedHeight{0};
45};
48};
46
49
47class XCursorImage : public CursorImage {
50class XCursorImage : public CursorImage {
48public:
51public:
49− XCursorImage(const QString &theme, const QString &file);
52+ XCursorImage(const QString &theme, const QString &file, int preferredCursorHeightPx);
50 virtual ~XCursorImage();
53 virtual ~XCursorImage();
51};
54};
52
55
53class BuiltInCursorImage : public CursorImage {
56class BuiltInCursorImage : public CursorImage {
54public:
57public:
55− BuiltInCursorImage();
58+ BuiltInCursorImage(int cursorHeight);
56};
59};
57
60
58class BlankCursorImage : public CursorImage {
61class BlankCursorImage : public CursorImage {
@@ -74,15 +77,15 @@ public:
74 static CursorImageProvider *instance() { return m_instance; }
77 static CursorImageProvider *instance() { return m_instance; }
75
78
76
79
77− QImage requestImage(const QString &cursorName, QSize *size, const QSize &requestedSize) override;
80+ QImage requestImage(const QString &cursorThemeAndNameAndHeight, QSize *size, const QSize &requestedSize) override;
78
81
79− CursorImage *fetchCursor(const QString &themeName, const QString &cursorName);
82+ CursorImage *fetchCursor(const QString &themeName, const QString &cursorName, int cursorHeight);
80
83
81 void setCustomCursor(const QCursor &customCursor);
84 void setCustomCursor(const QCursor &customCursor);
82
85
83private:
86private:
84− CursorImage *fetchCursor(const QString &cursorThemeAndName);
87+ CursorImage *fetchCursor(const QString &cursorThemeAndNameAndHeight);
85− CursorImage *fetchCursorHelper(const QString &themeName, const QString &cursorName);
88+ CursorImage *fetchCursorHelper(const QString &themeName, const QString &cursorName, int cursorHeight);
86
89
87 // themeName -> (cursorName -> cursorImage)
90 // themeName -> (cursorName -> cursorImage)
88 // TODO: discard old, unused, cursors
91 // TODO: discard old, unused, cursors
plugins/Cursor/MousePointer.cpp+90−13
@@ -22,6 +22,7 @@
22
22
23#include <QQuickWindow>
23#include <QQuickWindow>
24#include <QGuiApplication>
24#include <QGuiApplication>
25+#include <QtMath>
25
26
26#include <qpa/qwindowsysteminterface.h>
27#include <qpa/qwindowsysteminterface.h>
27
28
@@ -49,28 +50,77 @@ void MousePointer::handleMouseEvent(ulong timestamp, QPointF movement, Qt::Mouse
49 m_accumulatedMovement -= appliedMovement;
50 m_accumulatedMovement -= appliedMovement;
50
51
51 qreal newX = x() + appliedMovement.x();
52 qreal newX = x() + appliedMovement.x();
52− if (newX < 0) {
53+ qreal newY = y() + appliedMovement.y();
54+ const qreal sceneWidth = parentItem()->width();
55+ const qreal sceneHeight = parentItem()->height();
56+
57+ if (newX <= 0 && newY < m_topBoundaryOffset) { // top left corner
58+ const auto distance = qSqrt(qPow(newX, 2) + qPow(newY-m_topBoundaryOffset, 2));
59+ Q_EMIT pushedTopLeftCorner(qAbs(distance), buttons);
60+ m_pushing = true;
61+ } else if (newX >= sceneWidth-1 && newY < m_topBoundaryOffset) { // top right corner
62+ const auto distance = qSqrt(qPow(newX-sceneWidth, 2) + qPow(newY-m_topBoundaryOffset, 2));
63+ Q_EMIT pushedTopRightCorner(qAbs(distance), buttons);
64+ m_pushing = true;
65+ } else if (newX < 0 && newY >= sceneHeight-1) { // bottom left corner
66+ const auto distance = qSqrt(qPow(newX, 2) + qPow(newY-sceneHeight, 2));
67+ Q_EMIT pushedBottomLeftCorner(qAbs(distance), buttons);
68+ m_pushing = true;
69+ } else if (newX >= sceneWidth-1 && newY >= sceneHeight-1) { // bottom right corner
70+ const auto distance = qSqrt(qPow(newX-sceneWidth, 2) + qPow(newY-sceneHeight, 2));
71+ Q_EMIT pushedBottomRightCorner(qAbs(distance), buttons);
72+ m_pushing = true;
73+ } else if (newX < 0) { // left edge
53 Q_EMIT pushedLeftBoundary(qAbs(newX), buttons);
74 Q_EMIT pushedLeftBoundary(qAbs(newX), buttons);
54− newX = 0;
75+ m_pushing = true;
55− } else if (newX >= parentItem()->width()) {
76+ } else if (newX >= sceneWidth) { // right edge
56− Q_EMIT pushedRightBoundary(newX - (parentItem()->width() - 1), buttons);
77+ Q_EMIT pushedRightBoundary(newX - (sceneWidth - 1), buttons);
57− newX = parentItem()->width() - 1;
78+ m_pushing = true;
79+ } else if (newY < m_topBoundaryOffset) { // top edge
80+ Q_EMIT pushedTopBoundary(qAbs(newY - m_topBoundaryOffset), buttons);
81+ m_pushing = true;
82+ } else if (Q_LIKELY(newX > 0 && newX < sceneWidth-1 && newY > 0 && newY < sceneHeight-1)) { // normal pos, not pushing
83+ if (m_pushing) {
84+ Q_EMIT pushStopped();
85+ m_pushing = false;
86+ }
58 }
87 }
59− setX(newX);
60
88
61− qreal newY = y() + appliedMovement.y();
89+ applyItemConfinement(newX, newY);
62− if (newY < 0) {
90+
63− newY = 0;
91+ setX(qBound(0.0, newX, sceneWidth - 1));
64− } else if (newY >= parentItem()->height()) {
65− newY = parentItem()->height() - 1;
66− }
67− setY(newY);
92+ setY(qBound(0.0, newY, sceneHeight - 1));
68
93
69 QPointF scenePosition = mapToItem(nullptr, QPointF(0, 0));
94 QPointF scenePosition = mapToItem(nullptr, QPointF(0, 0));
70 QWindowSystemInterface::handleMouseEvent(window(), timestamp, scenePosition /*local*/, scenePosition /*global*/,
95 QWindowSystemInterface::handleMouseEvent(window(), timestamp, scenePosition /*local*/, scenePosition /*global*/,
71 buttons, modifiers);
96 buttons, modifiers);
72}
97}
73
98
99+void MousePointer::applyItemConfinement(qreal &newX, qreal &newY)
100+{
101+ Q_ASSERT(parentItem() != nullptr);
102+
103+ if (m_confiningItem.isNull()) {
104+ return;
105+ }
106+
107+ QRectF confiningItemGeometry(0, 0, m_confiningItem->width(), m_confiningItem->height());
108+
109+ QRectF confiningRect = m_confiningItem->mapRectToItem(parentItem(), confiningItemGeometry);
110+
111+ if (newX < confiningRect.x()) {
112+ newX = confiningRect.x();
113+ } else if (newX > confiningRect.right()) {
114+ newX = confiningRect.right();
115+ }
116+
117+ if (newY < confiningRect.y()) {
118+ newY = confiningRect.y();
119+ } else if (newY > confiningRect.bottom()) {
120+ newY = confiningRect.bottom();
121+ }
122+}
123+
74void MousePointer::handleWheelEvent(ulong timestamp, QPoint angleDelta, Qt::KeyboardModifiers modifiers)
124void MousePointer::handleWheelEvent(ulong timestamp, QPoint angleDelta, Qt::KeyboardModifiers modifiers)
75{
125{
76 if (!parentItem()) {
126 if (!parentItem()) {
@@ -82,6 +132,20 @@ void MousePointer::handleWheelEvent(ulong timestamp, QPoint angleDelta, Qt::Keyb
82 QPoint() /* pixelDelta */, angleDelta, modifiers, Qt::ScrollUpdate);
132 QPoint() /* pixelDelta */, angleDelta, modifiers, Qt::ScrollUpdate);
83}
133}
84
134
135+int MousePointer::topBoundaryOffset() const
136+{
137+ return m_topBoundaryOffset;
138+}
139+
140+void MousePointer::setTopBoundaryOffset(int topBoundaryOffset)
141+{
142+ if (m_topBoundaryOffset == topBoundaryOffset)
143+ return;
144+
145+ m_topBoundaryOffset = topBoundaryOffset;
146+ Q_EMIT topBoundaryOffsetChanged(topBoundaryOffset);
147+}
148+
85void MousePointer::itemChange(ItemChange change, const ItemChangeData &value)
149void MousePointer::itemChange(ItemChange change, const ItemChangeData &value)
86{
150{
87 if (change == ItemSceneChange) {
151 if (change == ItemSceneChange) {
@@ -156,3 +220,16 @@ void MousePointer::setCustomCursor(const QCursor &customCursor)
156{
220{
157 CursorImageProvider::instance()->setCustomCursor(customCursor);
221 CursorImageProvider::instance()->setCustomCursor(customCursor);
158}
222}
223+
224+QQuickItem* MousePointer::confiningItem() const
225+{
226+ return m_confiningItem.data();
227+}
228+
229+void MousePointer::setConfiningItem(QQuickItem *item)
230+{
231+ if (item != m_confiningItem) {
232+ m_confiningItem = item;
233+ Q_EMIT confiningItemChanged();
234+ }
235+}
plugins/Cursor/MousePointer.h+23
@@ -27,6 +27,8 @@
27
27
28class MousePointer : public MirMousePointerInterface {
28class MousePointer : public MirMousePointerInterface {
29 Q_OBJECT
29 Q_OBJECT
30+ Q_PROPERTY(QQuickItem* confiningItem READ confiningItem WRITE setConfiningItem NOTIFY confiningItemChanged)
31+ Q_PROPERTY(int topBoundaryOffset READ topBoundaryOffset WRITE setTopBoundaryOffset NOTIFY topBoundaryOffsetChanged)
30public:
32public:
31 MousePointer(QQuickItem *parent = nullptr);
33 MousePointer(QQuickItem *parent = nullptr);
32
34
@@ -38,6 +40,12 @@ public:
38
40
39 void setCustomCursor(const QCursor &) override;
41 void setCustomCursor(const QCursor &) override;
40
42
43+ QQuickItem* confiningItem() const;
44+ void setConfiningItem(QQuickItem*);
45+
46+ int topBoundaryOffset() const;
47+ void setTopBoundaryOffset(int topBoundaryOffset);
48+
41public Q_SLOTS:
49public Q_SLOTS:
42 void handleMouseEvent(ulong timestamp, QPointF movement, Qt::MouseButtons buttons,
50 void handleMouseEvent(ulong timestamp, QPointF movement, Qt::MouseButtons buttons,
43 Qt::KeyboardModifiers modifiers) override;
51 Qt::KeyboardModifiers modifiers) override;
@@ -46,7 +54,16 @@ public Q_SLOTS:
46Q_SIGNALS:
54Q_SIGNALS:
47 void pushedLeftBoundary(qreal amount, Qt::MouseButtons buttons);
55 void pushedLeftBoundary(qreal amount, Qt::MouseButtons buttons);
48 void pushedRightBoundary(qreal amount, Qt::MouseButtons buttons);
56 void pushedRightBoundary(qreal amount, Qt::MouseButtons buttons);
57+ void pushedTopBoundary(qreal amount, Qt::MouseButtons buttons);
58+ void pushedTopLeftCorner(qreal amount, Qt::MouseButtons buttons);
59+ void pushedTopRightCorner(qreal amount, Qt::MouseButtons buttons);
60+ void pushedBottomLeftCorner(qreal amount, Qt::MouseButtons buttons);
61+ void pushedBottomRightCorner(qreal amount, Qt::MouseButtons buttons);
62+ void pushStopped();
49 void mouseMoved();
63 void mouseMoved();
64+ void confiningItemChanged();
65+
66+ void topBoundaryOffsetChanged(int topBoundaryOffset);
50
67
51protected:
68protected:
52 void itemChange(ItemChange change, const ItemChangeData &value) override;
69 void itemChange(ItemChange change, const ItemChangeData &value) override;
@@ -56,6 +73,7 @@ private Q_SLOTS:
56
73
57private:
74private:
58 void registerWindow(QWindow *window);
75 void registerWindow(QWindow *window);
76+ void applyItemConfinement(qreal &newX, qreal &newY);
59
77
60 QPointer<QWindow> m_registeredWindow;
78 QPointer<QWindow> m_registeredWindow;
61 QPointer<QScreen> m_registeredScreen;
79 QPointer<QScreen> m_registeredScreen;
@@ -64,6 +82,11 @@ private:
64
82
65 // Accumulated, unapplied, mouse movement.
83 // Accumulated, unapplied, mouse movement.
66 QPointF m_accumulatedMovement;
84 QPointF m_accumulatedMovement;
85+
86+ QPointer<QQuickItem> m_confiningItem;
87+
88+ int m_topBoundaryOffset{0};
89+ bool m_pushing{false};
67};
90};
68
91
69#endif // MOUSEPOINTER_H
92#endif // MOUSEPOINTER_H
plugins/Dash/CardAttributes.qml+1−1
@@ -62,7 +62,7 @@ GridLayout {
62 elide: Text.ElideRight
62 elide: Text.ElideRight
63 maximumLineCount: 1
63 maximumLineCount: 1
64 font.weight: "style" in modelData && modelData["style"] === "highlighted" ? Font.Bold : Font.Light
64 font.weight: "style" in modelData && modelData["style"] === "highlighted" ? Font.Bold : Font.Light
65− fontSize: "small"
65+ fontSize: "x-small"
66 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale)
66 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale)
67 color: grid.color
67 color: grid.color
68 }
68 }
plugins/Dash/CardCreator.js+119−120
@@ -25,10 +25,10 @@ var kBackgroundLoaderCode = 'Loader {\n\
25 objectName: "backgroundLoader"; \n\
25 objectName: "backgroundLoader"; \n\
26 anchors.fill: parent; \n\
26 anchors.fill: parent; \n\
27 asynchronous: %3; \n\
27 asynchronous: %3; \n\
28− visible: status == Loader.Ready; \n\
28+ visible: status === Loader.Ready; \n\
29 sourceComponent: UbuntuShape { \n\
29 sourceComponent: UbuntuShape { \n\
30 objectName: "background"; \n\
30 objectName: "background"; \n\
31− radius: "medium"; \n\
31+ radius: "small"; \n\
32 aspect: { \n\
32 aspect: { \n\
33 switch (root.backgroundShapeStyle) { \n\
33 switch (root.backgroundShapeStyle) { \n\
34 case "inset": return UbuntuShape.Inset; \n\
34 case "inset": return UbuntuShape.Inset; \n\
@@ -64,7 +64,7 @@ var kArtUbuntuShapeCode = 'UbuntuShape { \n\
64 anchors.fill: parent; \n\
64 anchors.fill: parent; \n\
65 source: artImage; \n\
65 source: artImage; \n\
66 sourceFillMode: UbuntuShape.PreserveAspectCrop; \n\
66 sourceFillMode: UbuntuShape.PreserveAspectCrop; \n\
67− radius: "medium"; \n\
67+ radius: "small"; \n\
68 aspect: %1; \n\
68 aspect: %1; \n\
69 }';
69 }';
70
70
@@ -75,7 +75,7 @@ var kArtProportionalShapeCode = 'ProportionalShape { \n\
75 aspect: UbuntuShape.DropShadow; \n\
75 aspect: UbuntuShape.DropShadow; \n\
76 }';
76 }';
77
77
78−// %1 is used as anchors of artShapeHolder
78+// %1 is used as anchors of artShapeLoader
79// %2 is used as image width
79// %2 is used as image width
80// %3 is used as image height
80// %3 is used as image height
81// %4 is whether the image should be visible
81// %4 is whether the image should be visible
@@ -83,42 +83,39 @@ var kArtProportionalShapeCode = 'ProportionalShape { \n\
83// %6 is the shape code we want to use
83// %6 is the shape code we want to use
84// %7 is injected as code to artImage
84// %7 is injected as code to artImage
85// %8 is used as image fallback
85// %8 is used as image fallback
86−var kArtShapeHolderCode = 'Item { \n\
86+var kArtShapeHolderCode = 'Loader { \n\
87− id: artShapeHolder; \n\
87+ id: artShapeLoader; \n\
88 height: root.fixedArtShapeSize.height; \n\
88 height: root.fixedArtShapeSize.height; \n\
89 width: root.fixedArtShapeSize.width; \n\
89 width: root.fixedArtShapeSize.width; \n\
90 anchors { %1 } \n\
90 anchors { %1 } \n\
91− Loader { \n\
92− id: artShapeLoader; \n\
93− objectName: "artShapeLoader"; \n\
91+ objectName: "artShapeLoader"; \n\
94− readonly property string cardArt: cardData && cardData["art"] || %8; \n\
92+ readonly property string cardArt: cardData && cardData["art"] || %8; \n\
95− onCardArtChanged: { if (item) { item.image.source = cardArt; } } \n\
93+ onCardArtChanged: { if (item) { item.image.source = cardArt; } } \n\
96− active: cardArt != ""; \n\
94+ active: cardArt != ""; \n\
97− asynchronous: %5; \n\
95+ asynchronous: %5; \n\
98− visible: status == Loader.Ready; \n\
96+ visible: status === Loader.Ready; \n\
99− sourceComponent: Item { \n\
97+ sourceComponent: Item { \n\
100− id: artShape; \n\
98+ id: artShape; \n\
101− objectName: "artShape"; \n\
99+ objectName: "artShape"; \n\
102− visible: image.status == Image.Ready; \n\
100+ visible: image.status === Image.Ready; \n\
103− readonly property alias image: artImage; \n\
101+ readonly property alias image: artImage; \n\
104− %6 \n\
102+ %6 \n\
105− width: root.fixedArtShapeSize.width; \n\
103+ width: root.fixedArtShapeSize.width; \n\
106− height: root.fixedArtShapeSize.height; \n\
104+ height: root.fixedArtShapeSize.height; \n\
107− CroppedImageMinimumSourceSize { \n\
105+ CroppedImageMinimumSourceSize { \n\
108− id: artImage; \n\
106+ id: artImage; \n\
109− objectName: "artImage"; \n\
107+ objectName: "artImage"; \n\
110− source: artShapeLoader.cardArt; \n\
108+ source: artShapeLoader.cardArt; \n\
111− asynchronous: %5; \n\
109+ asynchronous: %5; \n\
112− visible: %4; \n\
110+ visible: %4; \n\
113− width: %2; \n\
111+ width: %2; \n\
114− height: %3; \n\
112+ height: %3; \n\
115− %7 \n\
113+ %7 \n\
116− } \n\
117 } \n\
114 } \n\
118 } \n\
115 } \n\
119 }\n';
116 }\n';
120
117
121−// %1 is used as anchors of artShapeHolder
118+// %1 is used as anchors of artShapeLoader
122// %2 is used as image width
119// %2 is used as image width
123// %3 is used as image height
120// %3 is used as image height
124// %4 is whether the image should be visible
121// %4 is whether the image should be visible
@@ -126,37 +123,32 @@ var kArtShapeHolderCode = 'Item { \n\
126// %6 is the shape code we want to use
123// %6 is the shape code we want to use
127// %7 is injected as code to artImage
124// %7 is injected as code to artImage
128// %8 is used as image fallback
125// %8 is used as image fallback
129−var kArtShapeHolderCodeCardToolCard = 'Item { \n\
126+var kArtShapeHolderCodeCardToolCard = 'Loader { \n\
130− id: artShapeHolder; \n\
131− height: artShapeLoader.height; \n\
132− width: artShapeLoader.width; \n\
127+ id: artShapeLoader; \n\
133 anchors { %1 } \n\
128 anchors { %1 } \n\
134− Loader { \n\
135− id: artShapeLoader; \n\
136− objectName: "artShapeLoader"; \n\
129+ objectName: "artShapeLoader"; \n\
137− readonly property string cardArt: cardData && cardData["art"] || %8; \n\
130+ readonly property string cardArt: cardData && cardData["art"] || %8; \n\
138− onCardArtChanged: { if (item) { item.image.source = cardArt; } } \n\
131+ onCardArtChanged: { if (item) { item.image.source = cardArt; } } \n\
139− active: cardArt != ""; \n\
132+ active: cardArt != ""; \n\
140− asynchronous: %5; \n\
133+ asynchronous: %5; \n\
141− visible: status == Loader.Ready; \n\
134+ visible: status === Loader.Ready; \n\
142− sourceComponent: Item { \n\
135+ sourceComponent: Item { \n\
143− id: artShape; \n\
136+ id: artShape; \n\
144− objectName: "artShape"; \n\
137+ objectName: "artShape"; \n\
145− visible: image.status == Image.Ready; \n\
138+ visible: image.status === Image.Ready; \n\
146− readonly property alias image: artImage; \n\
139+ readonly property alias image: artImage; \n\
147− %6 \n\
140+ %6 \n\
148− width: image.status !== Image.Ready ? 0 : image.width; \n\
141+ width: image.status !== Image.Ready ? 0 : image.width; \n\
149− height: image.status !== Image.Ready ? 0 : image.height; \n\
142+ height: image.status !== Image.Ready ? 0 : image.height; \n\
150− CroppedImageMinimumSourceSize { \n\
143+ CroppedImageMinimumSourceSize { \n\
151− id: artImage; \n\
144+ id: artImage; \n\
152− objectName: "artImage"; \n\
145+ objectName: "artImage"; \n\
153− source: artShapeLoader.cardArt; \n\
146+ source: artShapeLoader.cardArt; \n\
154− asynchronous: %5; \n\
147+ asynchronous: %5; \n\
155− visible: %4; \n\
148+ visible: %4; \n\
156− width: %2; \n\
149+ width: %2; \n\
157− height: %3; \n\
150+ height: %3; \n\
158− %7 \n\
151+ %7 \n\
159− } \n\
160 } \n\
152 } \n\
161 } \n\
153 } \n\
162 }\n';
154 }\n';
@@ -174,7 +166,7 @@ var kAudioButtonCode = 'AbstractButton { \n\
174 UbuntuShape { \n\
166 UbuntuShape { \n\
175 anchors.fill: parent; \n\
167 anchors.fill: parent; \n\
176 visible: parent.pressed; \n\
168 visible: parent.pressed; \n\
177− radius: "medium"; \n\
169+ radius: "small"; \n\
178 } \n\
170 } \n\
179 Rectangle { \n\
171 Rectangle { \n\
180 color: Qt.rgba(0, 0, 0, 0.5); \n\
172 color: Qt.rgba(0, 0, 0, 0.5); \n\
@@ -214,15 +206,15 @@ var kAudioButtonCode = 'AbstractButton { \n\
214var kOverlayLoaderCode = 'Loader { \n\
206var kOverlayLoaderCode = 'Loader { \n\
215 id: overlayLoader; \n\
207 id: overlayLoader; \n\
216 readonly property real overlayHeight: %2 + units.gu(2); \n\
208 readonly property real overlayHeight: %2 + units.gu(2); \n\
217− anchors.fill: artShapeHolder; \n\
209+ anchors.fill: artShapeLoader; \n\
218 active: artShapeLoader.active && artShapeLoader.item && artShapeLoader.item.image.status === Image.Ready || false; \n\
210 active: artShapeLoader.active && artShapeLoader.item && artShapeLoader.item.image.status === Image.Ready || false; \n\
219 asynchronous: %1; \n\
211 asynchronous: %1; \n\
220− visible: showHeader && status == Loader.Ready; \n\
212+ visible: showHeader && status === Loader.Ready; \n\
221 sourceComponent: UbuntuShapeOverlay { \n\
213 sourceComponent: UbuntuShapeOverlay { \n\
222 id: overlay; \n\
214 id: overlay; \n\
223 property real luminance: Style.luminance(overlayColor); \n\
215 property real luminance: Style.luminance(overlayColor); \n\
224 aspect: UbuntuShape.Flat; \n\
216 aspect: UbuntuShape.Flat; \n\
225− radius: "medium"; \n\
217+ radius: "small"; \n\
226 overlayColor: cardData && cardData["overlayColor"] || "#99000000"; \n\
218 overlayColor: cardData && cardData["overlayColor"] || "#99000000"; \n\
227 overlayRect: Qt.rect(0, 1 - overlayLoader.overlayHeight / height, 1, 1); \n\
219 overlayRect: Qt.rect(0, 1 - overlayLoader.overlayHeight / height, 1, 1); \n\
228 } \n\
220 } \n\
@@ -274,10 +266,10 @@ var kMascotShapeLoaderCode = 'Loader { \n\
274 objectName: "mascotShapeLoader"; \n\
266 objectName: "mascotShapeLoader"; \n\
275 asynchronous: %2; \n\
267 asynchronous: %2; \n\
276 active: mascotImage.status === Image.Ready; \n\
268 active: mascotImage.status === Image.Ready; \n\
277− visible: showHeader && active && status == Loader.Ready; \n\
269+ visible: showHeader && active && status === Loader.Ready; \n\
278 width: units.gu(6); \n\
270 width: units.gu(6); \n\
279 height: units.gu(5.625); \n\
271 height: units.gu(5.625); \n\
280− sourceComponent: UbuntuShape { image: mascotImage } \n\
272+ sourceComponent: UbuntuShape { aspect: UbuntuShape.Flat; image: mascotImage } \n\
281 anchors { %1 } \n\
273 anchors { %1 } \n\
282 }\n';
274 }\n';
283
275
@@ -316,7 +308,7 @@ var kTitleLabelCode = 'Label { \n\
316 visible: showHeader %3; \n\
308 visible: showHeader %3; \n\
317 width: %4; \n\
309 width: %4; \n\
318 text: root.title; \n\
310 text: root.title; \n\
319− font.weight: cardData && cardData["subtitle"] ? Font.DemiBold : Font.Normal; \n\
311+ font.weight: Font.Normal; \n\
320 horizontalAlignment: %5; \n\
312 horizontalAlignment: %5; \n\
321 }\n';
313 }\n';
322
314
@@ -339,13 +331,15 @@ var kEmblemIconCode = 'Icon { \n\
339 }\n';
331 }\n';
340
332
341// %1 is used as anchors of touchdown effect
333// %1 is used as anchors of touchdown effect
342−var kTouchdownCode = 'UbuntuShape { \n\
334+var kTouchdownCode = 'Loader { \n\
343− id: touchdown; \n\
335+ active: root.pressed; \n\
344− objectName: "touchdown"; \n\
345 anchors { %1 } \n\
336 anchors { %1 } \n\
346− visible: root.pressed; \n\
337+ sourceComponent: UbuntuShape { \n\
338+ objectName: "touchdown"; \n\
339+ anchors.fill: parent; \n\
347− radius: "medium"; \n\
340+ radius: "small"; \n\
348− borderSource: "radius_pressed.sci" \n\
341+ borderSource: "radius_pressed.sci" \n\
342+ } \n\
349 }\n';
343 }\n';
350
344
351// %1 is used as anchors of subtitleLabel
345// %1 is used as anchors of subtitleLabel
@@ -405,7 +399,8 @@ var kSummaryLabelCode = 'Label { \n\
405 elide: Text.ElideRight; \n\
399 elide: Text.ElideRight; \n\
406 text: cardData && cardData["summary"] || ""; \n\
400 text: cardData && cardData["summary"] || ""; \n\
407 height: text ? implicitHeight : 0; \n\
401 height: text ? implicitHeight : 0; \n\
408− fontSize: "small"; \n\
402+ fontSize: "x-small"; \n\
403+ font.weight: Font.Light; \n\
409 color: %3; \n\
404 color: %3; \n\
410 }\n';
405 }\n';
411
406
@@ -437,7 +432,7 @@ function sanitizeColor(colorString) {
437 return colorString;
432 return colorString;
438}
433}
439
434
440−function cardString(template, components, isCardTool, artShapeStyle) {
435+function cardString(template, components, isCardTool, artShapeStyle, categoryLayout) {
441 var code;
436 var code;
442
437
443 var templateInteractive = (template == null ? true : (template["non-interactive"] !== undefined ? !template["non-interactive"] : true)) ? "true" : "false";
438 var templateInteractive = (template == null ? true : (template["non-interactive"] !== undefined ? !template["non-interactive"] : true)) ? "true" : "false";
@@ -445,7 +440,7 @@ function cardString(template, components, isCardTool, artShapeStyle) {
445 code = 'AbstractButton { \n\
440 code = 'AbstractButton { \n\
446 id: root; \n\
441 id: root; \n\
447 property var cardData; \n\
442 property var cardData; \n\
448− property string backgroundShapeStyle: "inset"; \n\
443+ property string backgroundShapeStyle: "flat"; \n\
449 property real fontScale: 1.0; \n\
444 property real fontScale: 1.0; \n\
450 property var scopeStyle: null; \n\
445 property var scopeStyle: null; \n\
451 readonly property string title: cardData && cardData["title"] || ""; \n\
446 readonly property string title: cardData && cardData["title"] || ""; \n\
@@ -514,10 +509,10 @@ function cardString(template, components, isCardTool, artShapeStyle) {
514 }
509 }
515
510
516 if (hasArt) {
511 if (hasArt) {
517− code += 'readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);\n';
518−
519 var artShapeAspect;
512 var artShapeAspect;
520 if (isCardTool) {
513 if (isCardTool) {
514+ code += 'readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);\n';
515+
521 var artShapeAspect = components["art"] && components["art"]["aspect-ratio"] || 1;
516 var artShapeAspect = components["art"] && components["art"]["aspect-ratio"] || 1;
522 if (isNaN(artShapeAspect)) {
517 if (isNaN(artShapeAspect)) {
523 artShapeAspect = 1;
518 artShapeAspect = 1;
@@ -581,7 +576,7 @@ function cardString(template, components, isCardTool, artShapeStyle) {
581 .arg(artShapeHolderShapeCode)
576 .arg(artShapeHolderShapeCode)
582 .arg(fallbackStatusCode)
577 .arg(fallbackStatusCode)
583 .arg(fallbackURICode);
578 .arg(fallbackURICode);
584− } else {
579+ } else if (isCardTool) {
585 code += 'readonly property size artShapeSize: Qt.size(-1, -1);\n'
580 code += 'readonly property size artShapeSize: Qt.size(-1, -1);\n'
586 }
581 }
587
582
@@ -592,15 +587,15 @@ function cardString(template, components, isCardTool, artShapeStyle) {
592
587
593 var headerVerticalAnchors;
588 var headerVerticalAnchors;
594 if (headerAsOverlay) {
589 if (headerAsOverlay) {
595− headerVerticalAnchors = 'bottom: artShapeHolder.bottom; \n\
590+ headerVerticalAnchors = 'bottom: artShapeLoader.bottom; \n\
596 bottomMargin: units.gu(1);\n';
591 bottomMargin: units.gu(1);\n';
597 } else {
592 } else {
598 if (hasArt) {
593 if (hasArt) {
599 if (isHorizontal) {
594 if (isHorizontal) {
600− headerVerticalAnchors = 'top: artShapeHolder.top; \n\
595+ headerVerticalAnchors = 'top: artShapeLoader.top; \n\
601 topMargin: units.gu(1);\n';
596 topMargin: units.gu(1);\n';
602 } else {
597 } else {
603− headerVerticalAnchors = 'top: artShapeHolder.bottom; \n\
598+ headerVerticalAnchors = 'top: artShapeLoader.bottom; \n\
604 topMargin: units.gu(1);\n';
599 topMargin: units.gu(1);\n';
605 }
600 }
606 } else {
601 } else {
@@ -612,7 +607,7 @@ function cardString(template, components, isCardTool, artShapeStyle) {
612 var headerLeftAnchor;
607 var headerLeftAnchor;
613 var headerLeftAnchorHasMargin = false;
608 var headerLeftAnchorHasMargin = false;
614 if (isHorizontal && hasArt) {
609 if (isHorizontal && hasArt) {
615− headerLeftAnchor = 'left: artShapeHolder.right; \n\
610+ headerLeftAnchor = 'left: artShapeLoader.right; \n\
616 leftMargin: units.gu(1);\n';
611 leftMargin: units.gu(1);\n';
617 headerLeftAnchorHasMargin = true;
612 headerLeftAnchorHasMargin = true;
618 } else if (isHorizontal && isAudio) {
613 } else if (isHorizontal && isAudio) {
@@ -866,7 +861,7 @@ function cardString(template, components, isCardTool, artShapeStyle) {
866 var audioButtonWidth;
861 var audioButtonWidth;
867 var audioButtonHeight;
862 var audioButtonHeight;
868 if (hasArt) {
863 if (hasArt) {
869− audioButtonAnchorsFill = 'artShapeHolder';
864+ audioButtonAnchorsFill = 'artShapeLoader';
870 audioButtonWidth = 'undefined';
865 audioButtonWidth = 'undefined';
871 audioButtonHeight = 'undefined';
866 audioButtonHeight = 'undefined';
872 } else {
867 } else {
@@ -880,15 +875,15 @@ function cardString(template, components, isCardTool, artShapeStyle) {
880
875
881 if (hasSummary) {
876 if (hasSummary) {
882 var summaryTopAnchor;
877 var summaryTopAnchor;
883− if (isHorizontal && hasArt) summaryTopAnchor = 'artShapeHolder.bottom';
878+ if (isHorizontal && hasArt) summaryTopAnchor = 'artShapeLoader.bottom';
884− else if (headerAsOverlay && hasArt) summaryTopAnchor = 'artShapeHolder.bottom';
879+ else if (headerAsOverlay && hasArt) summaryTopAnchor = 'artShapeLoader.bottom';
885 else if (hasHeaderRow) summaryTopAnchor = 'row.bottom';
880 else if (hasHeaderRow) summaryTopAnchor = 'row.bottom';
886 else if (hasTitleContainer) summaryTopAnchor = 'headerTitleContainer.bottom';
881 else if (hasTitleContainer) summaryTopAnchor = 'headerTitleContainer.bottom';
887 else if (hasMascot) summaryTopAnchor = 'mascotImage.bottom';
882 else if (hasMascot) summaryTopAnchor = 'mascotImage.bottom';
888 else if (hasAttributes) summaryTopAnchor = 'attributesRow.bottom';
883 else if (hasAttributes) summaryTopAnchor = 'attributesRow.bottom';
889 else if (hasSubtitle) summaryTopAnchor = 'subtitleLabel.bottom';
884 else if (hasSubtitle) summaryTopAnchor = 'subtitleLabel.bottom';
890 else if (hasTitle) summaryTopAnchor = 'titleLabel.bottom';
885 else if (hasTitle) summaryTopAnchor = 'titleLabel.bottom';
891− else if (hasArt) summaryTopAnchor = 'artShapeHolder.bottom';
886+ else if (hasArt) summaryTopAnchor = 'artShapeLoader.bottom';
892 else summaryTopAnchor = 'parent.top';
887 else summaryTopAnchor = 'parent.top';
893
888
894 var summaryColor;
889 var summaryColor;
@@ -908,15 +903,15 @@ function cardString(template, components, isCardTool, artShapeStyle) {
908 var socialTopAnchor;
903 var socialTopAnchor;
909
904
910 if (hasSummary) socialTopAnchor = 'summary.bottom;';
905 if (hasSummary) socialTopAnchor = 'summary.bottom;';
911− else if (isHorizontal && hasArt) socialTopAnchor = 'artShapeHolder.bottom;';
906+ else if (isHorizontal && hasArt) socialTopAnchor = 'artShapeLoader.bottom;';
912− else if (headerAsOverlay && hasArt) socialTopAnchor = 'artShapeHolder.bottom;';
907+ else if (headerAsOverlay && hasArt) socialTopAnchor = 'artShapeLoader.bottom;';
913 else if (hasHeaderRow) socialTopAnchor = 'row.bottom;';
908 else if (hasHeaderRow) socialTopAnchor = 'row.bottom;';
914 else if (hasTitleContainer) socialTopAnchor = 'headerTitleContainer.bottom;';
909 else if (hasTitleContainer) socialTopAnchor = 'headerTitleContainer.bottom;';
915 else if (hasMascot) socialTopAnchor = 'mascotImage.bottom;';
910 else if (hasMascot) socialTopAnchor = 'mascotImage.bottom;';
916 else if (hasAttributes) socialTopAnchor = 'attributesRow.bottom;';
911 else if (hasAttributes) socialTopAnchor = 'attributesRow.bottom;';
917 else if (hasSubtitle) socialTopAnchor = 'subtitleLabel.bottom;';
912 else if (hasSubtitle) socialTopAnchor = 'subtitleLabel.bottom;';
918 else if (hasTitle) socialTopAnchor = 'titleLabel.bottom;';
913 else if (hasTitle) socialTopAnchor = 'titleLabel.bottom;';
919− else if (hasArt) socialTopAnchor = 'artShapeHolder.bottom;';
914+ else if (hasArt) socialTopAnchor = 'artShapeLoader.bottom;';
920 else socialTopAnchor = 'parent.top';
915 else socialTopAnchor = 'parent.top';
921
916
922 socialAnchors = 'top: ' + socialTopAnchor + ' left: parent.left; right: parent.right; topMargin: units.gu(1);'
917 socialAnchors = 'top: ' + socialTopAnchor + ' left: parent.left; right: parent.right; topMargin: units.gu(1);'
@@ -931,41 +926,45 @@ function cardString(template, components, isCardTool, artShapeStyle) {
931 code += kSocialActionsRowCode.arg(socialAnchors).arg(socialColor);
926 code += kSocialActionsRowCode.arg(socialAnchors).arg(socialColor);
932 }
927 }
933
928
934− if (artShapeStyle != "shadow" && artShapeStyle != "icon") {
929+ if (artShapeStyle != "shadow" && artShapeStyle != "icon" && !isCardTool) {
935 var touchdownAnchors;
930 var touchdownAnchors;
936 if (hasBackground) {
931 if (hasBackground) {
937 touchdownAnchors = 'fill: backgroundLoader';
932 touchdownAnchors = 'fill: backgroundLoader';
938 } else if (touchdownOnArtShape) {
933 } else if (touchdownOnArtShape) {
939− touchdownAnchors = 'fill: artShapeHolder';
934+ touchdownAnchors = 'fill: artShapeLoader';
940 } else {
935 } else {
941 touchdownAnchors = 'fill: root'
936 touchdownAnchors = 'fill: root'
942 }
937 }
943 code += kTouchdownCode.arg(touchdownAnchors);
938 code += kTouchdownCode.arg(touchdownAnchors);
944 }
939 }
945
940
941+ if (isCardTool || categoryLayout !== "grid") {
946− var implicitHeight = 'implicitHeight: ';
942+ var implicitHeight = 'implicitHeight: ';
947− if (hasSocialActions) {
943+ if (hasSocialActions) {
948− implicitHeight += 'socialActionsRow.y + socialActionsRow.height + units.gu(1);\n';
944+ implicitHeight += 'socialActionsRow.y + socialActionsRow.height + units.gu(1);\n';
949− } else if (hasSummary) {
945+ } else if (hasSummary) {
950− implicitHeight += 'summary.y + summary.height + units.gu(1);\n';
946+ implicitHeight += 'summary.y + summary.height + units.gu(1);\n';
951− } else if (isAudio) {
947+ } else if (isAudio) {
952− implicitHeight += 'audioButton.height;\n';
948+ implicitHeight += 'audioButton.height;\n';
953− } else if (headerAsOverlay) {
949+ } else if (headerAsOverlay) {
954− implicitHeight += 'artShapeHolder.height;\n';
950+ implicitHeight += 'artShapeLoader.height;\n';
955− } else if (hasHeaderRow) {
951+ } else if (hasHeaderRow) {
956− implicitHeight += 'row.y + row.height + units.gu(1);\n';
952+ implicitHeight += 'row.y + row.height + units.gu(1);\n';
957− } else if (hasMascot) {
953+ } else if (hasMascot) {
958− implicitHeight += 'mascotImage.y + mascotImage.height;\n';
954+ implicitHeight += 'mascotImage.y + mascotImage.height;\n';
959− } else if (hasTitleContainer) {
955+ } else if (hasTitleContainer) {
960− implicitHeight += 'headerTitleContainer.y + headerTitleContainer.height + units.gu(1);\n';
956+ implicitHeight += 'headerTitleContainer.y + headerTitleContainer.height + units.gu(1);\n';
961− } else if (hasAttributes) {
957+ } else if (hasAttributes) {
962− implicitHeight += 'attributesRow.y + attributesRow.height + units.gu(1);\n';
958+ implicitHeight += 'attributesRow.y + attributesRow.height + units.gu(1);\n';
963− } else if (hasSubtitle) {
959+ } else if (hasSubtitle) {
964− implicitHeight += 'subtitleLabel.y + subtitleLabel.height + units.gu(1);\n';
960+ implicitHeight += 'subtitleLabel.y + subtitleLabel.height + units.gu(1);\n';
965− } else if (hasTitle) {
961+ } else if (hasTitle) {
966− implicitHeight += 'titleLabel.y + titleLabel.height + units.gu(1);\n';
962+ implicitHeight += 'titleLabel.y + titleLabel.height + units.gu(1);\n';
967− } else if (hasArt) {
963+ } else if (hasArt) {
968− implicitHeight += 'artShapeHolder.height;\n';
964+ implicitHeight += 'artShapeLoader.height;\n';
965+ } else {
966+ implicitHeight = '';
967+ }
969 } else {
968 } else {
970 implicitHeight = '';
969 implicitHeight = '';
971 }
970 }
@@ -976,13 +975,13 @@ function cardString(template, components, isCardTool, artShapeStyle) {
976 return code;
975 return code;
977}
976}
978
977
979−function createCardComponent(parent, template, components, isCardTool, artShapeStyle, identifier) {
978+function createCardComponent(parent, template, components, isCardTool, artShapeStyle, categoryLayout, identifier) {
980 var imports = 'import QtQuick 2.4; \n\
979 var imports = 'import QtQuick 2.4; \n\
981 import Ubuntu.Components 1.3; \n\
980 import Ubuntu.Components 1.3; \n\
982 import Ubuntu.Settings.Components 0.1; \n\
981 import Ubuntu.Settings.Components 0.1; \n\
983 import Dash 0.1;\n\
982 import Dash 0.1;\n\
984 import Utils 0.1;\n';
983 import Utils 0.1;\n';
985− var card = cardString(template, components, isCardTool, artShapeStyle);
984+ var card = cardString(template, components, isCardTool, artShapeStyle, categoryLayout);
986 var code = imports + 'Component {\n' + card + '}\n';
985 var code = imports + 'Component {\n' + card + '}\n';
987
986
988 try {
987 try {
plugins/Dash/CardCreatorCache.qml+3−3
@@ -23,16 +23,16 @@ QtObject {
23
23
24 property var cache: new Object();
24 property var cache: new Object();
25
25
26− function getCardComponent(template, components, isCardTool, artShapeStyle) {
26+ function getCardComponent(template, components, isCardTool, artShapeStyle, categoryLayout) {
27 if (template === undefined || components === undefined)
27 if (template === undefined || components === undefined)
28 return undefined;
28 return undefined;
29
29
30 var tString = JSON.stringify(template);
30 var tString = JSON.stringify(template);
31 var cString = JSON.stringify(components);
31 var cString = JSON.stringify(components);
32− var allString = tString + cString + isCardTool + artShapeStyle;
32+ var allString = tString + cString + isCardTool + artShapeStyle + categoryLayout;
33 var component = cache[allString];
33 var component = cache[allString];
34 if (component === undefined) {
34 if (component === undefined) {
35− component = CardCreator.createCardComponent(root, template, components, isCardTool, artShapeStyle, allString);
35+ component = CardCreator.createCardComponent(root, template, components, isCardTool, artShapeStyle, categoryLayout, allString);
36 cache[allString] = component;
36 cache[allString] = component;
37 }
37 }
38 return component;
38 return component;
plugins/Dash/DashAudioPlayer.qml+45−21
@@ -20,16 +20,22 @@ import QtMultimedia 5.6
20import Dash 0.1
20import Dash 0.1
21
21
22QtObject {
22QtObject {
23+ id: root
23− readonly property real progress: audio.position / audio.duration
24+ readonly property real progress: priv.audio ? priv.audio.position / priv.audio.duration : 0.0
24− readonly property bool playing: audio.playbackState === Audio.PlayingState
25+ readonly property bool playing: priv.audio ? priv.audio.playbackState === Audio.PlayingState : false
25− readonly property bool paused: audio.playbackState === Audio.PausedState
26+ readonly property bool paused: priv.audio ? priv.audio.playbackState === Audio.PausedState : false
26− readonly property bool stopped: audio.playbackState === Audio.StoppedState
27+ readonly property bool stopped: priv.audio ? priv.audio.playbackState === Audio.StoppedState : true
27− readonly property alias position: audio.position
28+ readonly property int position: priv.audio ? priv.audio.position : 0
28− readonly property url currentSource: audio.playlist.currentItemSource
29+ readonly property url currentSource: priv.audio ? priv.audio.playlist.currentItemSource : ""
30+ readonly property Playlist playlist: priv.audio ? priv.audio.playlist : null
29
31
30 function playSource(newSource, newPlaylist) {
32 function playSource(newSource, newPlaylist) {
33+ if (!priv.audio) {
34+ console.info("DashAudioPlayer: creating player");
35+ priv.audio = priv.audioComponent.createObject(root);
36+ }
31 stop();
37 stop();
32− audio.playlist.clear();
38+ priv.audio.playlist.clear();
33 if (newPlaylist) {
39 if (newPlaylist) {
34 // Look for newSource in newPlaylist
40 // Look for newSource in newPlaylist
35 var sourceIndex = -1;
41 var sourceIndex = -1;
@@ -48,35 +54,53 @@ QtObject {
48 for (var i in newPlaylist) {
54 for (var i in newPlaylist) {
49 urls.push(newPlaylist[i]);
55 urls.push(newPlaylist[i]);
50 }
56 }
51− audio.playlist.addItems(urls);
57+ priv.audio.playlist.addItems(urls);
52− audio.playlist.currentIndex = sourceIndex;
58+ priv.audio.playlist.currentIndex = sourceIndex;
53 } else {
59 } else {
54− audio.playlist.addItem(newSource);
60+ priv.audio.playlist.addItem(newSource);
55− audio.playlist.currentIndex = 0;
61+ priv.audio.playlist.currentIndex = 0;
56 }
62 }
57 play();
63 play();
58 }
64 }
59
65
60 function stop() {
66 function stop() {
67+ if (priv.audio) {
61− audio.stop();
68+ priv.audio.stop();
69+ }
62 }
70 }
63
71
64 function play() {
72 function play() {
73+ if (priv.audio) {
65− audio.play();
74+ priv.audio.play();
75+ }
66 }
76 }
67
77
68 function pause() {
78 function pause() {
79+ if (priv.audio) {
69− audio.pause();
80+ priv.audio.pause();
81+ }
70 }
82 }
71
83
72− property QtObject audio: Audio {
84+ property QtObject priv: QtObject {
73− id: audio
85+ id: priv
74− objectName: "audio"
86+ property Audio audio: null
87+ property Component audioComponent: Component {
88+ Audio {
75− playlist: Playlist {
89+ playlist: Playlist {
76− objectName: "playlist"
90+ objectName: "playlist"
91+ }
92+ /* Remove player in case of error so it gets recreated next time
93+ * we need it. Happens if backend media player restarted, for
94+ * instance. qtmultimedia should probably handle this
95+ * transparently (LP: #1616425).
96+ */
97+ onError: {
98+ console.warn("DashAudioPlayer: error event (" +
99+ priv.audio.errorString + "), destroying");
100+ priv.audio.destroy();
101+ }
102+ }
77 }
103 }
78−
79− onErrorStringChanged: console.warn("Dash Audio player error:", errorString)
80 }
104 }
81
105
82 function lengthToString(s) {
106 function lengthToString(s) {
plugins/Dash/abstractdashview.cpp+13
@@ -16,6 +16,8 @@
16
16
17#include "abstractdashview.h"
17#include "abstractdashview.h"
18
18
19+#include <private/qquickitem_p.h>
20+
19AbstractDashView::AbstractDashView()
21AbstractDashView::AbstractDashView()
20 : m_delegateModel(nullptr)
22 : m_delegateModel(nullptr)
21 , m_asyncRequestedIndex(-1)
23 , m_asyncRequestedIndex(-1)
@@ -249,6 +251,7 @@ QQuickItem *AbstractDashView::createItem(int modelIndex, bool asynchronous)
249 }
251 }
250 return nullptr;
252 return nullptr;
251 } else {
253 } else {
254+ QQuickItemPrivate::get(item)->addItemChangeListener(this, QQuickItemPrivate::Geometry);
252 addItemToView(modelIndex, item);
255 addItemToView(modelIndex, item);
253 return item;
256 return item;
254 }
257 }
@@ -256,6 +259,7 @@ QQuickItem *AbstractDashView::createItem(int modelIndex, bool asynchronous)
256
259
257void AbstractDashView::releaseItem(QQuickItem *item)
260void AbstractDashView::releaseItem(QQuickItem *item)
258{
261{
262+ QQuickItemPrivate::get(item)->removeItemChangeListener(this, QQuickItemPrivate::Geometry);
259 QQmlDelegateModel::ReleaseFlags flags = m_delegateModel->release(item);
263 QQmlDelegateModel::ReleaseFlags flags = m_delegateModel->release(item);
260 if (flags & QQmlDelegateModel::Destroyed) {
264 if (flags & QQmlDelegateModel::Destroyed) {
261 item->setParentItem(nullptr);
265 item->setParentItem(nullptr);
@@ -294,6 +298,15 @@ void AbstractDashView::onModelUpdated(const QQmlChangeSet &changeSet, bool reset
294 cleanupExistingItems();
298 cleanupExistingItems();
295 } else {
299 } else {
296 processModelRemoves(changeSet.removes());
300 processModelRemoves(changeSet.removes());
301+
302+ // The current AbstractDashViews do not support insertions that are not at the end
303+ // so reset if that happens
304+ Q_FOREACH(const QQmlChangeSet::Change insert, changeSet.inserts()) {
305+ if (insert.index < m_delegateModel->count() - 1) {
306+ cleanupExistingItems();
307+ break;
308+ }
309+ }
297 }
310 }
298 polish();
311 polish();
299}
312}
plugins/Dash/abstractdashview.h+2−1
@@ -23,9 +23,10 @@ class QAbstractItemModel;
23class QQmlComponent;
23class QQmlComponent;
24
24
25#include <private/qqmldelegatemodel_p.h>
25#include <private/qqmldelegatemodel_p.h>
26+#include <private/qquickitemchangelistener_p.h>
26#include <qqmlinfo.h>
27#include <qqmlinfo.h>
27
28
28−class AbstractDashView : public QQuickItem
29+class AbstractDashView : public QQuickItem, public QQuickItemChangeListener
29{
30{
30 Q_OBJECT
31 Q_OBJECT
31
32
plugins/Dash/listviewwithpageheader.cpp+9−16
@@ -587,6 +587,10 @@ void ListViewWithPageHeader::adjustHeader(qreal diff)
587 } else {
587 } else {
588 m_headerItem->setY(-m_minYExtent);
588 m_headerItem->setY(-m_minYExtent);
589 }
589 }
590+ } else if (m_headerItemShownHeight == 0 && m_previousContentY > m_headerItem->y() && contentY() < m_headerItem->y()) {
591+ // The header was hidden but now that we've moved up (e.g. because of item removed) it's visible
592+ // make sure it isn't
593+ m_headerItem->setY(-m_minYExtent);
590 }
594 }
591 Q_EMIT headerItemShownHeightChanged();
595 Q_EMIT headerItemShownHeightChanged();
592 } else {
596 } else {
@@ -768,7 +772,7 @@ QQuickItem *ListViewWithPageHeader::getSectionItem(const QString &sectionText, b
768 delete nobj;
772 delete nobj;
769 } else {
773 } else {
770 sectionItem->setProperty("text", sectionText);
774 sectionItem->setProperty("text", sectionText);
771− sectionItem->setProperty("delegateIndex", -1);
775+ sectionItem->setProperty("delegate", QVariant());
772 sectionItem->setZ(2);
776 sectionItem->setZ(2);
773 QQml_setParent_noEvent(sectionItem, m_clipItem);
777 QQml_setParent_noEvent(sectionItem, m_clipItem);
774 sectionItem->setParentItem(m_clipItem);
778 sectionItem->setParentItem(m_clipItem);
@@ -925,7 +929,7 @@ ListViewWithPageHeader::ListItem *ListViewWithPageHeader::createItem(int modelIn
925 polish();
929 polish();
926 }
930 }
927 if (listItem->sectionItem()) {
931 if (listItem->sectionItem()) {
928− listItem->sectionItem()->setProperty("delegateIndex", modelIndex);
932+ listItem->sectionItem()->setProperty("delegate", QVariant::fromValue(listItem->m_item));
929 }
933 }
930 adjustMinYExtent();
934 adjustMinYExtent();
931 m_contentHeightDirty = true;
935 m_contentHeightDirty = true;
@@ -978,6 +982,7 @@ void ListViewWithPageHeader::onContentWidthChanged()
978
982
979void ListViewWithPageHeader::onHeightChanged()
983void ListViewWithPageHeader::onHeightChanged()
980{
984{
985+ m_clipItem->setHeight(height() - m_headerItemShownHeight);
981 polish();
986 polish();
982}
987}
983
988
@@ -1118,7 +1123,7 @@ void ListViewWithPageHeader::onModelUpdated(const QQmlChangeSet &changeSet, bool
1118 for (int i = 0; i < m_visibleItems.count(); ++i) {
1123 for (int i = 0; i < m_visibleItems.count(); ++i) {
1119 ListItem *item = m_visibleItems[i];
1124 ListItem *item = m_visibleItems[i];
1120 if (item->sectionItem()) {
1125 if (item->sectionItem()) {
1121− item->sectionItem()->setProperty("delegateIndex", m_firstVisibleIndex + i);
1126+ item->sectionItem()->setProperty("delegate", QVariant::fromValue(item->m_item));
1122 }
1127 }
1123 }
1128 }
1124
1129
@@ -1292,15 +1297,7 @@ void ListViewWithPageHeader::layout()
1292
1297
1293 QQuickItemPrivate::get(m_topSectionItem)->setCulled(false);
1298 QQuickItemPrivate::get(m_topSectionItem)->setCulled(false);
1294 m_topSectionItem->setY(topSectionStickPos);
1299 m_topSectionItem->setY(topSectionStickPos);
1295− int delegateIndex = modelIndex;
1296− // Look for the first index with this section text
1297− while (delegateIndex > 0) {
1298− const QString prevSection = m_delegateModel->stringValue(delegateIndex - 1, m_sectionProperty);
1299− if (prevSection != section)
1300− break;
1301− delegateIndex--;
1302− }
1303− m_topSectionItem->setProperty("delegateIndex", delegateIndex);
1300+ m_topSectionItem->setProperty("delegate", QVariant::fromValue(item->m_item));
1304 if (item->sectionItem()) {
1301 if (item->sectionItem()) {
1305 QQuickItemPrivate::get(item->sectionItem())->setCulled(true);
1302 QQuickItemPrivate::get(item->sectionItem())->setCulled(true);
1306 }
1303 }
@@ -1388,10 +1385,6 @@ void ListViewWithPageHeader::updatePolish()
1388
1385
1389 m_contentHeightDirty = false;
1386 m_contentHeightDirty = false;
1390 adjustMinYExtent();
1387 adjustMinYExtent();
1391− if (contentHeight + m_minYExtent < height()) {
1392− // need this since in the previous call to adjustMinYExtent contentHeight is not set yet
1393− m_minYExtent = 0;
1394− }
1395 m_inContentHeightKeepHeaderShown = m_headerItem && m_headerItem->y() == contentY();
1388 m_inContentHeightKeepHeaderShown = m_headerItem && m_headerItem->y() == contentY();
1396 setContentHeight(contentHeight);
1389 setContentHeight(contentHeight);
1397 m_inContentHeightKeepHeaderShown = false;
1390 m_inContentHeightKeepHeaderShown = false;
plugins/Dash/verticaljournal.cpp+9−1
@@ -96,7 +96,7 @@ void VerticalJournal::findTopModelIndexToAdd(int *modelIndex, qreal *yPos)
96
96
97 if (*modelIndex > 0) {
97 if (*modelIndex > 0) {
98 Q_ASSERT(m_indexColumnMap.contains(*modelIndex));
98 Q_ASSERT(m_indexColumnMap.contains(*modelIndex));
99− while (m_indexColumnMap[*modelIndex] != columnToAddTo) {
99+ while (*modelIndex > 0 && m_indexColumnMap[*modelIndex] != columnToAddTo) {
100 // We found out that we have to add to columnToAddTo
100 // We found out that we have to add to columnToAddTo
101 // and thought that we had to add *modelIndex, but history tells
101 // and thought that we had to add *modelIndex, but history tells
102 // it is not correct, so find up from *modelIndex until we found the index
102 // it is not correct, so find up from *modelIndex until we found the index
@@ -270,3 +270,11 @@ void VerticalJournal::processModelRemoves(const QVector<QQmlChangeSet::Change> &
270 }
270 }
271 }
271 }
272}
272}
273+
274+void VerticalJournal::itemGeometryChanged(QQuickItem * /*item*/, const QRectF &newGeometry, const QRectF &oldGeometry)
275+{
276+ const qreal heightDiff = newGeometry.height() - oldGeometry.height();
277+ if (heightDiff != 0) {
278+ relayout();
279+ }
280+}
plugins/Dash/verticaljournal.h+3
@@ -65,6 +65,9 @@ public:
65 qreal columnWidth() const;
65 qreal columnWidth() const;
66 void setColumnWidth(qreal columnWidth);
66 void setColumnWidth(qreal columnWidth);
67
67
68+protected:
69+ void itemGeometryChanged(QQuickItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) override;
70+
68Q_SIGNALS:
71Q_SIGNALS:
69 void columnWidthChanged();
72 void columnWidthChanged();
70
73
plugins/Greeter/Unity/Launcher/CMakeLists.txt+1−1
@@ -1,4 +1,4 @@
1−pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=9)
1+pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=10)
2pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
2pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
3
3
4add_definitions(-DSM_BUSNAME=systemBus)
4add_definitions(-DSM_BUSNAME=systemBus)
plugins/ImageCache/CMakeLists.txtnew file+8
@@ -0,0 +1,8 @@
1+add_library(ImageCache-qml MODULE
2+ ImageCache.cpp
3+ plugin.cpp
4+ )
5+
6+qt5_use_modules(ImageCache-qml Gui Qml Quick)
7+
8+add_unity8_plugin(ImageCache 0.1 ImageCache TARGETS ImageCache-qml)
plugins/ImageCache/ImageCache.cppnew file+135
@@ -0,0 +1,135 @@
1+/*
2+ * Copyright (C) 2016 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include <QDateTime>
18+#include <QDebug>
19+#include <QDir>
20+#include <QUrl>
21+#include <QUrlQuery>
22+
23+#include "ImageCache.h"
24+
25+ImageCache::ImageCache()
26+ : QQuickImageProvider(QQmlImageProviderBase::Image,
27+ QQmlImageProviderBase::ForceAsynchronousImageLoading)
28+{
29+}
30+
31+QString ImageCache::imageCacheRoot()
32+{
33+ QString xdgCache(qgetenv("XDG_CACHE_HOME"));
34+ if (xdgCache.isEmpty()) {
35+ xdgCache = QDir::homePath() + QStringLiteral("/.cache");
36+ }
37+
38+ return QDir::cleanPath(xdgCache) + QStringLiteral("/unity8/imagecache");
39+}
40+
41+QFileInfo ImageCache::imagePath(const QUrl &image)
42+{
43+ QUrlQuery query(image);
44+
45+ auto name = query.queryItemValue(QStringLiteral("name"));
46+ if (name.isEmpty()) {
47+ name = QStringLiteral("/paths") + image.toLocalFile();
48+ } else {
49+ name = QStringLiteral("/names/") + name;
50+ }
51+
52+ return QFileInfo(imageCacheRoot() + name);
53+}
54+
55+bool ImageCache::needsUpdate(const QUrl &image, const QFileInfo &cachePath, const QSize &imageSize, const QSize &requestedSize, QSize &finalSize)
56+{
57+ if (!cachePath.exists())
58+ return true;
59+
60+ QFileInfo imageInfo(image.toLocalFile());
61+ if (imageInfo.lastModified() > cachePath.lastModified())
62+ return true;
63+
64+ QSize cacheSize(QImageReader(cachePath.filePath()).size());
65+ finalSize = calculateSize(imageSize, requestedSize);
66+ if (finalSize.isValid() && cacheSize != finalSize)
67+ return true;
68+
69+ return false;
70+}
71+
72+QSize ImageCache::calculateSize(const QSize &imageSize, const QSize &requestedSize)
73+{
74+ QSize finalSize(requestedSize);
75+
76+ if (finalSize.width() == 0) {
77+ finalSize.setWidth(imageSize.width() * (((double)finalSize.height()) / imageSize.height()));
78+ } else if (finalSize.height() == 0) {
79+ finalSize.setHeight(imageSize.height() * (((double)finalSize.width()) / imageSize.width()));
80+ }
81+
82+ return finalSize;
83+}
84+
85+QImage ImageCache::loadAndCacheImage(QImageReader &reader, const QFileInfo &cachePath, const QSize &finalSize)
86+{
87+ reader.setQuality(100);
88+ reader.setScaledSize(finalSize);
89+ auto format = reader.format(); // can't get this after reading
90+
91+ QImage loadedImage(reader.read());
92+ if (loadedImage.isNull()) {
93+ qWarning() << "ImageCache could not read image" << reader.fileName() << ":" << reader.errorString();
94+ return QImage();
95+ }
96+
97+ cachePath.dir().mkpath(QStringLiteral("."));
98+ loadedImage.save(cachePath.filePath(), format, 100);
99+
100+ return loadedImage;
101+}
102+
103+QImage ImageCache::requestImage(const QString &id, QSize *size, const QSize &requestedSize)
104+{
105+ QUrl image(id);
106+ QImageReader imageReader(image.toLocalFile());
107+ QSize imageSize(imageReader.size());
108+ QImage result;
109+
110+ // Early exit here, with no sourceSize, scaled-up sourceSize, or bad source image
111+ if ((requestedSize.width() <= 0 && requestedSize.height() <= 0) ||
112+ imageSize.isEmpty() ||
113+ requestedSize.height() >= imageSize.height() ||
114+ requestedSize.width() >= imageSize.width()) {
115+ // We're only interested in scaling down, not up.
116+ result = imageReader.read();
117+ *size = result.size();
118+ return result;
119+ }
120+
121+ auto cachePath = imagePath(image);
122+ QSize finalSize;
123+
124+ if (needsUpdate(image, cachePath, imageSize, requestedSize, finalSize)) {
125+ if (finalSize.isEmpty()) {
126+ finalSize = calculateSize(imageSize, requestedSize);
127+ }
128+ result = loadAndCacheImage(imageReader, cachePath, finalSize);
129+ } else {
130+ result = QImage(cachePath.filePath());
131+ }
132+
133+ *size = result.size();
134+ return result;
135+}
plugins/ImageCache/ImageCache.hnew file+53
@@ -0,0 +1,53 @@
1+/*
2+ * Copyright (C) 2016 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 once
18+
19+#include <QFileInfo>
20+#include <QImageReader>
21+#include <QQuickImageProvider>
22+#include <QSize>
23+
24+/**
25+ * This class accepts an id formulated like a URL. So you'd use something like:
26+ *
27+ * Image {
28+ * source: "image://unity8imagecache/file:///usr/share/..."
29+ * }
30+ *
31+ * Right now, we only support file:/// URLs. We do accept some flags though:
32+ *
33+ * ?name=NAME
34+ * - This will use NAME as the cache lookup key instead of the provided URL.
35+ *
36+ * We don't do any cleaning of old cached files yet. So you may want to always
37+ * provide a name to avoid leaving lots of files around.
38+ */
39+
40+class ImageCache: public QQuickImageProvider
41+{
42+public:
43+ ImageCache();
44+
45+ QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize) override;
46+
47+private:
48+ static QString imageCacheRoot();
49+ static QFileInfo imagePath(const QUrl &image);
50+ static bool needsUpdate(const QUrl &image, const QFileInfo &cachePath, const QSize &imageSize, const QSize &requestedSize, QSize &finalSize);
51+ static QSize calculateSize(const QSize &imageSize, const QSize &requestedSize);
52+ static QImage loadAndCacheImage(QImageReader &reader, const QFileInfo &cachePath, const QSize &finalSize);
53+};
plugins/ImageCache/plugin.cppnew file+39
@@ -0,0 +1,39 @@
1+/*
2+ * Copyright (C) 2016 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include <QQmlEngine>
18+
19+#include "ImageCache.h"
20+#include "plugin.h"
21+
22+#include <QtQml>
23+
24+void ImageCachePlugin::registerTypes(const char *uri)
25+{
26+ Q_ASSERT(uri == QLatin1String("ImageCache"));
27+
28+ qmlRegisterTypeNotAvailable(uri, 0, 1, "__ImageCacheIgnoreMe",
29+ QStringLiteral("Ignore this: QML plugins must contain at least one type"));
30+}
31+
32+void ImageCachePlugin::initializeEngine(QQmlEngine* engine, const char* uri)
33+{
34+ Q_ASSERT(uri == QLatin1String("ImageCache"));
35+
36+ QQmlExtensionPlugin::initializeEngine(engine, uri);
37+
38+ engine->addImageProvider("unity8imagecache", new ImageCache);
39+}
plugins/ImageCache/plugin.hnew file+31
@@ -0,0 +1,31 @@
1+/*
2+ * Copyright (C) 2016 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 once
18+
19+#include <QQmlExtensionPlugin>
20+
21+class QQmlEngine;
22+
23+class ImageCachePlugin : public QQmlExtensionPlugin
24+{
25+ Q_OBJECT
26+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
27+
28+public:
29+ void registerTypes(const char* uri) override;
30+ void initializeEngine(QQmlEngine* engine, const char* uri) override;
31+};
plugins/ImageCache/qmldirnew file+2
@@ -0,0 +1,2 @@
1+module ImageCache
2+plugin ImageCache-qml
plugins/LightDM/IntegratedLightDM/liblightdm/Greeter.cpp−5
@@ -78,11 +78,6 @@ bool Greeter::showRemoteLoginHint() const
78 return true;
78 return true;
79}
79}
80
80
81−bool Greeter::lockHint () const
82−{
83− return false;
84−}
85−
86QString Greeter::selectUserHint() const
81QString Greeter::selectUserHint() const
87{
82{
88 return QLatin1String("");
83 return QLatin1String("");
plugins/LightDM/IntegratedLightDM/liblightdm/Greeter.h−2
@@ -45,7 +45,6 @@ class Q_DECL_EXPORT Greeter : public QObject
45
45
46 Q_PROPERTY(QString hostname READ hostname CONSTANT)
46 Q_PROPERTY(QString hostname READ hostname CONSTANT)
47 Q_PROPERTY(bool hasGuestAccount READ hasGuestAccountHint CONSTANT)
47 Q_PROPERTY(bool hasGuestAccount READ hasGuestAccountHint CONSTANT)
48− Q_PROPERTY(bool locked READ lockHint CONSTANT)
49
48
50 Q_ENUMS(PromptType MessageType)
49 Q_ENUMS(PromptType MessageType)
51
50
@@ -68,7 +67,6 @@ public:
68 bool hideUsersHint() const;
67 bool hideUsersHint() const;
69 bool showManualLoginHint() const;
68 bool showManualLoginHint() const;
70 bool showRemoteLoginHint() const;
69 bool showRemoteLoginHint() const;
71− bool lockHint () const;
72 bool hasGuestAccountHint() const;
70 bool hasGuestAccountHint() const;
73 QString selectUserHint() const;
71 QString selectUserHint() const;
74 bool selectGuestHint() const;
72 bool selectGuestHint() const;
plugins/LightDM/IntegratedLightDM/liblightdm/UsersModel.cpp−2
@@ -40,8 +40,6 @@ UsersModel::UsersModel(QObject *parent) :
40 QAbstractListModel(parent),
40 QAbstractListModel(parent),
41 d_ptr(new UsersModelPrivate(this))
41 d_ptr(new UsersModelPrivate(this))
42{
42{
43− Q_D(UsersModel);
44−
45 // Extend roleNames (we want to keep the "display" role)
43 // Extend roleNames (we want to keep the "display" role)
46 QHash<int, QByteArray> roles = roleNames();
44 QHash<int, QByteArray> roles = roleNames();
47 roles[NameRole] = "name";
45 roles[NameRole] = "name";
plugins/LightDM/SessionsModel.cpp+30−16
@@ -47,15 +47,15 @@ void SessionsModel::setIconSearchDirectories(const QList<QUrl> searchDirectories
47 Q_EMIT iconSearchDirectoriesChanged();
47 Q_EMIT iconSearchDirectoriesChanged();
48}
48}
49
49
50−QUrl SessionsModel::iconUrl(const QString sessionName) const
50+QUrl SessionsModel::iconUrl(const QString sessionKey) const
51{
51{
52 Q_FOREACH(const QUrl& searchDirectory, m_iconSearchDirectories)
52 Q_FOREACH(const QUrl& searchDirectory, m_iconSearchDirectories)
53 {
53 {
54 // This is an established icon naming convention
54 // This is an established icon naming convention
55 QString customIconUrl = searchDirectory.toString(QUrl::StripTrailingSlash) +
55 QString customIconUrl = searchDirectory.toString(QUrl::StripTrailingSlash) +
56− "/custom_" + sessionName + "_badge.png";
56+ "/custom_" + sessionKey + "_badge.png";
57 QString iconUrl = searchDirectory.toString(QUrl::StripTrailingSlash) +
57 QString iconUrl = searchDirectory.toString(QUrl::StripTrailingSlash) +
58− "/" + sessionName + "_badge.png";
58+ "/" + sessionKey + "_badge.png";
59
59
60 QFile customIconFile(customIconUrl);
60 QFile customIconFile(customIconUrl);
61 QFile iconFile(iconUrl);
61 QFile iconFile(iconUrl);
@@ -63,29 +63,35 @@ QUrl SessionsModel::iconUrl(const QString sessionName) const
63 return QUrl(customIconUrl);
63 return QUrl(customIconUrl);
64 } else if (iconFile.exists()) {
64 } else if (iconFile.exists()) {
65 return QUrl(iconUrl);
65 return QUrl(iconUrl);
66− } else{
66+ } else {
67 // Search the legacy way
67 // Search the legacy way
68 QString path = searchDirectory.toString(QUrl::StripTrailingSlash) + "/";
68 QString path = searchDirectory.toString(QUrl::StripTrailingSlash) + "/";
69+ bool iconFound = false;
69− if (sessionName == "ubuntu" || sessionName == "ubuntu-2d") {
70+ if (sessionKey == "ubuntu" || sessionKey == "ubuntu-2d") {
70 path += "ubuntu_badge.png";
71 path += "ubuntu_badge.png";
72+ iconFound = true;
71 } else if(
73 } else if(
72− sessionName == "gnome-classic" ||
74+ sessionKey == "gnome-classic" ||
73− sessionName == "gnome-flashback-compiz" ||
75+ sessionKey == "gnome-flashback-compiz" ||
74− sessionName == "gnome-flashback-metacity" ||
76+ sessionKey == "gnome-flashback-metacity" ||
75− sessionName == "gnome-shell" ||
77+ sessionKey == "gnome-shell" ||
76− sessionName == "gnome-wayland" ||
78+ sessionKey == "gnome-wayland" ||
77− sessionName == "gnome"
79+ sessionKey == "gnome"
78 ){
80 ){
79 path += "gnome_badge.png";
81 path += "gnome_badge.png";
82+ iconFound = true;
80− } else if (sessionName == "plasma") {
83+ } else if (sessionKey == "plasma") {
81 path += "kde_badge.png";
84 path += "kde_badge.png";
85+ iconFound = true;
82− } else if (sessionName == "xterm") {
86+ } else if (sessionKey == "xterm") {
83 path += "recovery_console_badge.png";
87 path += "recovery_console_badge.png";
88+ iconFound = true;
84− } else if (sessionName == "remote-login") {
89+ } else if (sessionKey == "remote-login") {
85 path += "remote_login_help.png";
90 path += "remote_login_help.png";
91+ iconFound = true;
86 }
92 }
87
93
88− if (QFile(path).exists()) {
94+ if (QFile(path).exists() && iconFound) {
89 return path;
95 return path;
90 }
96 }
91 }
97 }
@@ -99,7 +105,7 @@ QVariant SessionsModel::data(const QModelIndex& index, int role) const
99{
105{
100 switch (role) {
106 switch (role) {
101 case SessionsModel::IconRole:
107 case SessionsModel::IconRole:
102− return iconUrl(m_model->data(index, Qt::DisplayRole).toString());
108+ return iconUrl(m_model->data(index, QLightDM::SessionsModel::KeyRole).toString());
103 default:
109 default:
104 return m_model->data(index, role);
110 return m_model->data(index, role);
105 }
111 }
@@ -113,6 +119,14 @@ SessionsModel::SessionsModel(QObject* parent)
113 m_roleNames = m_model->roleNames();
119 m_roleNames = m_model->roleNames();
114 m_roleNames[IconRole] = "icon_url";
120 m_roleNames[IconRole] = "icon_url";
115
121
122+ // Update search locations to use $SNAP prefix if specified
123+ auto snapRoot = QFile::decodeName(qgetenv("SNAP"));
124+ if (!snapRoot.isEmpty()) {
125+ for (int i = 0; i < m_iconSearchDirectories.size(); i++) {
126+ m_iconSearchDirectories[i] = snapRoot + m_iconSearchDirectories[i].path();
127+ }
128+ }
129+
116 setModel(m_model);
130 setModel(m_model);
117 setSourceModel(m_model);
131 setSourceModel(m_model);
118 setSortCaseSensitivity(Qt::CaseInsensitive);
132 setSortCaseSensitivity(Qt::CaseInsensitive);
plugins/LightDM/plugin.cpp+1−1
@@ -82,7 +82,7 @@ void PLUGIN_CLASSNAME::registerTypes(const char *uri)
82 qRegisterMetaType<QLightDM::Greeter::PromptType>("QLightDM::Greeter::PromptType");
82 qRegisterMetaType<QLightDM::Greeter::PromptType>("QLightDM::Greeter::PromptType");
83
83
84 qmlRegisterSingletonType<SessionsModel>(uri, 0, 1, "Sessions", sessions_provider);
84 qmlRegisterSingletonType<SessionsModel>(uri, 0, 1, "Sessions", sessions_provider);
85− qmlRegisterUncreatableType<SessionsModel>(uri, 0, 1, "SessionRoles", QStringLiteral("Type is not instantiable"));
85+ qmlRegisterUncreatableType<QLightDM::SessionsModel>(uri, 0, 1, "SessionRoles", QStringLiteral("Type is not instantiable"));
86
86
87 qmlRegisterSingletonType<UsersModel>(uri, 0, 1, "Users", users_provider);
87 qmlRegisterSingletonType<UsersModel>(uri, 0, 1, "Users", users_provider);
88 qmlRegisterUncreatableType<QLightDM::UsersModel>(uri, 0, 1, "UserRoles", QStringLiteral("Type is not instantiable"));
88 qmlRegisterUncreatableType<QLightDM::UsersModel>(uri, 0, 1, "UserRoles", QStringLiteral("Type is not instantiable"));
plugins/SessionBroadcast/SessionBroadcast.cpp+35−9
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2013 Canonical, Ltd.
2+ * Copyright (C) 2013,2016 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
@@ -12,12 +12,12 @@
12 *
12 *
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− *
16− * Author: Michael Terry <michael.terry@canonical.com>
17 */
15 */
18
16
19#include "SessionBroadcast.h"
17#include "SessionBroadcast.h"
20#include <QDBusConnection>
18#include <QDBusConnection>
19+#include <QDBusConnectionInterface>
20+#include <QDBusInterface>
21
21
22#include <glib.h>
22#include <glib.h>
23
23
@@ -27,13 +27,39 @@ SessionBroadcast::SessionBroadcast(QObject* parent)
27 m_username = QString::fromUtf8(g_get_user_name());
27 m_username = QString::fromUtf8(g_get_user_name());
28
28
29 auto connection = QDBusConnection::SM_BUSNAME();
29 auto connection = QDBusConnection::SM_BUSNAME();
30+ auto interface = connection.interface();
31+ interface->startService(QStringLiteral("com.canonical.Unity.Greeter.Broadcast"));
32+
33+ m_broadcaster = new QDBusInterface(QStringLiteral("com.canonical.Unity.Greeter.Broadcast"),
34+ QStringLiteral("/com/canonical/Unity/Greeter/Broadcast"),
35+ QStringLiteral("com.canonical.Unity.Greeter.Broadcast"),
36+ connection, this);
37+
38+ connect(m_broadcaster, SIGNAL(StartUrl(const QString &, const QString &)),
39+ this, SLOT(onStartUrl(const QString &, const QString &)));
40+
41+ connect(m_broadcaster, SIGNAL(ShowHome(const QString &)),
42+ this, SLOT(onShowHome(const QString &)));
43+}
44+
45+void SessionBroadcast::requestUrlStart(const QString &username, const QString &url)
46+{
47+ m_broadcaster->asyncCall(QStringLiteral("RequestUrlStart"), username, url);
48+}
49+
50+void SessionBroadcast::requestHomeShown(const QString &username)
51+{
52+ m_broadcaster->asyncCall(QStringLiteral("RequestHomeShown"), username);
53+}
30
54
31− connection.connect(QStringLiteral("com.canonical.Unity.Greeter.Broadcast"),
55+void SessionBroadcast::onStartUrl(const QString &username, const QString &url)
32− QStringLiteral("/com/canonical/Unity/Greeter/Broadcast"),
56+{
33− QStringLiteral("com.canonical.Unity.Greeter.Broadcast"),
57+ // Since this signal is just used for testing, we don't *really* care if
34− QStringLiteral("ShowHome"),
58+ // username matches, but just in case we do eventually use the signal, we
35− this,
59+ // should only listen to our own requests.
36− SLOT(onShowHome(const QString &)));
60+ if (username == m_username) {
61+ Q_EMIT startUrl(url);
62+ }
37}
63}
38
64
39void SessionBroadcast::onShowHome(const QString &username)
65void SessionBroadcast::onShowHome(const QString &username)
plugins/SessionBroadcast/SessionBroadcast.h+10−3
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2013 Canonical, Ltd.
2+ * Copyright (C) 2013,2016 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
@@ -12,8 +12,6 @@
12 *
12 *
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− *
16− * Authors: Michael Terry <michael.terry@canonical.com>
17 */
15 */
18
16
19#ifndef UNITY_SESSIONBROADCAST_H
17#ifndef UNITY_SESSIONBROADCAST_H
@@ -31,14 +29,23 @@ class SessionBroadcast: public QObject
31public:
29public:
32 explicit SessionBroadcast(QObject *parent = 0);
30 explicit SessionBroadcast(QObject *parent = 0);
33
31
32+ Q_INVOKABLE void requestUrlStart(const QString &username, const QString &url);
33+ Q_INVOKABLE void requestHomeShown(const QString &username);
34+
34Q_SIGNALS:
35Q_SIGNALS:
36+ // This signal isn't actually used by the shell
37+ // (unity-greeter-session-broadcast handles launching an app for us), but
38+ // it's useful for testing the plugin.
39+ void startUrl(const QString &url);
35 void showHome();
40 void showHome();
36
41
37private Q_SLOTS:
42private Q_SLOTS:
43+ void onStartUrl(const QString &username, const QString &url);
38 void onShowHome(const QString &username);
44 void onShowHome(const QString &username);
39
45
40private:
46private:
41 QString m_username;
47 QString m_username;
48+ QDBusInterface *m_broadcaster;
42};
49};
43
50
44#endif
51#endif
plugins/Ubuntu/DownloadDaemonListener/CMakeLists.txt+3−1
@@ -12,5 +12,7 @@ set(DOWNLOADDAEMONLISTENER_SOURCES
12add_library(DownloadDaemonListener MODULE ${DOWNLOADDAEMONLISTENER_SOURCES})
12add_library(DownloadDaemonListener MODULE ${DOWNLOADDAEMONLISTENER_SOURCES})
13
13
14qt5_use_modules(DownloadDaemonListener Qml Quick DBus Core)
14qt5_use_modules(DownloadDaemonListener Qml Quick DBus Core)
15−
15+pkg_check_modules(DDLADAPTER REQUIRED udm-common)
16+add_definitions(${DDLADAPTER_CFLAGS} ${DDLADAPTER_CFLAGS_OTHER})
17+target_link_libraries(DownloadDaemonListener ${DDLADAPTER_LIBRARIES})
16add_unity8_plugin(Ubuntu.DownloadDaemonListener 0.1 Ubuntu/DownloadDaemonListener TARGETS DownloadDaemonListener)
18add_unity8_plugin(Ubuntu.DownloadDaemonListener 0.1 Ubuntu/DownloadDaemonListener TARGETS DownloadDaemonListener)
plugins/Ubuntu/DownloadDaemonListener/DownloadTracker.cpp+2−1
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2013 - Canonical Ltd.
2+ * Copyright (C) 2013-2016 Canonical Ltd.
3 *
3 *
4 * This program is free software: you can redistribute it and/or modify it
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License, as
5 * under the terms of the GNU Lesser General Public License, as
@@ -78,6 +78,7 @@ void DownloadTracker::startService()
78 connect(m_adaptor, static_cast<void (DownloadTrackerAdaptor::*)(qulonglong, qulonglong)>(&DownloadTrackerAdaptor::progress), this, &DownloadTracker::progress);
78 connect(m_adaptor, static_cast<void (DownloadTrackerAdaptor::*)(qulonglong, qulonglong)>(&DownloadTrackerAdaptor::progress), this, &DownloadTracker::progress);
79 connect(m_adaptor, &DownloadTrackerAdaptor::resumed, this, &DownloadTracker::resumed);
79 connect(m_adaptor, &DownloadTrackerAdaptor::resumed, this, &DownloadTracker::resumed);
80 connect(m_adaptor, &DownloadTrackerAdaptor::started, this, &DownloadTracker::started);
80 connect(m_adaptor, &DownloadTrackerAdaptor::started, this, &DownloadTracker::started);
81+ connect(m_adaptor, &DownloadTrackerAdaptor::processing, this, &DownloadTracker::processing);
81 }
82 }
82 // FIXME find a better way of determining if the service is ready
83 // FIXME find a better way of determining if the service is ready
83 Q_EMIT serviceReadyChanged(m_adaptor && m_adaptor->isValid());
84 Q_EMIT serviceReadyChanged(m_adaptor && m_adaptor->isValid());
plugins/Ubuntu/DownloadDaemonListener/DownloadTracker.h+2−1
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2013 - Canonical Ltd.
2+ * Copyright (C) 2013-2016 Canonical Ltd.
3 *
3 *
4 * This program is free software: you can redistribute it and/or modify it
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License, as
5 * under the terms of the GNU Lesser General Public License, as
@@ -54,6 +54,7 @@ Q_SIGNALS:
54 void error(const QString &error);
54 void error(const QString &error);
55 void finished(const QString &path);
55 void finished(const QString &path);
56 void paused(bool success);
56 void paused(bool success);
57+ void processing(const QString &path);
57 void progress(qulonglong received, qulonglong total);
58 void progress(qulonglong received, qulonglong total);
58 void resumed(bool success);
59 void resumed(bool success);
59 void started(bool success);
60 void started(bool success);
plugins/Ubuntu/DownloadDaemonListener/interface/downloadtrackeradaptor.cpp+2−2
@@ -1,8 +1,8 @@
1/*
1/*
2 * This file was generated by qdbusxml2cpp version 0.8
2 * This file was generated by qdbusxml2cpp version 0.8
3− * Command line was: qdbusxml2cpp -v -c DownloadTrackerAdaptor -p downloadtrackeradaptor.h:downloadtrackeradaptor.cpp -i metatypes.h com.canonical.applications.download.xml
3+ * Command line was: qdbusxml2cpp -v -c DownloadTrackerAdaptor -p downloadtrackeradaptor.h:downloadtrackeradaptor.cpp -i metatypes.h ../../../../../../ubuntu-download-manager/trunk/docs/dbus/com.canonical.applications.download.xml
4 *
4 *
5− * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
5+ * qdbusxml2cpp is Copyright (C) 2015 The Qt Company Ltd.
6 *
6 *
7 * This is an auto-generated file.
7 * This is an auto-generated file.
8 * This file may have been hand-edited. Look for HAND-EDIT comments
8 * This file may have been hand-edited. Look for HAND-EDIT comments
plugins/Ubuntu/DownloadDaemonListener/interface/downloadtrackeradaptor.h+71−4
@@ -1,15 +1,15 @@
1/*
1/*
2 * This file was generated by qdbusxml2cpp version 0.8
2 * This file was generated by qdbusxml2cpp version 0.8
3− * Command line was: qdbusxml2cpp -v -c DownloadTrackerAdaptor -p downloadtrackeradaptor.h:downloadtrackeradaptor.cpp -i metatypes.h com.canonical.applications.download.xml
3+ * Command line was: qdbusxml2cpp -v -c DownloadTrackerAdaptor -p downloadtrackeradaptor.h:downloadtrackeradaptor.cpp -i metatypes.h ../../../../../../ubuntu-download-manager/trunk/docs/dbus/com.canonical.applications.download.xml
4 *
4 *
5− * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
5+ * qdbusxml2cpp is Copyright (C) 2015 The Qt Company Ltd.
6 *
6 *
7 * This is an auto-generated file.
7 * This is an auto-generated file.
8 * Do not edit! All changes made to it will be lost.
8 * Do not edit! All changes made to it will be lost.
9 */
9 */
10
10
11−#ifndef DOWNLOADTRACKERADAPTOR_H_1374434371
11+#ifndef DOWNLOADTRACKERADAPTOR_H
12−#define DOWNLOADTRACKERADAPTOR_H_1374434371
12+#define DOWNLOADTRACKERADAPTOR_H
13
13
14#include <QtCore/QObject>
14#include <QtCore/QObject>
15#include <QtCore/QByteArray>
15#include <QtCore/QByteArray>
@@ -36,6 +36,22 @@ public:
36
36
37 ~DownloadTrackerAdaptor();
37 ~DownloadTrackerAdaptor();
38
38
39+ Q_PROPERTY(QString ClickPackage READ clickPackage)
40+ inline QString clickPackage() const
41+ { return qvariant_cast< QString >(property("ClickPackage")); }
42+
43+ Q_PROPERTY(QString DestinationApp READ destinationApp)
44+ inline QString destinationApp() const
45+ { return qvariant_cast< QString >(property("DestinationApp")); }
46+
47+ Q_PROPERTY(bool ShowInIndicator READ showInIndicator)
48+ inline bool showInIndicator() const
49+ { return qvariant_cast< bool >(property("ShowInIndicator")); }
50+
51+ Q_PROPERTY(QString Title READ title)
52+ inline QString title() const
53+ { return qvariant_cast< QString >(property("Title")); }
54+
39public Q_SLOTS: // METHODS
55public Q_SLOTS: // METHODS
40 inline QDBusPendingReply<> allowGSMDownload(bool allowed)
56 inline QDBusPendingReply<> allowGSMDownload(bool allowed)
41 {
57 {
@@ -50,6 +66,24 @@ public Q_SLOTS: // METHODS
50 return asyncCallWithArgumentList(QStringLiteral("cancel"), argumentList);
66 return asyncCallWithArgumentList(QStringLiteral("cancel"), argumentList);
51 }
67 }
52
68
69+ inline QDBusPendingReply<> collected()
70+ {
71+ QList<QVariant> argumentList;
72+ return asyncCallWithArgumentList(QStringLiteral("collected"), argumentList);
73+ }
74+
75+ inline QDBusPendingReply<QString> filePath()
76+ {
77+ QList<QVariant> argumentList;
78+ return asyncCallWithArgumentList(QStringLiteral("filePath"), argumentList);
79+ }
80+
81+ inline QDBusPendingReply<StringMap> headers()
82+ {
83+ QList<QVariant> argumentList;
84+ return asyncCallWithArgumentList(QStringLiteral("headers"), argumentList);
85+ }
86+
53 inline QDBusPendingReply<bool> isGSMDownloadAllowed()
87 inline QDBusPendingReply<bool> isGSMDownloadAllowed()
54 {
88 {
55 QList<QVariant> argumentList;
89 QList<QVariant> argumentList;
@@ -80,6 +114,27 @@ public Q_SLOTS: // METHODS
80 return asyncCallWithArgumentList(QStringLiteral("resume"), argumentList);
114 return asyncCallWithArgumentList(QStringLiteral("resume"), argumentList);
81 }
115 }
82
116
117+ inline QDBusPendingReply<> setDestinationDir(const QString &path)
118+ {
119+ QList<QVariant> argumentList;
120+ argumentList << QVariant::fromValue(path);
121+ return asyncCallWithArgumentList(QStringLiteral("setDestinationDir"), argumentList);
122+ }
123+
124+ inline QDBusPendingReply<> setHeaders(StringMap headers)
125+ {
126+ QList<QVariant> argumentList;
127+ argumentList << QVariant::fromValue(headers);
128+ return asyncCallWithArgumentList(QStringLiteral("setHeaders"), argumentList);
129+ }
130+
131+ inline QDBusPendingReply<> setMetadata(const QVariantMap &data)
132+ {
133+ QList<QVariant> argumentList;
134+ argumentList << QVariant::fromValue(data);
135+ return asyncCallWithArgumentList(QStringLiteral("setMetadata"), argumentList);
136+ }
137+
83 inline QDBusPendingReply<> setThrottle(qulonglong speed)
138 inline QDBusPendingReply<> setThrottle(qulonglong speed)
84 {
139 {
85 QList<QVariant> argumentList;
140 QList<QVariant> argumentList;
@@ -93,6 +148,12 @@ public Q_SLOTS: // METHODS
93 return asyncCallWithArgumentList(QStringLiteral("start"), argumentList);
148 return asyncCallWithArgumentList(QStringLiteral("start"), argumentList);
94 }
149 }
95
150
151+ inline QDBusPendingReply<int> state()
152+ {
153+ QList<QVariant> argumentList;
154+ return asyncCallWithArgumentList(QStringLiteral("state"), argumentList);
155+ }
156+
96 inline QDBusPendingReply<qulonglong> throttle()
157 inline QDBusPendingReply<qulonglong> throttle()
97 {
158 {
98 QList<QVariant> argumentList;
159 QList<QVariant> argumentList;
@@ -106,10 +167,16 @@ public Q_SLOTS: // METHODS
106 }
167 }
107
168
108Q_SIGNALS: // SIGNALS
169Q_SIGNALS: // SIGNALS
170+ void authError(AuthErrorStruct error);
109 void canceled(bool success);
171 void canceled(bool success);
110 void error(const QString &error);
172 void error(const QString &error);
111 void finished(const QString &path);
173 void finished(const QString &path);
174+ void hashError(HashErrorStruct error);
175+ void httpError(HttpErrorStruct error);
176+ void networkError(NetworkErrorStruct error);
112 void paused(bool success);
177 void paused(bool success);
178+ void processError(ProcessErrorStruct error);
179+ void processing(const QString &path);
113 void progress(qulonglong received, qulonglong total);
180 void progress(qulonglong received, qulonglong total);
114 void resumed(bool success);
181 void resumed(bool success);
115 void started(bool success);
182 void started(bool success);
plugins/Ubuntu/DownloadDaemonListener/interface/metatypes.h+3−6
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright 2013 2013 Canonical Ltd.
2+ * Copyright 2013-2016 Canonical Ltd.
3 *
3 *
4 * This library is free software; you can redistribute it and/or
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of version 3 of the GNU Lesser General Public
5 * modify it under the terms of version 3 of the GNU Lesser General Public
@@ -19,10 +19,7 @@
19#ifndef DOWNLOADER_LIB_APP_METATYPES_H
19#ifndef DOWNLOADER_LIB_APP_METATYPES_H
20#define DOWNLOADER_LIB_APP_METATYPES_H
20#define DOWNLOADER_LIB_APP_METATYPES_H
21
21
22−#include <QMap>
22+// Just include the system file so we're always up to date.
23−
23+#include <ubuntu/download_manager/metatypes.h>
24−typedef QMap<QString, QString> StringMap;
25−
26−Q_DECLARE_METATYPE(StringMap)
27
24
28#endif // METATYPES_H
25#endif // METATYPES_H
plugins/Ubuntu/Gestures/AxisVelocityCalculator.cpp+1−1
@@ -21,7 +21,7 @@
21#include "AxisVelocityCalculator.h"
21#include "AxisVelocityCalculator.h"
22#include <QtCore/QElapsedTimer>
22#include <QtCore/QElapsedTimer>
23
23
24−using namespace UbuntuGestures;
24+UG_USE_NAMESPACE
25
25
26AxisVelocityCalculator::AxisVelocityCalculator(QObject *parent)
26AxisVelocityCalculator::AxisVelocityCalculator(QObject *parent)
27 : AxisVelocityCalculator(SharedTimeSource(new RealTimeSource), parent)
27 : AxisVelocityCalculator(SharedTimeSource(new RealTimeSource), parent)
plugins/Ubuntu/Gestures/AxisVelocityCalculator.h+4−4
@@ -24,7 +24,7 @@
24#include "UbuntuGesturesQmlGlobal.h"
24#include "UbuntuGesturesQmlGlobal.h"
25#include <stdint.h>
25#include <stdint.h>
26#include <QtCore/QObject>
26#include <QtCore/QObject>
27−#include <TimeSource>
27+#include <UbuntuGestures/private/timesource_p.h>
28
28
29/*
29/*
30 Estimates the current velocity of a finger based on recent movement along an axis
30 Estimates the current velocity of a finger based on recent movement along an axis
@@ -68,7 +68,7 @@ public:
68 /*
68 /*
69 Constructor that takes a TimeSource
69 Constructor that takes a TimeSource
70 */
70 */
71− AxisVelocityCalculator(const UbuntuGestures::SharedTimeSource &timeSource, QObject *parent = 0);
71+ AxisVelocityCalculator(const UG_PREPEND_NAMESPACE(SharedTimeSource) &timeSource, QObject *parent = 0);
72
72
73 virtual ~AxisVelocityCalculator();
73 virtual ~AxisVelocityCalculator();
74
74
@@ -90,7 +90,7 @@ public:
90 /*
90 /*
91 Replaces the TimeSource with the given one. Useful for testing purposes.
91 Replaces the TimeSource with the given one. Useful for testing purposes.
92 */
92 */
93− void setTimeSource(const UbuntuGestures::SharedTimeSource &timeSource);
93+ void setTimeSource(const UG_PREPEND_NAMESPACE(SharedTimeSource) &timeSource);
94
94
95 /*
95 /*
96 The minimum amount of samples needed for a velocity calculation.
96 The minimum amount of samples needed for a velocity calculation.
@@ -138,7 +138,7 @@ private:
138 int m_samplesRead; /* index of the oldest sample available. -1 if buffer is empty */
138 int m_samplesRead; /* index of the oldest sample available. -1 if buffer is empty */
139 int m_samplesWrite; /* index where the next sample will be written */
139 int m_samplesWrite; /* index where the next sample will be written */
140
140
141− UbuntuGestures::SharedTimeSource m_timeSource;
141+ UG_PREPEND_NAMESPACE(SharedTimeSource) m_timeSource;
142
142
143 qreal m_trackedPosition;
143 qreal m_trackedPosition;
144};
144};
plugins/Ubuntu/Gestures/CMakeLists.txt+1
@@ -27,6 +27,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
27include_directories(
27include_directories(
28 SYSTEM
28 SYSTEM
29 ${UBUNTUGESTURES_INCLUDE_DIRS}
29 ${UBUNTUGESTURES_INCLUDE_DIRS}
30+ ${UBUNTUGESTURES_INCLUDEDIR}/UbuntuGestures/${UBUNTUGESTURES_VERSION}
30)
31)
31
32
32# There's no cmake var for v8 include path :-/ so create one
33# There's no cmake var for v8 include path :-/ so create one
plugins/Ubuntu/Gestures/TouchGate.cpp+10−5
@@ -20,16 +20,18 @@
20#include <QDebug>
20#include <QDebug>
21#include <QQuickWindow>
21#include <QQuickWindow>
22
22
23−#include <TouchOwnershipEvent>
23+#include <UbuntuGestures/private/touchownershipevent_p.h>
24−#include <TouchRegistry>
24+#include <UbuntuGestures/private/touchregistry_p.h>
25
25
26#if TOUCHGATE_DEBUG
26#if TOUCHGATE_DEBUG
27#define ugDebug(params) qDebug().nospace() << "[TouchGate(" << (void*)this << ")] " << params
27#define ugDebug(params) qDebug().nospace() << "[TouchGate(" << (void*)this << ")] " << params
28−#include <DebugHelpers.h>
28+#include <UbuntuGestures/private/debughelpers_p.h>
29#else // TOUCHGATE_DEBUG
29#else // TOUCHGATE_DEBUG
30#define ugDebug(params) ((void)0)
30#define ugDebug(params) ((void)0)
31#endif // TOUCHGATE_DEBUG
31#endif // TOUCHGATE_DEBUG
32
32
33+UG_USE_NAMESPACE
34+
33TouchGate::TouchGate(QQuickItem *parent)
35TouchGate::TouchGate(QQuickItem *parent)
34 : QQuickItem(parent)
36 : QQuickItem(parent)
35{
37{
@@ -40,7 +42,7 @@ TouchGate::TouchGate(QQuickItem *parent)
40bool TouchGate::event(QEvent *e)
42bool TouchGate::event(QEvent *e)
41{
43{
42 if (e->type() == TouchOwnershipEvent::touchOwnershipEventType()) {
44 if (e->type() == TouchOwnershipEvent::touchOwnershipEventType()) {
43− touchOwnershipEvent(static_cast<TouchOwnershipEvent *>(e));
45+ touchOwnershipEvent(static_cast<TouchOwnershipEvent*>(e));
44 return true;
46 return true;
45 } else {
47 } else {
46 return QQuickItem::event(e);
48 return QQuickItem::event(e);
@@ -59,7 +61,10 @@ void TouchGate::touchEvent(QTouchEvent *event)
59 const QTouchEvent::TouchPoint &touchPoint = touchPoints[i];
61 const QTouchEvent::TouchPoint &touchPoint = touchPoints[i];
60
62
61 if (touchPoint.state() == Qt::TouchPointPressed) {
63 if (touchPoint.state() == Qt::TouchPointPressed) {
64+// FIXME: This assert triggers frequently in make trySomething. We have verified
65+// that it's a bug in the mouse to touch conversion of the test environment
66+// and not in the actual product. Still, it probably should be cleaned up eventually.
62− Q_ASSERT(!m_touchInfoMap.contains(touchPoint.id()));
67+// Q_ASSERT(!m_touchInfoMap.contains(touchPoint.id()));
63 m_touchInfoMap[touchPoint.id()].ownership = OwnershipRequested;
68 m_touchInfoMap[touchPoint.id()].ownership = OwnershipRequested;
64 m_touchInfoMap[touchPoint.id()].ended = false;
69 m_touchInfoMap[touchPoint.id()].ended = false;
65 TouchRegistry::instance()->requestTouchOwnership(touchPoint.id(), this);
70 TouchRegistry::instance()->requestTouchOwnership(touchPoint.id(), this);
plugins/Ubuntu/Gestures/TouchGate.h+3−2
@@ -19,6 +19,7 @@
19
19
20#include "UbuntuGesturesQmlGlobal.h"
20#include "UbuntuGesturesQmlGlobal.h"
21#include "TouchDispatcher.h"
21#include "TouchDispatcher.h"
22+#include <UbuntuGestures/ubuntugesturesglobal.h>
22
23
23#include <QQuickItem>
24#include <QQuickItem>
24#include <QList>
25#include <QList>
@@ -26,7 +27,7 @@
26
27
27#define TOUCHGATE_DEBUG 0
28#define TOUCHGATE_DEBUG 0
28
29
29−class TouchOwnershipEvent;
30+UG_FORWARD_DECLARE_CLASS(TouchOwnershipEvent)
30
31
31/*
32/*
32 Blocks the passage of events until ownership over the related touch points is granted.
33 Blocks the passage of events until ownership over the related touch points is granted.
@@ -82,7 +83,7 @@ private:
82 ulong timestamp;
83 ulong timestamp;
83 };
84 };
84
85
85− void touchOwnershipEvent(TouchOwnershipEvent *event);
86+ void touchOwnershipEvent(UG_PREPEND_NAMESPACE(TouchOwnershipEvent) *event);
86 bool isTouchPointOwned(int touchId) const;
87 bool isTouchPointOwned(int touchId) const;
87 void storeTouchEvent(QTouchDevice *device,
88 void storeTouchEvent(QTouchDevice *device,
88 Qt::KeyboardModifiers modifiers,
89 Qt::KeyboardModifiers modifiers,
plugins/Ubuntu/Gestures/TouchGestureArea.cpp+9−7
@@ -16,9 +16,9 @@
16
16
17#include "TouchGestureArea.h"
17#include "TouchGestureArea.h"
18
18
19−#include <UbuntuGestures/TouchOwnershipEvent>
19+#include <UbuntuGestures/private/touchownershipevent_p.h>
20−#include <UbuntuGestures/TouchRegistry>
20+#include <UbuntuGestures/private/touchregistry_p.h>
21−#include <UbuntuGestures/UnownedTouchEvent>
21+#include <UbuntuGestures/private/unownedtouchevent_p.h>
22// #include "TouchRegistry.h"
22// #include "TouchRegistry.h"
23// #include "UnownedTouchEvent.h"
23// #include "UnownedTouchEvent.h"
24
24
@@ -26,6 +26,8 @@
26#include <QStyleHints>
26#include <QStyleHints>
27#include <private/qquickwindow_p.h>
27#include <private/qquickwindow_p.h>
28
28
29+UG_USE_NAMESPACE
30+
29#define TOUCHGESTUREAREA_DEBUG 0
31#define TOUCHGESTUREAREA_DEBUG 0
30
32
31// TODO - understand more about why we lose touch event releases.
33// TODO - understand more about why we lose touch event releases.
@@ -135,7 +137,7 @@ TouchGestureArea::TouchGestureArea(QQuickItem* parent)
135 , m_recognitionPeriod(50)
137 , m_recognitionPeriod(50)
136 , m_releaseRejectPeriod(100)
138 , m_releaseRejectPeriod(100)
137{
139{
138− setRecognitionTimer(new UbuntuGestures::Timer(this));
140+ setRecognitionTimer(new Timer(this));
139 m_recognitionTimer->setInterval(m_recognitionPeriod);
141 m_recognitionTimer->setInterval(m_recognitionPeriod);
140 m_recognitionTimer->setSingleShot(true);
142 m_recognitionTimer->setSingleShot(true);
141}
143}
@@ -153,10 +155,10 @@ bool TouchGestureArea::event(QEvent *event)
153{
155{
154 // Process unowned touch events (handles update/release for incomplete gestures)
156 // Process unowned touch events (handles update/release for incomplete gestures)
155 if (event->type() == TouchOwnershipEvent::touchOwnershipEventType()) {
157 if (event->type() == TouchOwnershipEvent::touchOwnershipEventType()) {
156− touchOwnershipEvent(static_cast<TouchOwnershipEvent *>(event));
158+ touchOwnershipEvent(static_cast<TouchOwnershipEvent*>(event));
157 return true;
159 return true;
158 } else if (event->type() == UnownedTouchEvent::unownedTouchEventType()) {
160 } else if (event->type() == UnownedTouchEvent::unownedTouchEventType()) {
159− unownedTouchEvent(static_cast<UnownedTouchEvent *>(event)->touchEvent());
161+ unownedTouchEvent(static_cast<UnownedTouchEvent*>(event)->touchEvent());
160 return true;
162 return true;
161 }
163 }
162
164
@@ -608,7 +610,7 @@ void TouchGestureArea::setInternalStatus(uint newStatus)
608 }
610 }
609}
611}
610
612
611−void TouchGestureArea::setRecognitionTimer(UbuntuGestures::AbstractTimer *timer)
613+void TouchGestureArea::setRecognitionTimer(AbstractTimer *timer)
612{
614{
613 int interval = 0;
615 int interval = 0;
614 bool timerWasRunning = false;
616 bool timerWasRunning = false;
plugins/Ubuntu/Gestures/TouchGestureArea.h+9−8
@@ -21,10 +21,11 @@
21
21
22#include <QQuickItem>
22#include <QQuickItem>
23
23
24−#include <UbuntuGestures/Timer>
24+#include <UbuntuGestures/ubuntugesturesglobal.h>
25+#include <UbuntuGestures/private/timer_p.h>
25
26
26−class TouchOwnershipEvent;
27+UG_FORWARD_DECLARE_CLASS(TouchOwnershipEvent)
27−class UnownedTouchEvent;
28+UG_FORWARD_DECLARE_CLASS(UnownedTouchEvent)
28
29
29class GestureTouchPoint : public QObject
30class GestureTouchPoint : public QObject
30{
31{
@@ -75,7 +76,7 @@ public:
75 return *this;
76 return *this;
76 }
77 }
77
78
78− bool operator=(const GestureTouchPoint& rhs) const {
79+ bool operator==(const GestureTouchPoint& rhs) const {
79 if (&rhs == this) return true;
80 if (&rhs == this) return true;
80 return m_id == rhs.m_id &&
81 return m_id == rhs.m_id &&
81 m_pressed == rhs.m_pressed &&
82 m_pressed == rhs.m_pressed &&
@@ -83,7 +84,7 @@ public:
83 m_y == rhs.m_y &&
84 m_y == rhs.m_y &&
84 m_dragging == rhs.m_dragging;
85 m_dragging == rhs.m_dragging;
85 }
86 }
86− bool operator!=(const GestureTouchPoint& rhs) const { return !operator=(rhs); }
87+ bool operator!=(const GestureTouchPoint& rhs) const { return !operator==(rhs); }
87
88
88 void setPos(const QPointF &pos);
89 void setPos(const QPointF &pos);
89
90
@@ -141,7 +142,7 @@ public:
141
142
142 bool event(QEvent *e) override;
143 bool event(QEvent *e) override;
143
144
144− void setRecognitionTimer(UbuntuGestures::AbstractTimer *timer);
145+ void setRecognitionTimer(UG_PREPEND_NAMESPACE(AbstractTimer) *timer);
145
146
146 int status() const;
147 int status() const;
147 bool dragging() const;
148 bool dragging() const;
@@ -194,7 +195,7 @@ private:
194 void unownedTouchEvent_recognised(QTouchEvent *unownedTouchEvent);
195 void unownedTouchEvent_recognised(QTouchEvent *unownedTouchEvent);
195 void unownedTouchEvent_rejected(QTouchEvent *unownedTouchEvent);
196 void unownedTouchEvent_rejected(QTouchEvent *unownedTouchEvent);
196
197
197− void touchOwnershipEvent(TouchOwnershipEvent *event);
198+ void touchOwnershipEvent(UG_PREPEND_NAMESPACE(TouchOwnershipEvent) *event);
198 void updateTouchPoints(QTouchEvent *event);
199 void updateTouchPoints(QTouchEvent *event);
199
200
200 GestureTouchPoint* addTouchPoint(const QTouchEvent::TouchPoint *tp);
201 GestureTouchPoint* addTouchPoint(const QTouchEvent::TouchPoint *tp);
@@ -209,7 +210,7 @@ private:
209 uint m_status;
210 uint m_status;
210 QSet<int> m_candidateTouches;
211 QSet<int> m_candidateTouches;
211 QSet<int> m_watchedTouches;
212 QSet<int> m_watchedTouches;
212− UbuntuGestures::AbstractTimer *m_recognitionTimer;
213+ UG_PREPEND_NAMESPACE(AbstractTimer) *m_recognitionTimer;
213
214
214 bool m_dragging;
215 bool m_dragging;
215 QHash<int, GestureTouchPoint*> m_liveTouchPoints;
216 QHash<int, GestureTouchPoint*> m_liveTouchPoints;
plugins/Ubuntu/SystemImage/CMakeLists.txt+5
@@ -1,3 +1,7 @@
1+include_directories(
2+ ${GLIB_INCLUDE_DIRS}
3+)
4+
1set(SYSTEMIMAGE_SOURCES
5set(SYSTEMIMAGE_SOURCES
2 plugin.cpp
6 plugin.cpp
3 SystemImage.cpp
7 SystemImage.cpp
@@ -6,5 +10,6 @@ set(SYSTEMIMAGE_SOURCES
6add_library(SystemImage MODULE ${SYSTEMIMAGE_SOURCES})
10add_library(SystemImage MODULE ${SYSTEMIMAGE_SOURCES})
7
11
8qt5_use_modules(SystemImage Qml DBus Core)
12qt5_use_modules(SystemImage Qml DBus Core)
13+target_link_libraries(SystemImage ${GLIB_LIBRARIES})
9
14
10add_unity8_plugin(Ubuntu.SystemImage 0.1 Ubuntu/SystemImage TARGETS SystemImage)
15add_unity8_plugin(Ubuntu.SystemImage 0.1 Ubuntu/SystemImage TARGETS SystemImage)
plugins/Ubuntu/SystemImage/SystemImage.cpp+127−5
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014-2016 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
@@ -14,20 +14,142 @@
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
16
17−#include "SystemImage.h"
18#include <QDBusConnection>
17#include <QDBusConnection>
19#include <QDBusPendingCall>
18#include <QDBusPendingCall>
19+#include <QDBusReply>
20+#include <QDebug>
21+
22+#include <glib.h>
23+
24+#include "SystemImage.h"
25+
26+#define SYSTEMIMAGE_SERVICE QStringLiteral("com.canonical.SystemImage")
27+#define SYSTEMIMAGE_PATH QStringLiteral("/Service")
28+#define SYSTEMIMAGE_IFACE QStringLiteral("com.canonical.SystemImage")
29+
30+Q_LOGGING_CATEGORY(SYSTEMIMAGEPLUGIN, "unity8.systemimage", QtWarningMsg)
31+
32+#define DEBUG_MSG qCDebug(SYSTEMIMAGEPLUGIN).nospace().noquote() << Q_FUNC_INFO
33+#define WARNING_MSG qCWarning(SYSTEMIMAGEPLUGIN).nospace().noquote() << Q_FUNC_INFO
20
34
21SystemImage::SystemImage(QObject *parent)
35SystemImage::SystemImage(QObject *parent)
22 : QObject(parent)
36 : QObject(parent)
23{
37{
38+ QDBusConnection::systemBus().connect(SYSTEMIMAGE_SERVICE, SYSTEMIMAGE_PATH, SYSTEMIMAGE_IFACE, QStringLiteral("UpdateAvailableStatus"),
39+ this, SLOT(onUpdateAvailableStatus(bool,bool,QString,int,QString,QString)));
40+ QDBusConnection::systemBus().connect(SYSTEMIMAGE_SERVICE, SYSTEMIMAGE_PATH, SYSTEMIMAGE_IFACE, QStringLiteral("UpdateDownloaded"),
41+ this, SLOT(onUpdateDownloaded()));
42+ QDBusConnection::systemBus().connect(SYSTEMIMAGE_SERVICE, SYSTEMIMAGE_PATH, SYSTEMIMAGE_IFACE, QStringLiteral("UpdateFailed"),
43+ this, SLOT(onUpdateFailed(int,QString)));
44+ QDBusConnection::systemBus().connect(SYSTEMIMAGE_SERVICE, SYSTEMIMAGE_PATH, SYSTEMIMAGE_IFACE, QStringLiteral("Applied"),
45+ this, SLOT(onUpdateApplied(bool)));
46+ QDBusConnection::systemBus().connect(SYSTEMIMAGE_SERVICE, SYSTEMIMAGE_PATH, SYSTEMIMAGE_IFACE, QStringLiteral("Rebooting"),
47+ this, SLOT(onRebooting(bool)));
48+}
49+
50+void SystemImage::checkForUpdate()
51+{
52+ DEBUG_MSG << "Checking for update";
53+ const QDBusMessage msg = QDBusMessage::createMethodCall(SYSTEMIMAGE_SERVICE, SYSTEMIMAGE_PATH, SYSTEMIMAGE_IFACE,
54+ QStringLiteral("CheckForUpdate"));
55+ QDBusConnection::systemBus().asyncCall(msg);
56+}
57+
58+void SystemImage::applyUpdate()
59+{
60+ DEBUG_MSG << "Applying update";
61+ setUpdateApplying(true);
62+
63+ const QDBusMessage msg = QDBusMessage::createMethodCall(SYSTEMIMAGE_SERVICE, SYSTEMIMAGE_PATH, SYSTEMIMAGE_IFACE,
64+ QStringLiteral("ApplyUpdate"));
65+ QDBusConnection::systemBus().asyncCall(msg);
24}
66}
25
67
26void SystemImage::factoryReset()
68void SystemImage::factoryReset()
27{
69{
28− const QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral("com.canonical.SystemImage"),
70+ const QDBusMessage msg = QDBusMessage::createMethodCall(SYSTEMIMAGE_SERVICE, SYSTEMIMAGE_PATH, SYSTEMIMAGE_IFACE,
29− QStringLiteral("/Service"),
30− QStringLiteral("com.canonical.SystemImage"),
31 QStringLiteral("FactoryReset"));
71 QStringLiteral("FactoryReset"));
32 QDBusConnection::systemBus().asyncCall(msg);
72 QDBusConnection::systemBus().asyncCall(msg);
33}
73}
74+
75+void SystemImage::onUpdateAvailableStatus(bool is_available, bool downloading, const QString &available_version, int update_size,
76+ const QString &last_update_date, const QString &error_reason)
77+{
78+ DEBUG_MSG << "A new update is " << (is_available ? "" : "NOT") << "available";
79+
80+ if (is_available == m_updateAvailable) {
81+ return;
82+ }
83+
84+ m_updateAvailable = is_available;
85+ m_downloading = downloading;
86+ m_availableVersion = available_version;
87+ m_updateSize = formatSize(update_size);
88+ m_lastUpdateDate = last_update_date;
89+ m_errorReason = error_reason;
90+ Q_EMIT updateAvailableStatus();
91+
92+ DEBUG_MSG << "Downloading: " << downloading << ", version: " << available_version << ", last update: " << last_update_date <<
93+ ", size: " << m_updateSize;
94+}
95+
96+void SystemImage::onUpdateDownloaded()
97+{
98+ DEBUG_MSG << "Update downloaded";
99+
100+ m_downloaded = true;
101+ Q_EMIT updateDownloadedChanged();
102+}
103+
104+void SystemImage::onUpdateFailed(int /*consecutive_failure_count*/, const QString &last_reason)
105+{
106+ WARNING_MSG << "System Update failed: " << last_reason;
107+ setUpdateApplying(false);
108+}
109+
110+void SystemImage::onUpdateApplied(bool applied)
111+{
112+ DEBUG_MSG << "System Update applied with status: " << applied;
113+ setUpdateApplying(false);
114+ if (applied) {
115+ resetUpdateStatus();
116+ Q_EMIT updateAvailableStatus();
117+ }
118+}
119+
120+void SystemImage::onRebooting(bool status)
121+{
122+ setUpdateApplying(false);
123+ DEBUG_MSG << "Rebooting: " << status;
124+}
125+
126+void SystemImage::setUpdateApplying(bool status)
127+{
128+ if (status != m_updateApplying) {
129+ m_updateApplying = status;
130+ Q_EMIT updateApplyingChanged();
131+ }
132+}
133+
134+void SystemImage::resetUpdateStatus()
135+{
136+ m_updateAvailable = false;
137+ m_updateApplying = false;
138+ m_downloading = false;
139+ m_downloaded = false;
140+ m_availableVersion.clear();
141+ m_updateSize.clear();
142+ m_lastUpdateDate.clear();
143+ m_errorReason.clear();
144+}
145+
146+QString SystemImage::formatSize(quint64 size) const
147+{
148+ guint64 g_size = size;
149+
150+ gchar * formatted_size = g_format_size(g_size);
151+ QString q_formatted_size = QString::fromLocal8Bit(formatted_size);
152+ g_free(formatted_size);
153+
154+ return q_formatted_size;
155+}
plugins/Ubuntu/SystemImage/SystemImage.h+52−2
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014-2016 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
@@ -18,17 +18,67 @@
18#define SYSTEMIMAGE_H
18#define SYSTEMIMAGE_H
19
19
20#include <QObject>
20#include <QObject>
21+#include <QLoggingCategory>
22+
23+Q_DECLARE_LOGGING_CATEGORY(SYSTEMIMAGEPLUGIN)
21
24
22class SystemImage : public QObject
25class SystemImage : public QObject
23{
26{
24 Q_OBJECT
27 Q_OBJECT
25 Q_DISABLE_COPY(SystemImage)
28 Q_DISABLE_COPY(SystemImage)
26
29
30+ Q_PROPERTY(bool updateAvailable READ updateAvailable NOTIFY updateAvailableStatus)
31+ Q_PROPERTY(bool updateDownloading READ updateDownloading NOTIFY updateAvailableStatus)
32+ Q_PROPERTY(QString availableVersion READ availableVersion NOTIFY updateAvailableStatus)
33+ Q_PROPERTY(QString updateSize READ updateSize NOTIFY updateAvailableStatus)
34+ Q_PROPERTY(bool updateApplying READ updateApplying NOTIFY updateApplyingChanged)
35+ Q_PROPERTY(bool updateDownloaded READ updateDownloaded NOTIFY updateDownloadedChanged)
36+
27public:
37public:
28− explicit SystemImage(QObject *parent = 0);
38+ explicit SystemImage(QObject *parent = nullptr);
29 ~SystemImage() = default;
39 ~SystemImage() = default;
30
40
41+ bool updateAvailable() const { return m_updateAvailable; }
42+ bool updateDownloading() const { return m_downloading; }
43+ QString availableVersion() const { return m_availableVersion; }
44+ QString updateSize() const { return m_updateSize; }
45+ bool updateApplying() const { return m_updateApplying; }
46+ bool updateDownloaded() const { return m_downloaded; }
47+
48+public Q_SLOTS:
49+ Q_INVOKABLE void checkForUpdate();
50+ Q_INVOKABLE void applyUpdate();
31 Q_INVOKABLE void factoryReset();
51 Q_INVOKABLE void factoryReset();
52+
53+private Q_SLOTS:
54+ void onUpdateAvailableStatus(bool is_available, bool updateDownloading, const QString &available_version,
55+ int update_size, const QString &last_update_date, const QString &error_reason);
56+ void onUpdateDownloaded();
57+ void onUpdateFailed(int consecutive_failure_count, const QString & last_reason);
58+ void onUpdateApplied(bool applied);
59+ void onRebooting(bool status);
60+
61+Q_SIGNALS:
62+ void updateAvailableStatus();
63+ void updateDownloadedChanged();
64+ void updateApplyingChanged();
65+
66+private Q_SLOTS:
67+ void setUpdateApplying(bool status);
68+
69+private:
70+ void resetUpdateStatus();
71+ QString formatSize(quint64 size) const;
72+
73+private:
74+ bool m_updateAvailable = false;
75+ bool m_updateApplying = false;
76+ bool m_downloading = false;
77+ bool m_downloaded = false;
78+ QString m_availableVersion;
79+ QString m_updateSize;
80+ QString m_lastUpdateDate;
81+ QString m_errorReason;
32};
82};
33
83
34#endif // SYSTEMIMAGE_H
84#endif // SYSTEMIMAGE_H
plugins/Ubuntu/SystemImage/plugin.cpp+3−9
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014-2016 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
@@ -19,16 +19,10 @@
19
19
20#include <QtQml>
20#include <QtQml>
21
21
22−static QObject *service_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
23−{
24− Q_UNUSED(engine)
25− Q_UNUSED(scriptEngine)
26− return new SystemImage();
27−}
28−
29void BackendPlugin::registerTypes(const char *uri)
22void BackendPlugin::registerTypes(const char *uri)
30{
23{
31 Q_ASSERT(uri == QLatin1String("Ubuntu.SystemImage"));
24 Q_ASSERT(uri == QLatin1String("Ubuntu.SystemImage"));
32
25
33− qmlRegisterSingletonType<SystemImage>(uri, 0, 1, "SystemImage", service_provider);
26+ qmlRegisterSingletonType<SystemImage>(uri, 0, 1, "SystemImage",
27+ [](QQmlEngine*, QJSEngine*) -> QObject* { return new SystemImage; });
34}
28}
plugins/Ubuntu/SystemImage/plugin.h+1−1
@@ -22,7 +22,7 @@
22class BackendPlugin : public QQmlExtensionPlugin
22class BackendPlugin : public QQmlExtensionPlugin
23{
23{
24 Q_OBJECT
24 Q_OBJECT
25− Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
25+ Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
26
26
27public:
27public:
28 void registerTypes(const char *uri) override;
28 void registerTypes(const char *uri) override;
plugins/Unity/Indicators/actionrootstate.cpp+1−1
@@ -44,7 +44,7 @@ void ActionRootState::setActionGroup(QDBusActionGroup *actionGroup)
44 connect(m_actionGroup, &QDBusActionGroup::statusChanged, this, [&](bool) { updateActionState(); });
44 connect(m_actionGroup, &QDBusActionGroup::statusChanged, this, [&](bool) { updateActionState(); });
45 connect(m_actionGroup, &QDBusActionGroup::actionAppear, this, [&](const QString&) { updateActionState(); });
45 connect(m_actionGroup, &QDBusActionGroup::actionAppear, this, [&](const QString&) { updateActionState(); });
46 connect(m_actionGroup, &QDBusActionGroup::actionVanish, this, [&](const QString&) { updateActionState(); });
46 connect(m_actionGroup, &QDBusActionGroup::actionVanish, this, [&](const QString&) { updateActionState(); });
47− connect(m_actionGroup, &QDBusActionGroup::actionStateChanged, this, [&](QVariant) { updateActionState(); });
47+ connect(m_actionGroup, &QDBusActionGroup::actionStateChanged, this, [&](const QVariant&) { updateActionState(); });
48
48
49 connect(m_actionGroup, &QObject::destroyed, this, [&](QObject*) { updateActionState(); });
49 connect(m_actionGroup, &QObject::destroyed, this, [&](QObject*) { updateActionState(); });
50 }
50 }
plugins/Unity/Indicators/indicatorsmanager.cpp+3−8
@@ -114,10 +114,6 @@ void IndicatorsManager::loadFile(const QFileInfo& file_info)
114 QSettings indicator_settings(file_info.absoluteFilePath(), QSettings::IniFormat, this);
114 QSettings indicator_settings(file_info.absoluteFilePath(), QSettings::IniFormat, this);
115 const QString name = indicator_settings.value(QStringLiteral("Indicator Service/Name")).toString();
115 const QString name = indicator_settings.value(QStringLiteral("Indicator Service/Name")).toString();
116
116
117− if (m_platform.isPC() && name == QLatin1String("indicator-keyboard")) {
118− return; // convergence: skip this indicator until it works in Mir
119− }
120−
121 auto iter = m_indicatorsData.constFind(name);
117 auto iter = m_indicatorsData.constFind(name);
122 if (iter != m_indicatorsData.constEnd())
118 if (iter != m_indicatorsData.constEnd())
123 {
119 {
@@ -285,13 +281,12 @@ Indicator::Ptr IndicatorsManager::indicator(const QString& indicator_name)
285
281
286 // convergence:
282 // convergence:
287 // 1) enable session indicator
283 // 1) enable session indicator
288− // 2) on a PC, switch the battery/power indicator to desktop mode,
284+ // 2) enable keyboard indicator
289− // can't control brightness for now and phone-on-desktop broken (FIXME)
290 //
285 //
291 // The rest of the indicators respect their default profile (which is "phone", even on desktop PCs)
286 // The rest of the indicators respect their default profile (which is "phone", even on desktop PCs)
292 if ((new_indicator->identifier() == QStringLiteral("indicator-session"))
287 if ((new_indicator->identifier() == QStringLiteral("indicator-session"))
293− || (new_indicator->identifier() == QStringLiteral("indicator-power") && m_platform.isPC())) {
288+ || new_indicator->identifier() == QStringLiteral("indicator-keyboard")) {
294− new_indicator->setProfile(m_profile.replace(QStringLiteral("phone"), QStringLiteral("desktop")));
289+ new_indicator->setProfile(QString(m_profile).replace(QStringLiteral("phone"), QStringLiteral("desktop")));
295 } else {
290 } else {
296 new_indicator->setProfile(m_profile);
291 new_indicator->setProfile(m_profile);
297 }
292 }
plugins/Unity/Indicators/modelprinter.cpp+19−4
@@ -105,12 +105,25 @@ QString ModelPrinter::getRowSring(UnityMenuModel* sourceModel, int row, int dept
105
105
106 Q_FOREACH(int role, roles) {
106 Q_FOREACH(int role, roles) {
107 const QByteArray& roleName = roleNames[role];
107 const QByteArray& roleName = roleNames[role];
108− stream << tabify(depth) << getVariantString(roleName, sourceModel->get(row, roleName));
108+ stream << getVariantString(roleName, sourceModel->get(row, roleName), depth);
109 }
109 }
110 return str;
110 return str;
111}
111}
112
112
113−QString ModelPrinter::getVariantString(const QString& roleName, const QVariant &vData) const
113+QString ModelPrinter::getVariantString(const QVariant& vData) const
114+{
115+ if (vData.type() == QVariant::List) {
116+ QStringList strList;
117+ for (const auto& v : vData.toList())
118+ strList.append(getVariantString(v));
119+
120+ return '[' + strList.join(", ") + ']';
121+ }
122+
123+ return vData.toString();
124+}
125+
126+QString ModelPrinter::getVariantString(const QString& roleName, const QVariant &vData, int depth) const
114{
127{
115 QString str;
128 QString str;
116 QTextStream stream(&str);
129 QTextStream stream(&str);
@@ -119,18 +132,20 @@ QString ModelPrinter::getVariantString(const QString& roleName, const QVariant &
119 QMapIterator<QString, QVariant> iter(vData.toMap());
132 QMapIterator<QString, QVariant> iter(vData.toMap());
120 while (iter.hasNext()) {
133 while (iter.hasNext()) {
121 iter.next();
134 iter.next();
135+ stream << tabify(depth);
122 stream << roleName
136 stream << roleName
123 << "."
137 << "."
124 << iter.key()
138 << iter.key()
125 << ": "
139 << ": "
126− << iter.value().toString()
140+ << getVariantString(iter.value())
127 << endl;
141 << endl;
128 }
142 }
129 }
143 }
130 else {
144 else {
145+ stream << tabify(depth);
131 stream << roleName
146 stream << roleName
132 << ": "
147 << ": "
133− << vData.toString()
148+ << getVariantString(vData)
134 << endl;
149 << endl;
135 }
150 }
136 return str;
151 return str;
plugins/Unity/Indicators/modelprinter.h+2−1
@@ -46,7 +46,8 @@ Q_SIGNALS:
46private:
46private:
47 QString getModelDataString(UnityMenuModel* sourceModel, int level);
47 QString getModelDataString(UnityMenuModel* sourceModel, int level);
48 QString getRowSring(UnityMenuModel* sourceModel, int index, int depth) const;
48 QString getRowSring(UnityMenuModel* sourceModel, int index, int depth) const;
49− QString getVariantString(const QString& roleName, const QVariant &vData) const;
49+ QString getVariantString(const QString& roleName, const QVariant &vData, int depth) const;
50+ QString getVariantString(const QVariant&) const;
50
51
51 UnityMenuModel* m_model;
52 UnityMenuModel* m_model;
52 QList<UnityMenuModel*> m_children;
53 QList<UnityMenuModel*> m_children;
plugins/Unity/Launcher/CMakeLists.txt+9−4
@@ -1,4 +1,4 @@
1−pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=9)
1+pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=10)
2pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
2pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
3
3
4add_definitions(-DSM_BUSNAME=systemBus)
4add_definitions(-DSM_BUSNAME=systemBus)
@@ -6,11 +6,16 @@ add_definitions(-DSM_BUSNAME=systemBus)
6include_directories(
6include_directories(
7 ${CMAKE_CURRENT_SOURCE_DIR}
7 ${CMAKE_CURRENT_SOURCE_DIR}
8 ${CMAKE_SOURCE_DIR}/plugins/AccountsService
8 ${CMAKE_SOURCE_DIR}/plugins/AccountsService
9− ${GSETTINGS_QT_INCLUDE_DIRS}
10− ${GLIB_INCLUDE_DIRS}
11 ${libunity8-private_SOURCE_DIR}
9 ${libunity8-private_SOURCE_DIR}
12)
10)
13
11
12+include_directories(
13+ SYSTEM
14+ ${GSETTINGS_QT_INCLUDE_DIRS}
15+ ${GLIB_INCLUDE_DIRS}
16+ ${UAL_INCLUDE_DIRS}
17+ )
18+
14set(QMLLAUNCHERPLUGIN_SRC
19set(QMLLAUNCHERPLUGIN_SRC
15 plugin.cpp
20 plugin.cpp
16 launchermodel.cpp
21 launchermodel.cpp
@@ -19,7 +24,6 @@ set(QMLLAUNCHERPLUGIN_SRC
19 quicklistentry.cpp
24 quicklistentry.cpp
20 dbusinterface.cpp
25 dbusinterface.cpp
21 gsettings.cpp
26 gsettings.cpp
22− desktopfilehandler.cpp
23 asadapter.cpp
27 asadapter.cpp
24 ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsServiceDBusAdaptor.cpp
28 ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsServiceDBusAdaptor.cpp
25 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
29 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
@@ -38,6 +42,7 @@ target_link_libraries(UnityLauncher-qml
38 unity8-private
42 unity8-private
39 ${GSETTINGS_QT_LDFLAGS}
43 ${GSETTINGS_QT_LDFLAGS}
40 ${GLIB_LIBRARIES}
44 ${GLIB_LIBRARIES}
45+ ${UAL_LIBRARIES}
41 )
46 )
42
47
43qt5_use_modules(UnityLauncher-qml DBus Qml Gui)
48qt5_use_modules(UnityLauncher-qml DBus Qml Gui)
plugins/Unity/Launcher/desktopfilehandler.cppdeleted−155
@@ -1,155 +0,0 @@
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 Lesser General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU Lesser General Public License for more details.
12− *
13− * You should have received a copy of the GNU Lesser General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors:
17− * Michael Zanetti <michael.zanetti@canonical.com>
18− */
19−
20−#include "desktopfilehandler.h"
21−
22−#include <QStringList>
23−#include <QStandardPaths>
24−#include <QDir>
25−#include <QSettings>
26−#include <QLocale>
27−
28−#include <libintl.h>
29−
30−DesktopFileHandler::DesktopFileHandler(const QString &appId, QObject *parent):
31− QObject(parent),
32− m_appId(appId)
33−{
34− load();
35−}
36−
37−QString DesktopFileHandler::appId() const
38−{
39− return m_appId;
40−}
41−
42−void DesktopFileHandler::setAppId(const QString &appId)
43−{
44− if (m_appId != appId) {
45− m_appId = appId;
46− load();
47− }
48−}
49−
50−QString DesktopFileHandler::filename() const
51−{
52− return m_filename;
53−}
54−
55−bool DesktopFileHandler::isValid() const
56−{
57− return !m_filename.isEmpty();
58−}
59−
60−void DesktopFileHandler::load()
61−{
62− m_filename.clear();
63−
64− if (m_appId.isEmpty()) {
65− return;
66− }
67−
68− int dashPos = -1;
69− QString helper = m_appId;
70−
71− QStringList searchDirs = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
72−#ifdef LAUNCHER_TESTING
73− searchDirs << QStringLiteral(".");
74−#endif
75−
76− QString path;
77− do {
78− if (dashPos != -1) {
79− helper.replace(dashPos, 1, '/');
80− }
81−
82− if (helper.contains('/')) {
83− path += helper.split('/').at(0) + '/';
84− helper.remove(QRegExp("^" + path));
85− }
86−
87− Q_FOREACH(const QString &searchDirName, searchDirs) {
88− QDir searchDir(searchDirName + "/" + path);
89− const QString desktop = QStringLiteral("*.desktop");
90− Q_FOREACH(const QString &desktopFile, searchDir.entryList(QStringList() << desktop)) {
91− if (desktopFile.startsWith(helper)) {
92− QFileInfo fileInfo(searchDir, desktopFile);
93− m_filename = fileInfo.absoluteFilePath();
94− return;
95− }
96− }
97− }
98−
99− dashPos = helper.indexOf('-');
100− } while (dashPos != -1);
101−}
102−
103−QString DesktopFileHandler::displayName() const
104−{
105− if (!isValid()) {
106− return QString();
107− }
108−
109− QSettings settings(m_filename, QSettings::IniFormat);
110− settings.setIniCodec("UTF-8");
111− settings.beginGroup(QStringLiteral("Desktop Entry"));
112−
113− // First try to find Name[xx_YY] and Name[xx] in .desktop file
114− const QString locale = QLocale().name();
115− const QStringList splitLocale = locale.split(QLatin1Char('_'));
116− const QString shortLocale = splitLocale.first();
117−
118− if (locale != shortLocale && settings.contains(QStringLiteral("Name[%1]").arg(locale))) {
119− return settings.value(QStringLiteral("Name[%1]").arg(locale)).toString();
120− }
121−
122− if (settings.contains(QStringLiteral("Name[%1]").arg(shortLocale))) {
123− return settings.value(QStringLiteral("Name[%1]").arg(shortLocale)).toString();
124− }
125−
126− // No translation found in desktop file. Get the untranslated one and have a go with gettext.
127− QString displayName = settings.value(QStringLiteral("Name")).toString();
128−
129− if (settings.contains(QStringLiteral("X-Ubuntu-Gettext-Domain"))) {
130− const QString domain = settings.value(QStringLiteral("X-Ubuntu-Gettext-Domain")).toString();
131− return dgettext(domain.toUtf8().constData(), displayName.toUtf8().constData());
132− }
133−
134− return displayName;
135−}
136−
137−QString DesktopFileHandler::icon() const
138−{
139− if (!isValid()) {
140− return QString();
141− }
142−
143− QSettings settings(m_filename, QSettings::IniFormat);
144− settings.setIniCodec("UTF-8");
145− settings.beginGroup(QStringLiteral("Desktop Entry"));
146− QString iconString = settings.value(QStringLiteral("Icon")).toString();
147− QString pathString = settings.value(QStringLiteral("Path")).toString();
148−
149− if (QFileInfo::exists(iconString)) {
150− return QFileInfo(iconString).absoluteFilePath();
151− } else if (QFileInfo::exists(pathString + '/' + iconString)) {
152− return pathString + '/' + iconString;
153− }
154− return "image://theme/" + iconString;
155−}
plugins/Unity/Launcher/desktopfilehandler.hdeleted−56
@@ -1,56 +0,0 @@
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 Lesser General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU Lesser General Public License for more details.
12− *
13− * You should have received a copy of the GNU Lesser General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors:
17− * Michael Zanetti <michael.zanetti@canonical.com>
18− */
19−
20−#ifndef DESKTOPFILEHANDLER_H
21−#define DESKTOPFILEHANDLER_H
22−
23−#include <QObject>
24−
25−/**
26− * When an object of this class is created or whenever setAppId(appId) is called,
27− * this will search for a .desktop file matching the give appId. If a file is
28− * found, isValid() will return true and the other methods return the contents
29− * of the .desktop file.
30− *
31− * Note that this class will consider the user's locale and do a best effort
32− * to return localized values.
33− */
34−
35−class DesktopFileHandler: public QObject
36−{
37− Q_OBJECT
38−public:
39− DesktopFileHandler(const QString &appId = QString(), QObject *parent = nullptr);
40−
41− QString appId() const;
42− void setAppId(const QString &appId);
43−
44− bool isValid() const;
45− QString filename() const;
46− QString displayName() const;
47− QString icon() const;
48−
49−private:
50− void load();
51−
52− QString m_appId;
53− QString m_filename;
54−};
55−
56−#endif
plugins/Unity/Launcher/launcheritem.cpp+1
@@ -42,6 +42,7 @@ LauncherItem::LauncherItem(const QString &appId, const QString &name, const QStr
42 QuickListEntry nameAction;
42 QuickListEntry nameAction;
43 nameAction.setActionId(QStringLiteral("launch_item"));
43 nameAction.setActionId(QStringLiteral("launch_item"));
44 nameAction.setText(m_name);
44 nameAction.setText(m_name);
45+ nameAction.setHasSeparator(true);
45 m_quickList->appendAction(nameAction);
46 m_quickList->appendAction(nameAction);
46
47
47 QuickListEntry pinningAction;
48 QuickListEntry pinningAction;
plugins/Unity/Launcher/launchermodel.cpp+53−26
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright 2013-2014 Canonical Ltd.
2+ * Copyright 2013-2016 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 Lesser General Public License as published by
5 * it under the terms of the GNU Lesser General Public License as published by
@@ -12,24 +12,25 @@
12 *
12 *
13 * You should have received a copy of the GNU Lesser General Public License
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors:
17− * Michael Zanetti <michael.zanetti@canonical.com>
18 */
15 */
19
16
20#include "launchermodel.h"
17#include "launchermodel.h"
21#include "launcheritem.h"
18#include "launcheritem.h"
22#include "gsettings.h"
19#include "gsettings.h"
23−#include "desktopfilehandler.h"
24#include "dbusinterface.h"
20#include "dbusinterface.h"
25#include "asadapter.h"
21#include "asadapter.h"
26
22
23+#include <ubuntu-app-launch/appid.h>
24+#include <ubuntu-app-launch/application.h>
25+#include <ubuntu-app-launch/registry.h>
27#include <unity/shell/application/ApplicationInfoInterface.h>
26#include <unity/shell/application/ApplicationInfoInterface.h>
28#include <unity/shell/application/MirSurfaceListInterface.h>
27#include <unity/shell/application/MirSurfaceListInterface.h>
29
28
30#include <QDesktopServices>
29#include <QDesktopServices>
31#include <QDebug>
30#include <QDebug>
32
31
32+namespace ual = ubuntu::app_launch;
33+
33using namespace unity::shell::application;
34using namespace unity::shell::application;
34
35
35LauncherModel::LauncherModel(QObject *parent):
36LauncherModel::LauncherModel(QObject *parent):
@@ -37,7 +38,8 @@ LauncherModel::LauncherModel(QObject *parent):
37 m_settings(new GSettings(this)),
38 m_settings(new GSettings(this)),
38 m_dbusIface(new DBusInterface(this)),
39 m_dbusIface(new DBusInterface(this)),
39 m_asAdapter(new ASAdapter()),
40 m_asAdapter(new ASAdapter()),
40− m_appManager(nullptr)
41+ m_appManager(nullptr),
42+ m_ualRegistry(std::make_shared<ual::Registry>())
41{
43{
42 connect(m_dbusIface, &DBusInterface::countChanged, this, &LauncherModel::countChanged);
44 connect(m_dbusIface, &DBusInterface::countChanged, this, &LauncherModel::countChanged);
43 connect(m_dbusIface, &DBusInterface::countVisibleChanged, this, &LauncherModel::countVisibleChanged);
45 connect(m_dbusIface, &DBusInterface::countVisibleChanged, this, &LauncherModel::countVisibleChanged);
@@ -157,16 +159,16 @@ void LauncherModel::pin(const QString &appId, int index)
157 index = m_list.count();
159 index = m_list.count();
158 }
160 }
159
161
160− DesktopFileHandler desktopFile(appId);
162+ auto appInfo = getApplicationInfo(appId);
161− if (!desktopFile.isValid()) {
163+ if (!appInfo.valid) {
162− qWarning() << "Can't pin this application, there is no .desktop file available.";
164+ qWarning() << "Can't pin application, appId not found:" << appId;
163 return;
165 return;
164 }
166 }
165
167
166 beginInsertRows(QModelIndex(), index, index);
168 beginInsertRows(QModelIndex(), index, index);
167 LauncherItem *item = new LauncherItem(appId,
169 LauncherItem *item = new LauncherItem(appId,
168− desktopFile.displayName(),
170+ appInfo.name,
169− desktopFile.icon(),
171+ appInfo.icon,
170 this);
172 this);
171 item->setPinned(true);
173 item->setPinned(true);
172 m_list.insert(index, item);
174 m_list.insert(index, item);
@@ -333,6 +335,32 @@ int LauncherModel::findApplication(const QString &appId)
333 return -1;
335 return -1;
334}
336}
335
337
338+LauncherModel::AppInfo LauncherModel::getApplicationInfo(const QString &appId)
339+{
340+ AppInfo info;
341+
342+ ual::AppID ualAppId = ual::AppID::find(m_ualRegistry, appId.toStdString());
343+ if (ualAppId.empty()) {
344+ return info;
345+ }
346+
347+ std::shared_ptr<ual::Application> ualApp;
348+ try
349+ {
350+ ualApp = ual::Application::create(ualAppId, m_ualRegistry);
351+ }
352+ catch (std::runtime_error &e)
353+ {
354+ qWarning() << "Couldn't find application info for" << appId << "-" << e.what();
355+ return info;
356+ }
357+
358+ info.valid = true;
359+ info.name = QString::fromStdString(ualApp->info()->name());
360+ info.icon = QString::fromStdString(ualApp->info()->iconPath());
361+ return info;
362+}
363+
336void LauncherModel::progressChanged(const QString &appId, int progress)
364void LauncherModel::progressChanged(const QString &appId, int progress)
337{
365{
338 const int idx = findApplication(appId);
366 const int idx = findApplication(appId);
@@ -380,11 +408,11 @@ void LauncherModel::countVisibleChanged(const QString &appId, bool countVisible)
380 }
408 }
381 } else {
409 } else {
382 // Need to create a new LauncherItem and show the highlight
410 // Need to create a new LauncherItem and show the highlight
383− DesktopFileHandler desktopFile(appId);
411+ auto appInfo = getApplicationInfo(appId);
384− if (countVisible && desktopFile.isValid()) {
412+ if (countVisible && appInfo.valid) {
385 LauncherItem *item = new LauncherItem(appId,
413 LauncherItem *item = new LauncherItem(appId,
386− desktopFile.displayName(),
414+ appInfo.name,
387− desktopFile.icon(),
415+ appInfo.icon,
388 this);
416 this);
389 item->setCountVisible(true);
417 item->setCountVisible(true);
390 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
418 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
@@ -400,28 +428,28 @@ void LauncherModel::refresh()
400 // First walk through all the existing items and see if we need to remove something
428 // First walk through all the existing items and see if we need to remove something
401 QList<LauncherItem*> toBeRemoved;
429 QList<LauncherItem*> toBeRemoved;
402 Q_FOREACH (LauncherItem* item, m_list) {
430 Q_FOREACH (LauncherItem* item, m_list) {
403− DesktopFileHandler desktopFile(item->appId());
431+ auto appInfo = getApplicationInfo(item->appId());
404− if (!desktopFile.isValid()) {
432+ if (!appInfo.valid) {
405− // Desktop file not available for this app => drop it!
433+ // Application no longer available => drop it!
406 toBeRemoved << item;
434 toBeRemoved << item;
407 } else if (!m_settings->storedApplications().contains(item->appId())) {
435 } else if (!m_settings->storedApplications().contains(item->appId())) {
408 // Item not in settings any more => drop it!
436 // Item not in settings any more => drop it!
409 toBeRemoved << item;
437 toBeRemoved << item;
410 } else {
438 } else {
411 int idx = m_list.indexOf(item);
439 int idx = m_list.indexOf(item);
412− item->setName(desktopFile.displayName());
440+ item->setName(appInfo.name);
413 item->setPinned(item->pinned()); // update pinned text if needed
441 item->setPinned(item->pinned()); // update pinned text if needed
414 item->setRunning(item->running());
442 item->setRunning(item->running());
415 Q_EMIT dataChanged(index(idx), index(idx), {RoleName, RoleRunning});
443 Q_EMIT dataChanged(index(idx), index(idx), {RoleName, RoleRunning});
416
444
417 const QString oldIcon = item->icon();
445 const QString oldIcon = item->icon();
418− if (oldIcon == desktopFile.icon()) { // same icon file, perhaps different contents, simulate changing the icon name to force reload
446+ if (oldIcon == appInfo.icon) { // same icon file, perhaps different contents, simulate changing the icon name to force reload
419 item->setIcon(QString());
447 item->setIcon(QString());
420 Q_EMIT dataChanged(index(idx), index(idx), {RoleIcon});
448 Q_EMIT dataChanged(index(idx), index(idx), {RoleIcon});
421 }
449 }
422
450
423 // now set the icon for real
451 // now set the icon for real
424− item->setIcon(desktopFile.icon());
452+ item->setIcon(appInfo.icon);
425 Q_EMIT dataChanged(index(idx), index(idx), {RoleIcon});
453 Q_EMIT dataChanged(index(idx), index(idx), {RoleIcon});
426 }
454 }
427 }
455 }
@@ -452,15 +480,14 @@ void LauncherModel::refresh()
452 if (itemIndex == -1) {
480 if (itemIndex == -1) {
453 // Need to add it. Just add it into the addedIndex to keep same ordering as the list
481 // Need to add it. Just add it into the addedIndex to keep same ordering as the list
454 // in the settings.
482 // in the settings.
455− DesktopFileHandler desktopFile(entry);
483+ auto appInfo = getApplicationInfo(entry);
456− if (!desktopFile.isValid()) {
484+ if (!appInfo.valid) {
457− qWarning() << "Couldn't find a .desktop file for" << entry << ". Skipping...";
458 continue;
485 continue;
459 }
486 }
460
487
461 LauncherItem *item = new LauncherItem(entry,
488 LauncherItem *item = new LauncherItem(entry,
462− desktopFile.displayName(),
489+ appInfo.name,
463− desktopFile.icon(),
490+ appInfo.icon,
464 this);
491 this);
465 item->setPinned(true);
492 item->setPinned(true);
466 beginInsertRows(QModelIndex(), addedIndex, addedIndex);
493 beginInsertRows(QModelIndex(), addedIndex, addedIndex);
plugins/Unity/Launcher/launchermodel.h+17−8
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright 2013-2014 Canonical Ltd.
2+ * Copyright 2013-2016 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 Lesser General Public License as published by
5 * it under the terms of the GNU Lesser General Public License as published by
@@ -12,14 +12,11 @@
12 *
12 *
13 * You should have received a copy of the GNU Lesser General Public License
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors:
17− * Michael Zanetti <michael.zanetti@canonical.com>
18 */
15 */
19
16
20−#ifndef LAUNCHERMODEL_H
17+#pragma once
21−#define LAUNCHERMODEL_H
22
18
19+#include <memory>
23#include <unity/shell/launcher/LauncherModelInterface.h>
20#include <unity/shell/launcher/LauncherModelInterface.h>
24#include <unity/shell/application/ApplicationManagerInterface.h>
21#include <unity/shell/application/ApplicationManagerInterface.h>
25
22
@@ -30,6 +27,12 @@ class GSettings;
30class DBusInterface;
27class DBusInterface;
31class ASAdapter;
28class ASAdapter;
32
29
30+namespace ubuntu {
31+ namespace app_launch {
32+ class Registry;
33+ }
34+}
35+
33using namespace unity::shell::launcher;
36using namespace unity::shell::launcher;
34using namespace unity::shell::application;
37using namespace unity::shell::application;
35
38
@@ -70,6 +73,13 @@ private:
70
73
71 void unpin(const QString &appId);
74 void unpin(const QString &appId);
72
75
76+ struct AppInfo {
77+ bool valid = false;
78+ QString name;
79+ QString icon;
80+ };
81+ AppInfo getApplicationInfo(const QString &appId);
82+
73private Q_SLOTS:
83private Q_SLOTS:
74 void countChanged(const QString &appId, int count);
84 void countChanged(const QString &appId, int count);
75 void countVisibleChanged(const QString &appId, bool count);
85 void countVisibleChanged(const QString &appId, bool count);
@@ -88,8 +98,7 @@ private:
88 ASAdapter *m_asAdapter;
98 ASAdapter *m_asAdapter;
89
99
90 ApplicationManagerInterface *m_appManager;
100 ApplicationManagerInterface *m_appManager;
101+ std::shared_ptr<ubuntu::app_launch::Registry> m_ualRegistry;
91
102
92 friend class LauncherModelTest;
103 friend class LauncherModelTest;
93};
104};
94−
95−#endif // LAUNCHERMODEL_H
plugins/Unity/Launcher/quicklistentry.cpp+11
@@ -19,6 +19,7 @@
19#include "quicklistentry.h"
19#include "quicklistentry.h"
20
20
21QuickListEntry::QuickListEntry()
21QuickListEntry::QuickListEntry()
22+ : m_hasSeparator(false)
22{
23{
23}
24}
24
25
@@ -57,6 +58,16 @@ bool QuickListEntry::clickable() const
57 return !m_actionId.isEmpty();
58 return !m_actionId.isEmpty();
58}
59}
59
60
61+void QuickListEntry::setHasSeparator(bool hasSeparator)
62+{
63+ m_hasSeparator = hasSeparator;
64+}
65+
66+bool QuickListEntry::hasSeparator() const
67+{
68+ return m_hasSeparator;
69+}
70+
60bool QuickListEntry::operator==(const QuickListEntry &other)
71bool QuickListEntry::operator==(const QuickListEntry &other)
61{
72{
62 return !other.actionId().isEmpty() && other.actionId() == m_actionId;
73 return !other.actionId().isEmpty() && other.actionId() == m_actionId;
plugins/Unity/Launcher/quicklistentry.h+4
@@ -37,12 +37,16 @@ public:
37
37
38 bool clickable() const;
38 bool clickable() const;
39
39
40+ void setHasSeparator(bool hasSeparator);
41+ bool hasSeparator() const;
42+
40 bool operator==(const QuickListEntry & other);
43 bool operator==(const QuickListEntry & other);
41
44
42private:
45private:
43 QString m_actionId;
46 QString m_actionId;
44 QString m_text;
47 QString m_text;
45 QString m_icon;
48 QString m_icon;
49+ bool m_hasSeparator;
46};
50};
47
51
48#endif // QUICKLISTENTRY
52#endif // QUICKLISTENTRY
plugins/Unity/Launcher/quicklistmodel.cpp+2
@@ -79,6 +79,8 @@ QVariant QuickListModel::data(const QModelIndex &index, int role) const
79 return m_list.at(index.row()).icon();
79 return m_list.at(index.row()).icon();
80 case RoleClickable:
80 case RoleClickable:
81 return m_list.at(index.row()).clickable();
81 return m_list.at(index.row()).clickable();
82+ case RoleHasSeparator:
83+ return m_list.at(index.row()).hasSeparator();
82 }
84 }
83 return QVariant();
85 return QVariant();
84}
86}
plugins/Utils/CMakeLists.txt+1
@@ -29,6 +29,7 @@ set(QMLPLUGIN_SRC
29 inputeventgenerator.cpp
29 inputeventgenerator.cpp
30 deviceconfigparser.cpp
30 deviceconfigparser.cpp
31 globalfunctions.cpp
31 globalfunctions.cpp
32+ URLDispatcher.cpp
32 plugin.cpp
33 plugin.cpp
33 )
34 )
34
35
plugins/Utils/URLDispatcher.cppnew file+77
@@ -0,0 +1,77 @@
1+/*
2+ * Copyright (C) 2016 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "URLDispatcher.h"
18+
19+#include <QDBusConnection>
20+
21+class URLDispatcherInterface : public QObject
22+{
23+ Q_OBJECT
24+ Q_CLASSINFO("D-Bus Interface", "com.canonical.URLDispatcher")
25+
26+public:
27+ explicit URLDispatcherInterface(URLDispatcher *parent);
28+
29+ Q_SCRIPTABLE void DispatchURL(const QString &url, const QString &package);
30+};
31+
32+URLDispatcherInterface::URLDispatcherInterface(URLDispatcher *parent)
33+ : QObject(parent)
34+{
35+}
36+
37+void URLDispatcherInterface::DispatchURL(const QString &url, const QString &package)
38+{
39+ Q_UNUSED(package);
40+ Q_EMIT static_cast<URLDispatcher *>(parent())->urlRequested(url);
41+}
42+
43+URLDispatcher::URLDispatcher(QObject *parent)
44+ : QObject(parent)
45+ , m_dispatcher(nullptr)
46+{
47+}
48+
49+bool URLDispatcher::active() const
50+{
51+ return m_dispatcher != nullptr;
52+}
53+
54+void URLDispatcher::setActive(bool value)
55+{
56+ if (value == active())
57+ return;
58+
59+ QDBusConnection connection = QDBusConnection::sessionBus();
60+
61+ if (value) {
62+ URLDispatcherInterface *dispatcher = new URLDispatcherInterface(this);
63+ connection.registerObject(QStringLiteral("/com/canonical/URLDispatcher"),
64+ dispatcher,
65+ QDBusConnection::ExportScriptableContents);
66+ connection.registerService(QStringLiteral("com.canonical.URLDispatcher"));
67+ m_dispatcher = dispatcher;
68+ } else {
69+ connection.unregisterService(QStringLiteral("com.canonical.URLDispatcher"));
70+ delete m_dispatcher;
71+ m_dispatcher = nullptr;
72+ }
73+
74+ Q_EMIT activeChanged();
75+}
76+
77+#include "URLDispatcher.moc"
plugins/Utils/URLDispatcher.hnew file+47
@@ -0,0 +1,47 @@
1+/*
2+ * Copyright (C) 2016 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef UNITY_URLDISPATCHER_H
18+#define UNITY_URLDISPATCHER_H
19+
20+#include <QObject>
21+#include <QString>
22+
23+// This class manages our url-dispatcher interception. We intercept
24+// url-dispatcher because rather than spawning the handler for the URL
25+// in our own session, we want to notify the user session to do it for us
26+// (and start an unlock in the process).
27+
28+class URLDispatcher : public QObject
29+{
30+ Q_OBJECT
31+ Q_PROPERTY(bool active READ active WRITE setActive NOTIFY activeChanged)
32+
33+public:
34+ explicit URLDispatcher(QObject *parent=0);
35+
36+ bool active() const;
37+ void setActive(bool active);
38+
39+Q_SIGNALS:
40+ void urlRequested(const QString &url);
41+ void activeChanged();
42+
43+private:
44+ QObject *m_dispatcher;
45+};
46+
47+#endif
plugins/Utils/constants.cpp+6−1
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright 2015 Canonical Ltd.
2+ * Copyright 2015-2016 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 Lesser General Public License as published by
5 * it under the terms of the GNU Lesser General Public License as published by
@@ -16,6 +16,8 @@
16
16
17#include "constants.h"
17#include "constants.h"
18
18
19+#include <QFile>
20+
19Constants::Constants(QObject *parent)
21Constants::Constants(QObject *parent)
20 : QObject(parent)
22 : QObject(parent)
21{
23{
@@ -24,4 +26,7 @@ Constants::Constants(QObject *parent)
24 } else {
26 } else {
25 m_indicatorValueTimeout = 5000;
27 m_indicatorValueTimeout = 5000;
26 }
28 }
29+
30+ QString snapRoot = QFile::decodeName(qgetenv("SNAP"));
31+ m_defaultWallpaper = snapRoot + "/usr/share/backgrounds/warty-final-ubuntu.png";
27}
32}
plugins/Utils/constants.h+5−5
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright 2015 Canonical Ltd.
2+ * Copyright 2015-2016 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 Lesser General Public License as published by
5 * it under the terms of the GNU Lesser General Public License as published by
@@ -14,8 +14,7 @@
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
16
17−#ifndef CONSTANTS_H
17+#pragma once
18−#define CONSTANTS_H
19
18
20#include <QObject>
19#include <QObject>
21
20
@@ -30,14 +29,15 @@ class Constants: public QObject
30{
29{
31 Q_OBJECT
30 Q_OBJECT
32 Q_PROPERTY(int indicatorValueTimeout READ indicatorValueTimeout CONSTANT)
31 Q_PROPERTY(int indicatorValueTimeout READ indicatorValueTimeout CONSTANT)
32+ Q_PROPERTY(QString defaultWallpaper READ defaultWallpaper CONSTANT)
33
33
34public:
34public:
35 Constants(QObject *parent = 0);
35 Constants(QObject *parent = 0);
36
36
37 int indicatorValueTimeout() const { return m_indicatorValueTimeout; }
37 int indicatorValueTimeout() const { return m_indicatorValueTimeout; }
38+ QString defaultWallpaper() const { return m_defaultWallpaper; }
38
39
39private:
40private:
40 int m_indicatorValueTimeout;
41 int m_indicatorValueTimeout;
42+ QString m_defaultWallpaper;
41};
43};
42−
43−#endif
plugins/Utils/deviceconfigparser.cpp+1−1
@@ -26,7 +26,7 @@ DeviceConfigParser::DeviceConfigParser(QObject *parent): QObject(parent)
26 // Local files have highest priority
26 // Local files have highest priority
27 QString path;
27 QString path;
28 Q_FOREACH (const QString &standardPath, QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation)) {
28 Q_FOREACH (const QString &standardPath, QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation)) {
29− if (QFileInfo(standardPath + "/devices.conf").exists()) {
29+ if (QFileInfo::exists(standardPath + "/devices.conf")) {
30 path = standardPath + "/devices.conf";
30 path = standardPath + "/devices.conf";
31 break;
31 break;
32 }
32 }
plugins/Utils/plugin.cpp+2
@@ -38,6 +38,7 @@
38#include "inputeventgenerator.h"
38#include "inputeventgenerator.h"
39#include "deviceconfigparser.h"
39#include "deviceconfigparser.h"
40#include "globalfunctions.h"
40#include "globalfunctions.h"
41+#include "URLDispatcher.h"
41
42
42static QObject *createWindowStateStorage(QQmlEngine *engine, QJSEngine *scriptEngine)
43static QObject *createWindowStateStorage(QQmlEngine *engine, QJSEngine *scriptEngine)
43{
44{
@@ -80,4 +81,5 @@ void UtilsPlugin::registerTypes(const char *uri)
80 qmlRegisterType<InputEventGenerator>(uri, 0, 1, "InputEventGenerator");
81 qmlRegisterType<InputEventGenerator>(uri, 0, 1, "InputEventGenerator");
81 qmlRegisterType<DeviceConfigParser>(uri, 0, 1, "DeviceConfigParser");
82 qmlRegisterType<DeviceConfigParser>(uri, 0, 1, "DeviceConfigParser");
82 qmlRegisterSingletonType<GlobalFunctions>(uri, 0, 1, "Functions", createGlobalFunctions);
83 qmlRegisterSingletonType<GlobalFunctions>(uri, 0, 1, "Functions", createGlobalFunctions);
84+ qmlRegisterType<URLDispatcher>(uri, 0, 1, "URLDispatcher");
83}
85}
plugins/Utils/timezoneFormatter.cpp+1−1
@@ -39,7 +39,7 @@ QString TimezoneFormatter::currentTimeInTimezoneWithAbbrev(const QVariant &tzId)
39 QTimeZone tz(tzId.toByteArray());
39 QTimeZone tz(tzId.toByteArray());
40 if (tz.isValid()) {
40 if (tz.isValid()) {
41 const QDateTime now = QDateTime::currentDateTime().toTimeZone(tz);
41 const QDateTime now = QDateTime::currentDateTime().toTimeZone(tz);
42− return QStringLiteral("%1 %2").arg(now.time().toString(QStringLiteral("h:mm"))).arg(tz.abbreviation(now));
42+ return QStringLiteral("%1 %2").arg(now.time().toString(QStringLiteral("h:mm")), tz.abbreviation(now));
43 }
43 }
44 return QString();
44 return QString();
45}
45}
plugins/Utils/windowstatestorage.cpp+8−5
@@ -28,7 +28,9 @@
28QMutex WindowStateStorage::s_mutex;
28QMutex WindowStateStorage::s_mutex;
29
29
30inline QString sanitiseString(QString string) {
30inline QString sanitiseString(QString string) {
31− return string.remove("\"").remove("'").remove("\\");
31+ return string.remove(QLatin1Char('\"'))
32+ .remove(QLatin1Char('\''))
33+ .remove(QLatin1Char('\\'));
32}
34}
33
35
34WindowStateStorage::WindowStateStorage(QObject *parent):
36WindowStateStorage::WindowStateStorage(QObject *parent):
@@ -74,7 +76,7 @@ WindowStateStorage::WindowState WindowStateStorage::getState(const QString &wind
74 return (WindowState)query.value(QStringLiteral("state")).toInt();
76 return (WindowState)query.value(QStringLiteral("state")).toInt();
75}
77}
76
78
77−void WindowStateStorage::saveGeometry(const QString &windowId, const QRect rect)
79+void WindowStateStorage::saveGeometry(const QString &windowId, const QRect &rect)
78{
80{
79 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO geometry (windowId, x, y, width, height) values ('%1', '%2', '%3', '%4', '%5');")
81 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO geometry (windowId, x, y, width, height) values ('%1', '%2', '%3', '%4', '%5');")
80 .arg(sanitiseString(windowId))
82 .arg(sanitiseString(windowId))
@@ -90,7 +92,7 @@ void WindowStateStorage::saveStage(const QString &appId, int stage)
90{
92{
91 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO stage (appId, stage) values ('%1', '%2');")
93 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO stage (appId, stage) values ('%1', '%2');")
92 .arg(sanitiseString(appId))
94 .arg(sanitiseString(appId))
93− .arg((int)stage);
95+ .arg(stage);
94
96
95 saveValue(queryString);
97 saveValue(queryString);
96}
98}
@@ -121,7 +123,7 @@ void WindowStateStorage::executeAsyncQuery(const QString &queryString)
121 }
123 }
122}
124}
123
125
124−QRect WindowStateStorage::getGeometry(const QString &windowId, const QRect defaultValue) const
126+QRect WindowStateStorage::getGeometry(const QString &windowId, const QRect &defaultValue) const
125{
127{
126 QString queryString = QStringLiteral("SELECT * FROM geometry WHERE windowId = '%1';")
128 QString queryString = QStringLiteral("SELECT * FROM geometry WHERE windowId = '%1';")
127 .arg(sanitiseString(windowId));
129 .arg(sanitiseString(windowId));
@@ -131,7 +133,8 @@ QRect WindowStateStorage::getGeometry(const QString &windowId, const QRect defau
131 if (!query.first()) {
133 if (!query.first()) {
132 return defaultValue;
134 return defaultValue;
133 }
135 }
134− return QRect(query.value(QStringLiteral("x")).toInt(), query.value(QStringLiteral("y")).toInt(), query.value(QStringLiteral("width")).toInt(), query.value(QStringLiteral("height")).toInt());
136+ return QRect(query.value(QStringLiteral("x")).toInt(), query.value(QStringLiteral("y")).toInt(),
137+ query.value(QStringLiteral("width")).toInt(), query.value(QStringLiteral("height")).toInt());
135}
138}
136
139
137void WindowStateStorage::initdb()
140void WindowStateStorage::initdb()
plugins/Utils/windowstatestorage.h+8−3
@@ -32,7 +32,12 @@ public:
32 WindowStateMaximizedLeft = 1 << 4,
32 WindowStateMaximizedLeft = 1 << 4,
33 WindowStateMaximizedRight = 1 << 5,
33 WindowStateMaximizedRight = 1 << 5,
34 WindowStateMaximizedHorizontally = 1 << 6,
34 WindowStateMaximizedHorizontally = 1 << 6,
35− WindowStateMaximizedVertically = 1 << 7
35+ WindowStateMaximizedVertically = 1 << 7,
36+ WindowStateMaximizedTopLeft = 1 << 8,
37+ WindowStateMaximizedTopRight = 1 << 9,
38+ WindowStateMaximizedBottomLeft = 1 << 10,
39+ WindowStateMaximizedBottomRight = 1 << 11,
40+ WindowStateRestored = 1 << 12
36 };
41 };
37 Q_DECLARE_FLAGS(WindowStates, WindowState)
42 Q_DECLARE_FLAGS(WindowStates, WindowState)
38#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
43#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
@@ -45,8 +50,8 @@ public:
45 Q_INVOKABLE void saveState(const QString &windowId, WindowState state);
50 Q_INVOKABLE void saveState(const QString &windowId, WindowState state);
46 Q_INVOKABLE WindowState getState(const QString &windowId, WindowState defaultValue) const;
51 Q_INVOKABLE WindowState getState(const QString &windowId, WindowState defaultValue) const;
47
52
48− Q_INVOKABLE void saveGeometry(const QString &windowId, const QRect rect);
53+ Q_INVOKABLE void saveGeometry(const QString &windowId, const QRect &rect);
49− Q_INVOKABLE QRect getGeometry(const QString &windowId, const QRect defaultValue) const;
54+ Q_INVOKABLE QRect getGeometry(const QString &windowId, const QRect &defaultValue) const;
50
55
51 Q_INVOKABLE void saveStage(const QString &appId, int stage);
56 Q_INVOKABLE void saveStage(const QString &appId, int stage);
52 Q_INVOKABLE int getStage(const QString &appId, int defaultValue) const;
57 Q_INVOKABLE int getStage(const QString &appId, int defaultValue) const;
plugins/WindowManager/TopLevelSurfaceList.cpp−5
@@ -133,11 +133,6 @@ void TopLevelSurfaceList::appendSurfaceHelper(MirSurfaceInterface *surface, Appl
133
133
134void TopLevelSurfaceList::connectSurface(MirSurfaceInterface *surface)
134void TopLevelSurfaceList::connectSurface(MirSurfaceInterface *surface)
135{
135{
136− connect(surface, &MirSurfaceInterface::focusedChanged, this, [this, surface](bool focused){
137− if (focused) {
138− this->raise(surface);
139− }
140− });
141 connect(surface, &MirSurfaceInterface::liveChanged, this, [this, surface](bool live){
136 connect(surface, &MirSurfaceInterface::liveChanged, this, [this, surface](bool live){
142 if (!live) {
137 if (!live) {
143 onSurfaceDied(surface);
138 onSurfaceDied(surface);
plugins/Wizard/CMakeLists.txt+6−3
@@ -1,4 +1,6 @@
1+pkg_search_module(GD3 REQUIRED gnome-desktop-3.0)
2+
1−include_directories(${GLIB_INCLUDE_DIRS} ${GEONAMES_INCLUDE_DIRS})
3+include_directories(SYSTEM ${GD3_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${GEONAMES_INCLUDE_DIRS})
2
4
3add_library(Wizard-qml MODULE
5add_library(Wizard-qml MODULE
4 plugin.cpp
6 plugin.cpp
@@ -7,10 +9,11 @@ add_library(Wizard-qml MODULE
7 LocalePlugin.cpp
9 LocalePlugin.cpp
8 timezonemodel.cpp
10 timezonemodel.cpp
9 Status.cpp
11 Status.cpp
12+ keyboardLayoutsModel.cpp
10)
13)
11
14
12−qt5_use_modules(Wizard-qml DBus Qml Concurrent)
15+qt5_use_modules(Wizard-qml DBus Qml)
13−target_link_libraries(Wizard-qml ${GLIB_LDFLAGS} ${GEONAMES_LDFLAGS})
16+target_link_libraries(Wizard-qml ${GD3_LDFLAGS} ${GLIB_LDFLAGS} ${GEONAMES_LDFLAGS})
14add_unity8_plugin(Wizard 0.1 Wizard TARGETS Wizard-qml)
17add_unity8_plugin(Wizard 0.1 Wizard TARGETS Wizard-qml)
15
18
16set(POLKIT_LIB_DIR "${CMAKE_INSTALL_LOCALSTATEDIR}/lib/polkit-1")
19set(POLKIT_LIB_DIR "${CMAKE_INSTALL_LOCALSTATEDIR}/lib/polkit-1")
plugins/Wizard/PageList.cpp+16−1
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2014 Canonical Ltd.
2+ * Copyright (C) 2014-2016 Canonical Ltd.
3 *
3 *
4 * This program is free software: you can redistribute it and/or modify it
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License version 3, as published
5 * under the terms of the GNU General Public License version 3, as published
@@ -34,6 +34,7 @@
34#include <QDir>
34#include <QDir>
35#include <QSet>
35#include <QSet>
36#include <QStandardPaths>
36#include <QStandardPaths>
37+#include <QSettings>
37
38
38PageList::PageList(QObject *parent)
39PageList::PageList(QObject *parent)
39 : QObject(parent),
40 : QObject(parent),
@@ -68,6 +69,20 @@ PageList::PageList(QObject *parent)
68 Q_FOREACH(const QString &page, disabledPages) {
69 Q_FOREACH(const QString &page, disabledPages) {
69 m_pages.remove(page);
70 m_pages.remove(page);
70 }
71 }
72+
73+ // If there was a system update installed, skip until the last page to just greet the user
74+ QSettings settings;
75+ if (settings.value(QStringLiteral("Wizard/SkipUntilFinishedPage")).toBool()) {
76+ const QString lastPage = m_pages.lastKey();
77+ Q_FOREACH(const QString &page, m_pages.keys()) {
78+ if (Q_UNLIKELY(page != lastPage)) {
79+ m_pages.remove(page);
80+ }
81+ }
82+
83+ // ... and reset it again for the next run
84+ settings.remove(QStringLiteral("Wizard/SkipUntilFinishedPage"));
85+ }
71}
86}
72
87
73QStringList PageList::entries() const
88QStringList PageList::entries() const
plugins/Wizard/System.cpp+10−1
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2014-2015 Canonical Ltd.
2+ * Copyright (C) 2014-2016 Canonical Ltd.
3 *
3 *
4 * This program is free software: you can redistribute it and/or modify it
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License version 3, as published
5 * under the terms of the GNU General Public License version 3, as published
@@ -26,6 +26,7 @@
26#include <QMap>
26#include <QMap>
27#include <QProcess>
27#include <QProcess>
28#include <QDebug>
28#include <QDebug>
29+#include <QSettings>
29
30
30System::System()
31System::System()
31 : QObject()
32 : QObject()
@@ -105,7 +106,15 @@ void System::updateSessionLocale(const QString &locale)
105 initctl stop scope-registry; \
106 initctl stop scope-registry; \
106 initctl stop smart-scopes-proxy; \
107 initctl stop smart-scopes-proxy; \
107 initctl emit --no-wait indicator-services-start; \
108 initctl emit --no-wait indicator-services-start; \
109+ initctl restart --no-wait ubuntu-location-service-trust-stored; \
108 initctl restart --no-wait maliit-server; \
110 initctl restart --no-wait maliit-server; \
109 initctl restart --no-wait indicator-messages; \
111 initctl restart --no-wait indicator-messages; \
110 initctl restart --no-wait unity8-dash\""));
112 initctl restart --no-wait unity8-dash\""));
111}
113}
114+
115+void System::skipUntilFinishedPage()
116+{
117+ QSettings settings;
118+ settings.setValue(QStringLiteral("Wizard/SkipUntilFinishedPage"), true);
119+ settings.sync();
120+}
plugins/Wizard/System.h+5−1
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2014-2015 Canonical Ltd.
2+ * Copyright (C) 2014-2016 Canonical Ltd.
3 *
3 *
4 * This program is free software: you can redistribute it and/or modify it
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License version 3, as published
5 * under the terms of the GNU General Public License version 3, as published
@@ -35,6 +35,10 @@ public:
35
35
36public Q_SLOTS:
36public Q_SLOTS:
37 void updateSessionLocale(const QString &locale);
37 void updateSessionLocale(const QString &locale);
38+ /**
39+ * Mark the wizard to skip all the pages and just show the last (welcome to ubuntu) page
40+ */
41+ void skipUntilFinishedPage();
38
42
39Q_SIGNALS:
43Q_SIGNALS:
40 void wizardEnabledChanged();
44 void wizardEnabledChanged();
plugins/Wizard/keyboardLayoutsModel.cppnew file+163
@@ -0,0 +1,163 @@
1+/*
2+ * Copyright (C) 2016 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include <QDBusMetaType>
18+#include <QDebug>
19+
20+#define GNOME_DESKTOP_USE_UNSTABLE_API
21+#include <libgnome-desktop/gnome-xkb-info.h>
22+
23+#include "keyboardLayoutsModel.h"
24+
25+typedef QList<QMap<QString, QString>> StringMapList;
26+Q_DECLARE_METATYPE(StringMapList)
27+
28+KeyboardLayoutsModel::KeyboardLayoutsModel(QObject *parent)
29+ : QAbstractListModel(parent)
30+{
31+ m_roleNames = {
32+ {LayoutIdRole, "layoutId"},
33+ {DisplayNameRole, "displayName"},
34+ {LanguageRole, "language"}
35+ };
36+
37+ qDBusRegisterMetaType<StringMapList>();
38+
39+ buildModel();
40+ connect(this, &KeyboardLayoutsModel::languageChanged, this, &KeyboardLayoutsModel::updateModel);
41+}
42+
43+QString KeyboardLayoutsModel::language() const
44+{
45+ return m_language;
46+}
47+
48+void KeyboardLayoutsModel::setLanguage(const QString &language)
49+{
50+ if (m_language == language)
51+ return;
52+
53+ m_language = language;
54+ Q_EMIT languageChanged(language);
55+}
56+
57+static bool compareLayouts(const KeyboardLayoutInfo &layout0, const KeyboardLayoutInfo &layout1)
58+{
59+ QString name0(layout0.id);
60+ QString name1(layout1.id);
61+
62+ if (name0 == name1) {
63+ name0 = layout0.displayName;
64+ name1 = layout1.displayName;
65+
66+ if (name0 == name1) {
67+ name0 = layout0.language;
68+ name1 = layout1.language;
69+ }
70+ }
71+
72+ return QString::localeAwareCompare(name0, name1) < 0;
73+}
74+
75+void KeyboardLayoutsModel::buildModel()
76+{
77+ GList *sources, *tmp;
78+ const gchar *display_name;
79+ const gchar *short_name;
80+ const gchar *xkb_layout;
81+ const gchar *xkb_variant;
82+
83+ GnomeXkbInfo * xkbInfo(gnome_xkb_info_new());
84+
85+ sources = gnome_xkb_info_get_all_layouts(xkbInfo);
86+
87+ for (tmp = sources; tmp != NULL; tmp = tmp->next) {
88+ gboolean result = gnome_xkb_info_get_layout_info(xkbInfo, (const gchar *)tmp->data,
89+ &display_name, &short_name, &xkb_layout, &xkb_variant);
90+ if (!result) {
91+ qWarning() << "Skipping invalid layout";
92+ continue;
93+ }
94+
95+ KeyboardLayoutInfo layout;
96+ layout.id = QString::fromUtf8((const gchar *)tmp->data);
97+ layout.language = QString::fromUtf8(short_name);
98+ layout.displayName = QString::fromUtf8(display_name);
99+
100+ m_db.append(layout);
101+ }
102+ g_list_free(sources);
103+ g_object_unref(xkbInfo);
104+
105+ std::sort(m_db.begin(), m_db.end(), compareLayouts);
106+}
107+
108+void KeyboardLayoutsModel::updateModel()
109+{
110+ beginResetModel();
111+ m_layouts.clear();
112+
113+ const QString lang = m_language.section("_", 0, 0);
114+ const QString country = m_language.section("_", 1, 1).toLower();
115+
116+ Q_FOREACH(const KeyboardLayoutInfo & info, m_db) {
117+ const QString kbdCountry = info.id.section("+", 0, 0);
118+ if (info.language == lang && // filter by language
119+ (kbdCountry.startsWith(country) || kbdCountry.length() > 2)) { // and by known country, also insert anything that doesn't match the country
120+ m_layouts.append(info);
121+ }
122+ }
123+
124+ std::sort(m_layouts.begin(), m_layouts.end(), compareLayouts);
125+ endResetModel();
126+}
127+
128+int KeyboardLayoutsModel::rowCount(const QModelIndex &parent) const
129+{
130+ Q_UNUSED(parent)
131+ return m_layouts.count();
132+}
133+
134+QVariant KeyboardLayoutsModel::data(const QModelIndex &index, int role) const
135+{
136+ const int row = index.row();
137+
138+ if (row >= m_layouts.count()) {
139+ qWarning() << Q_FUNC_INFO << "index out of bounds";
140+ return QVariant();
141+ }
142+
143+ const KeyboardLayoutInfo &layout = m_layouts.at(row);
144+
145+ switch (role) {
146+ case Qt::DisplayRole:
147+ case DisplayNameRole:
148+ return layout.displayName;
149+ case LayoutIdRole:
150+ return layout.id;
151+ case LanguageRole:
152+ return layout.language;
153+ default: {
154+ qWarning() << Q_FUNC_INFO << "unsupported data role";
155+ return QVariant();
156+ }
157+ }
158+}
159+
160+QHash<int, QByteArray> KeyboardLayoutsModel::roleNames() const
161+{
162+ return m_roleNames;
163+}
plugins/Wizard/keyboardLayoutsModel.hnew file+66
@@ -0,0 +1,66 @@
1+/*
2+ * Copyright (C) 2016 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along
14+ * with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef KEYBOARDLAYOUTSMODEL_H
18+#define KEYBOARDLAYOUTSMODEL_H
19+
20+#include <QAbstractListModel>
21+
22+struct KeyboardLayoutInfo {
23+ QString id;
24+ QString displayName;
25+ QString language;
26+};
27+
28+class KeyboardLayoutsModel: public QAbstractListModel
29+{
30+ Q_OBJECT
31+
32+ Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged)
33+
34+public:
35+ explicit KeyboardLayoutsModel(QObject * parent = nullptr);
36+ ~KeyboardLayoutsModel() = default;
37+
38+ enum Roles {
39+ LayoutIdRole = Qt::UserRole + 1,
40+ DisplayNameRole,
41+ LanguageRole
42+ };
43+
44+ QString language() const;
45+ void setLanguage(const QString &language);
46+
47+ int rowCount(const QModelIndex &parent = QModelIndex()) const override;
48+ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
49+ QHash<int, QByteArray> roleNames() const override;
50+
51+Q_SIGNALS:
52+ void languageChanged(const QString &language);
53+
54+private Q_SLOTS:
55+ void updateModel();
56+
57+private:
58+ void buildModel();
59+
60+ QString m_language;
61+ QHash<int, QByteArray> m_roleNames;
62+ QVector<KeyboardLayoutInfo> m_layouts;
63+ QVector<KeyboardLayoutInfo> m_db;
64+};
65+
66+#endif
plugins/Wizard/plugin.cpp+2
@@ -20,6 +20,7 @@
20#include "timezonemodel.h"
20#include "timezonemodel.h"
21#include "LocalePlugin.h"
21#include "LocalePlugin.h"
22#include "Status.h"
22#include "Status.h"
23+#include "keyboardLayoutsModel.h"
23
24
24#include <QtQml/qqml.h>
25#include <QtQml/qqml.h>
25
26
@@ -30,5 +31,6 @@ void WizardPlugin::registerTypes(const char *uri)
30 qmlRegisterSingletonType<System>(uri, 0, 1, "System", [](QQmlEngine*, QJSEngine*) -> QObject* { return new System; });
31 qmlRegisterSingletonType<System>(uri, 0, 1, "System", [](QQmlEngine*, QJSEngine*) -> QObject* { return new System; });
31 qmlRegisterSingletonType<Status>(uri, 0, 1, "Status", [](QQmlEngine*, QJSEngine*) -> QObject* { return new Status; });
32 qmlRegisterSingletonType<Status>(uri, 0, 1, "Status", [](QQmlEngine*, QJSEngine*) -> QObject* { return new Status; });
32 qmlRegisterType<TimeZoneLocationModel>(uri, 0, 1, "TimeZoneModel");
33 qmlRegisterType<TimeZoneLocationModel>(uri, 0, 1, "TimeZoneModel");
34+ qmlRegisterType<KeyboardLayoutsModel>(uri, 0, 1, "KeyboardLayoutsModel");
33 qmlRegisterType<LocalePlugin>(uri, 0, 1, "LocalePlugin");
35 qmlRegisterType<LocalePlugin>(uri, 0, 1, "LocalePlugin");
34}
36}
plugins/Wizard/qmldir−1
@@ -1,3 +1,2 @@
1module Wizard
1module Wizard
2plugin Wizard-qml
2plugin Wizard-qml
3−typeinfo Wizard.qmltypes
plugins/Wizard/timezonemodel.cpp+5−5
@@ -60,12 +60,12 @@ QVariant TimeZoneLocationModel::data(const QModelIndex &index, int role) const
60
60
61 switch (role) {
61 switch (role) {
62 case Qt::DisplayRole:
62 case Qt::DisplayRole:
63− return QStringLiteral("%1, %2, %3").arg(geonames_city_get_name(city))
63+ return QStringLiteral("%1, %2, %3").arg(geonames_city_get_name(city),
64− .arg(geonames_city_get_state(city))
64+ geonames_city_get_state(city),
65− .arg(geonames_city_get_country(city));
65+ geonames_city_get_country(city));
66 case SimpleRole:
66 case SimpleRole:
67− return QStringLiteral("%1, %2").arg(geonames_city_get_name(city))
67+ return QStringLiteral("%1, %2").arg(geonames_city_get_name(city),
68− .arg(geonames_city_get_country(city));
68+ geonames_city_get_country(city));
69 case TimeZoneRole:
69 case TimeZoneRole:
70 return geonames_city_get_timezone(city);
70 return geonames_city_get_timezone(city);
71 case CountryRole:
71 case CountryRole:
po/aa.po+173−166
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11"PO-Revision-Date: 2016-02-12 10:18+0000\n"
11"PO-Revision-Date: 2016-02-12 10:18+0000\n"
12"Last-Translator: Charif AYFARAH <ayfarah@ymail.com>\n"
12"Last-Translator: Charif AYFARAH <ayfarah@ymail.com>\n"
13"Language-Team: Afar <aa@li.org>\n"
13"Language-Team: Afar <aa@li.org>\n"
@@ -15,104 +15,86 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr "Cuumita "
23msgstr "Cuumita "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr ""
28msgstr ""
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr "Kat"
32msgstr "Kat"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr ""
36msgstr ""
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr ""
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−
46−#: qml/Components/DelayedLockscreen.qml:66
47−msgid "You have been locked out due to too many failed passcode attempts."
48−msgstr ""
49−
50−#: qml/Components/DelayedLockscreen.qml:75
51−#, qt-format
52−msgid "Please wait %1 minute and then try again…"
53−msgid_plural "Please wait %1 minutes and then try again…"
54−msgstr[0] "Maganak %1 minit qambaalaay, kaadu gabbat"
55−msgstr[1] "Maganak %1 minit qambaalaay, kaadu gabbat"
56−
57−#: qml/Components/Dialogs.qml:144
58msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
40msgid "Log out"
60msgstr "Eweq"
41msgstr "Eweq"
61
42
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
63msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
64msgstr ""
45msgstr ""
65
46
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
67msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
68msgid "Lock"
49msgid "Lock"
69msgstr "Koflis"
50msgstr "Koflis"
70
51
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
72msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
73msgid "Log Out"
54msgid "Log Out"
74msgstr "Eweq"
55msgstr "Eweq"
75
56
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
61msgid "Cancel"
80msgstr "Bayis"
62msgstr "Bayis"
81
63
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
83msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
84msgid "Reboot"
66msgid "Reboot"
85msgstr "Wadir-ugus"
67msgstr "Wadir-ugus"
86
68
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
88msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
89msgstr "Wadir-ugussuh digga maay litoo?"
71msgstr "Wadir-ugussuh digga maay litoo?"
90
72
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
92msgid "No"
74msgid "No"
93msgstr "Maleey"
75msgstr "Maleey"
94
76
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
96msgid "Yes"
78msgid "Yes"
97msgstr "Yeey"
79msgstr "Yeey"
98
80
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
100msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
83msgid "Power"
102msgstr "Cayla"
84msgstr "Cayla"
103
85
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
105msgid ""
87msgid ""
106"Are you sure you would like\n"
88"Are you sure you would like\n"
107"to power off?"
89"to power off?"
108msgstr "Timmi haytuh digga maay litoo?"
90msgstr "Timmi haytuh digga maay litoo?"
109
91
110−#: qml/Components/Dialogs.qml:200
92+#: qml/Components/Dialogs.qml:205
111msgctxt "Button: Power off the system"
93msgctxt "Button: Power off the system"
112msgid "Power off"
94msgid "Power off"
113msgstr "Timmi hayis"
95msgstr "Timmi hayis"
114
96
115−#: qml/Components/Dialogs.qml:209
97+#: qml/Components/Dialogs.qml:214
116msgctxt "Button: Restart the system"
98msgctxt "Button: Restart the system"
117msgid "Restart"
99msgid "Restart"
118msgstr "Wadir-qimbis"
100msgstr "Wadir-qimbis"
@@ -277,15 +259,15 @@ msgstr ""
277msgid "Closes the current window."
259msgid "Closes the current window."
278msgstr ""
260msgstr ""
279
261
280−#: qml/Components/Lockscreen.qml:239
262+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
281msgid "Return to Call"
263msgid "Return to Call"
282msgstr "Seecol gacis"
264msgstr "Seecol gacis"
283
265
284−#: qml/Components/Lockscreen.qml:239
266+#: qml/Components/Lockscreen.qml:212
285msgid "Emergency Call"
267msgid "Emergency Call"
286msgstr ""
268msgstr ""
287
269
288−#: qml/Components/Lockscreen.qml:271
270+#: qml/Components/Lockscreen.qml:244
289msgid "OK"
271msgid "OK"
290msgstr "Hayya"
272msgstr "Hayya"
291
273
@@ -329,84 +311,84 @@ msgstr "Inkih alif"
329msgid "Preview Share Item"
311msgid "Preview Share Item"
330msgstr ""
312msgstr ""
331
313
332−#: qml/Dash/DashPageHeader.qml:333
314+#: qml/Dash/DashPageHeader.qml:361
333msgctxt "Button: Open the Ubuntu Store"
315msgctxt "Button: Open the Ubuntu Store"
334msgid "Store"
316msgid "Store"
335msgstr ""
317msgstr ""
336
318
337−#: qml/Dash/DashPageHeader.qml:340
319+#: qml/Dash/DashPageHeader.qml:368
338msgctxt "Button: Start a search in the current dash scope"
320msgctxt "Button: Start a search in the current dash scope"
339msgid "Search"
321msgid "Search"
340msgstr "Goranto"
322msgstr "Goranto"
341
323
342−#: qml/Dash/DashPageHeader.qml:350
324+#: qml/Dash/DashPageHeader.qml:378
343msgctxt "Button: Show the current dash scope settings"
325msgctxt "Button: Show the current dash scope settings"
344msgid "Settings"
326msgid "Settings"
345msgstr "Massosu"
327msgstr "Massosu"
346
328
347−#: qml/Dash/DashPageHeader.qml:357
329+#: qml/Dash/DashPageHeader.qml:385
348msgid "Remove from Favorites"
330msgid "Remove from Favorites"
349msgstr ""
331msgstr ""
350
332
351−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
352msgid "Add to Favorites"
334msgid "Add to Favorites"
353msgstr ""
335msgstr ""
354
336
355−#: qml/Dash/FiltersPopover.qml:60
337+#: qml/Dash/FiltersPopover.qml:61
356msgid "Refine your results"
338msgid "Refine your results"
357msgstr ""
339msgstr ""
358
340
359−#: qml/Dash/FiltersPopover.qml:69
341+#: qml/Dash/FiltersPopover.qml:70
360msgid "Reset"
342msgid "Reset"
361msgstr ""
343msgstr ""
362
344
363−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
345+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
364msgid "Show less"
346msgid "Show less"
365msgstr ""
347msgstr ""
366
348
367−#: qml/Dash/GenericScopeView.qml:580
349+#: qml/Dash/GenericScopeView.qml:547
368msgid "Show all"
350msgid "Show all"
369msgstr ""
351msgstr ""
370
352
371−#: qml/Dash/GenericScopeView.qml:637
353+#: qml/Dash/GenericScopeView.qml:578
372msgctxt "Label: Hint for dash search line edit"
354msgctxt "Label: Hint for dash search line edit"
373msgid "Search"
355msgid "Search"
374msgstr "Goranto"
356msgstr "Goranto"
375
357
376−#: qml/Dash/PageHeaderExtraPanel.qml:56
358+#: qml/Dash/PageHeaderExtraPanel.qml:67
377msgid "Recent Searches"
359msgid "Recent Searches"
378msgstr ""
360msgstr ""
379
361
380−#: qml/Dash/PageHeaderExtraPanel.qml:67
362+#: qml/Dash/PageHeaderExtraPanel.qml:78
381msgid "Clear All"
363msgid "Clear All"
382msgstr ""
364msgstr ""
383
365
384−#: qml/Dash/Previews/PreviewActionCombo.qml:35
366+#: qml/Dash/Previews/PreviewActionCombo.qml:36
385msgid "More..."
367msgid "More..."
386msgstr ""
368msgstr ""
387
369
388−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
389msgid "Less..."
371msgid "Less..."
390msgstr ""
372msgstr ""
391
373
392−#: qml/Dash/Previews/PreviewCommentInput.qml:68
374+#: qml/Dash/Previews/PreviewCommentInput.qml:83
393−#: qml/Dash/Previews/PreviewRatingInput.qml:175
375+#: qml/Dash/Previews/PreviewRatingInput.qml:202
394msgid "Send"
376msgid "Send"
395msgstr "Rub"
377msgstr "Rub"
396
378
397−#: qml/Dash/Previews/PreviewRatingInput.qml:82
379+#: qml/Dash/Previews/PreviewRatingInput.qml:109
398msgid "Rate this"
380msgid "Rate this"
399msgstr ""
381msgstr ""
400
382
401−#: qml/Dash/Previews/PreviewRatingInput.qml:157
383+#: qml/Dash/Previews/PreviewRatingInput.qml:184
402msgid "Add a review"
384msgid "Add a review"
403msgstr ""
385msgstr ""
404
386
405−#: qml/Dash/PullToRefreshScopeStyle.qml:55
387+#: qml/Dash/PullToRefreshScopeStyle.qml:56
406msgid "Pull to refresh…"
388msgid "Pull to refresh…"
407msgstr ""
389msgstr ""
408
390
409−#: qml/Dash/PullToRefreshScopeStyle.qml:60
391+#: qml/Dash/PullToRefreshScopeStyle.qml:61
410msgid "Release to refresh…"
392msgid "Release to refresh…"
411msgstr ""
393msgstr ""
412
394
@@ -414,15 +396,15 @@ msgstr ""
414msgid "Enable location data"
396msgid "Enable location data"
415msgstr ""
397msgstr ""
416
398
417−#: qml/Dash/ScopesList.qml:55
399+#: qml/Dash/ScopesList.qml:57
418msgid "Manage"
400msgid "Manage"
419msgstr ""
401msgstr ""
420
402
421−#: qml/Dash/ScopesList.qml:102
403+#: qml/Dash/ScopesList.qml:104
422msgid "Home"
404msgid "Home"
423msgstr "Dabqi"
405msgstr "Dabqi"
424
406
425−#: qml/Dash/ScopesList.qml:103
407+#: qml/Dash/ScopesList.qml:105
426msgid "Also installed"
408msgid "Also installed"
427msgstr ""
409msgstr ""
428
410
@@ -436,79 +418,51 @@ msgstr ""
436msgid "Unlock"
418msgid "Unlock"
437msgstr ""
419msgstr ""
438
420
439−#: qml/Greeter/Greeter.qml:555
421+#: qml/Greeter/DelayedLockscreen.qml:43
440−msgid "Try again"
422+msgid "Device Locked"
441−msgstr ""
442−
443−#: qml/Greeter/LoginList.qml:63
444−msgid "Passphrase"
445−msgstr ""
446−
447−#: qml/Greeter/LoginList.qml:64
448−msgid "Passcode"
449msgstr ""
423msgstr ""
450
424
451−#: qml/Greeter/LoginList.qml:87
425+#: qml/Greeter/DelayedLockscreen.qml:58
452−msgid "Retry"
426+msgid "You have been locked out due to too many failed passphrase attempts."
453−msgstr "Qagis"
454−
455−#: qml/Greeter/LoginList.qml:88
456−msgid "Log In"
457msgstr ""
427msgstr ""
458
428
459−#: qml/Greeter/NarrowView.qml:55
429+#: qml/Greeter/DelayedLockscreen.qml:59
460−msgid "Sorry, incorrect passphrase."
430+msgid "You have been locked out due to too many failed passcode attempts."
461msgstr ""
431msgstr ""
462
432
463−#: qml/Greeter/NarrowView.qml:56
433+#: qml/Greeter/DelayedLockscreen.qml:68
464−msgid "Sorry, incorrect passcode."
434+#, qt-format
465−msgstr ""
435+msgid "Please wait %1 minute and then try again…"
436+msgid_plural "Please wait %1 minutes and then try again…"
437+msgstr[0] "Maganak %1 minit qambaalaay, kaadu gabbat"
438+msgstr[1] "Maganak %1 minit qambaalaay, kaadu gabbat"
466
439
467−#: qml/Greeter/NarrowView.qml:57
440+#: qml/Greeter/Greeter.qml:596
468−msgid "This will be your last attempt."
441+msgid "Try again"
469msgstr ""
442msgstr ""
470
443
471−#: qml/Greeter/NarrowView.qml:59
444+#: qml/Greeter/LoginList.qml:70
472−msgid ""
445+msgid "Passphrase"
473−"If passphrase is entered incorrectly, your phone will conduct a factory "
474−"reset and all personal data will be deleted."
475msgstr ""
446msgstr ""
476
447
477−#: qml/Greeter/NarrowView.qml:60
448+#: qml/Greeter/LoginList.qml:71
478−msgid ""
449+msgid "Passcode"
479−"If passcode is entered incorrectly, your phone will conduct a factory reset "
480−"and all personal data will be deleted."
481msgstr ""
450msgstr ""
482
451
483−#: qml/Greeter/NarrowView.qml:129
452+#: qml/Greeter/LoginList.qml:98
484−#, qt-format
453+msgid "Retry"
485−msgid "Enter %1"
486−msgstr "%1 culus"
487−
488−#: qml/Greeter/NarrowView.qml:130
489−msgid "Enter passphrase"
490−msgstr "Tatur-maxco culus"
491−
492−#: qml/Greeter/NarrowView.qml:131
493−msgid "Enter passcode"
494−msgstr "Tatur-mudenta culus"
495−
496−#: qml/Greeter/NarrowView.qml:135
497−#, qt-format
498−msgid "Sorry, incorrect %1"
499−msgstr ""
454+msgstr "Qagis"
500
455
501−#: qml/Greeter/NarrowView.qml:136
456+#: qml/Greeter/LoginList.qml:99
502−msgid "Sorry, incorrect passphrase"
457+msgid "Log In"
503msgstr ""
458msgstr ""
504
459
505−#: qml/Greeter/NarrowView.qml:137
460+#: qml/Greeter/NarrowView.qml:252
506−msgctxt "passphrase"
461+msgid "Emergency"
507−msgid "Please re-enter"
508msgstr ""
462msgstr ""
509
463
510−#: qml/Greeter/NarrowView.qml:138
464+#: qml/Greeter/SessionsList.qml:122
511−msgid "Sorry, incorrect passcode"
465+msgid "Select desktop environment"
512msgstr ""
466msgstr ""
513
467
514#: qml/Notifications/NotificationMenuItemFactory.qml:124
468#: qml/Notifications/NotificationMenuItemFactory.qml:124
@@ -523,62 +477,62 @@ msgstr ""
523msgid "Conference"
477msgid "Conference"
524msgstr "Koboxu"
478msgstr "Koboxu"
525
479
526−#: qml/Panel/Indicators/MenuItemFactory.qml:762
480+#: qml/Panel/Indicators/MenuItemFactory.qml:847
527msgid "Nothing is playing"
481msgid "Nothing is playing"
528msgstr ""
482msgstr ""
529
483
530−#: qml/Panel/Indicators/MenuItemFactory.qml:891
484+#: qml/Panel/Indicators/MenuItemFactory.qml:975
531#, qt-format
485#, qt-format
532msgid "%1 hour"
486msgid "%1 hour"
533msgid_plural "%1 hours"
487msgid_plural "%1 hours"
534msgstr[0] "%1 saaqata"
488msgstr[0] "%1 saaqata"
535msgstr[1] "%1 saaqata"
489msgstr[1] "%1 saaqata"
536
490
537−#: qml/Panel/Indicators/MenuItemFactory.qml:895
491+#: qml/Panel/Indicators/MenuItemFactory.qml:979
538#, qt-format
492#, qt-format
539msgid "%1 minute"
493msgid "%1 minute"
540msgid_plural "%1 minutes"
494msgid_plural "%1 minutes"
541msgstr[0] "%1 miniti"
495msgstr[0] "%1 miniti"
542msgstr[1] "%1 miniti"
496msgstr[1] "%1 miniti"
543
497
544−#: qml/Panel/Indicators/MenuItemFactory.qml:900
498+#: qml/Panel/Indicators/MenuItemFactory.qml:984
545#, qt-format
499#, qt-format
546msgid "%1 second"
500msgid "%1 second"
547msgid_plural "%1 seconds"
501msgid_plural "%1 seconds"
548msgstr[0] "%1 nammayye"
502msgstr[0] "%1 nammayye"
549msgstr[1] "%1 nammayye"
503msgstr[1] "%1 nammayye"
550
504
551−#: qml/Panel/Indicators/MenuItemFactory.qml:903
505+#: qml/Panel/Indicators/MenuItemFactory.qml:987
552msgid "0 seconds"
506msgid "0 seconds"
553msgstr "0 nammayye"
507msgstr "0 nammayye"
554
508
555#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
509#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
556−#: qml/Panel/Indicators/MenuItemFactory.qml:905
510+#: qml/Panel/Indicators/MenuItemFactory.qml:989
557#, qt-format
511#, qt-format
558msgid "%1 remaining"
512msgid "%1 remaining"
559msgstr "%1 raaqe"
513msgstr "%1 raaqe"
560
514
561−#: qml/Panel/Indicators/MenuItemFactory.qml:911
515+#: qml/Panel/Indicators/MenuItemFactory.qml:995
562msgid "In queue…"
516msgid "In queue…"
563msgstr ""
517msgstr ""
564
518
565−#: qml/Panel/Indicators/MenuItemFactory.qml:915
519+#: qml/Panel/Indicators/MenuItemFactory.qml:999
566msgid "Downloading"
520msgid "Downloading"
567msgstr "Qulluumah"
521msgstr "Qulluumah"
568
522
569−#: qml/Panel/Indicators/MenuItemFactory.qml:917
523+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
570msgid "Paused, tap to resume"
524msgid "Paused, tap to resume"
571msgstr ""
525msgstr ""
572
526
573−#: qml/Panel/Indicators/MenuItemFactory.qml:919
527+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
574msgid "Canceled"
528msgid "Canceled"
575msgstr "Bayteh"
529msgstr "Bayteh"
576
530
577−#: qml/Panel/Indicators/MenuItemFactory.qml:921
531+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
578msgid "Finished"
532msgid "Finished"
579msgstr "Duudumteh"
533msgstr "Duudumteh"
580
534
581−#: qml/Panel/Indicators/MenuItemFactory.qml:923
535+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
582msgid "Failed, tap to retry"
536msgid "Failed, tap to retry"
583msgstr ""
537msgstr ""
584
538
@@ -598,7 +552,7 @@ msgctxt "Button: Call back on phone"
598msgid "Call back"
552msgid "Call back"
599msgstr ""
553msgstr ""
600
554
601−#: qml/Stages/SideStage.qml:76
555+#: qml/Stage/SideStage.qml:76
602msgid "Drag using 3 fingers any application from one window to the other"
556msgid "Drag using 3 fingers any application from one window to the other"
603msgstr ""
557msgstr ""
604
558
@@ -627,40 +581,54 @@ msgctxt "Button: Go back one page in the Wizard"
627msgid "Back"
581msgid "Back"
628msgstr "Derre"
582msgstr "Derre"
629
583
630−#: qml/Wizard/Pages/10-welcome.qml:27
584+#: qml/Wizard/Pages/10-welcome.qml:28
631msgid "Language"
585msgid "Language"
632msgstr ""
586msgstr ""
633
587
634−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
588+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
635−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
589+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
590+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
636−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
591+#: qml/Wizard/Pages/70-passwd-type.qml:145
637#: qml/Wizard/Pages/75-report-check.qml:84
592#: qml/Wizard/Pages/75-report-check.qml:84
638−#: qml/Wizard/Pages/passcode-desktop.qml:141
593+#: qml/Wizard/Pages/passcode-desktop.qml:142
639−#: qml/Wizard/Pages/password-set.qml:141
594+#: qml/Wizard/Pages/password-set.qml:142
640msgid "Next"
595msgid "Next"
641msgstr ""
596msgstr ""
642
597
643−#: qml/Wizard/Pages/30-wifi.qml:29
598+#: qml/Wizard/Pages/20-keyboard.qml:31
599+msgid "Select Keyboard"
600+msgstr ""
601+
602+#: qml/Wizard/Pages/20-keyboard.qml:71
603+msgid "Keyboard language"
604+msgstr ""
605+
606+#: qml/Wizard/Pages/20-keyboard.qml:93
607+msgid "Keyboard layout"
608+msgstr ""
609+
610+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
611+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
612+#: qml/Wizard/Pages/sim.qml:101
613+msgid "Skip"
614+msgstr "Kaqit"
615+
616+#: qml/Wizard/Pages/30-wifi.qml:31
644msgid "Connect to Wi‑Fi"
617msgid "Connect to Wi‑Fi"
645msgstr ""
618msgstr ""
646
619
647−#: qml/Wizard/Pages/30-wifi.qml:130
620+#: qml/Wizard/Pages/30-wifi.qml:132
648msgid "Connected"
621msgid "Connected"
649msgstr ""
622msgstr ""
650
623
651−#: qml/Wizard/Pages/30-wifi.qml:163
624+#: qml/Wizard/Pages/30-wifi.qml:165
652msgid "Available Wi-Fi networks"
625msgid "Available Wi-Fi networks"
653msgstr ""
626msgstr ""
654
627
655−#: qml/Wizard/Pages/30-wifi.qml:164
628+#: qml/Wizard/Pages/30-wifi.qml:166
656msgid "No available Wi-Fi networks"
629msgid "No available Wi-Fi networks"
657msgstr ""
630msgstr ""
658
631
659−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
660−#: qml/Wizard/Pages/sim.qml:101
661−msgid "Skip"
662−msgstr "Kaqit"
663−
664#: qml/Wizard/Pages/40-location.qml:27
632#: qml/Wizard/Pages/40-location.qml:27
665msgid "Location Services"
633msgid "Location Services"
666msgstr ""
634msgstr ""
@@ -693,11 +661,11 @@ msgstr ""
693msgid "You can change it later in System Settings."
661msgid "You can change it later in System Settings."
694msgstr ""
662msgstr ""
695
663
696−#: qml/Wizard/Pages/50-timezone.qml:29
664+#: qml/Wizard/Pages/50-timezone.qml:30
697msgid "Time Zone"
665msgid "Time Zone"
698msgstr ""
666msgstr ""
699
667
700−#: qml/Wizard/Pages/50-timezone.qml:181
668+#: qml/Wizard/Pages/50-timezone.qml:182
701msgid "Enter your city"
669msgid "Enter your city"
702msgstr ""
670msgstr ""
703
671
@@ -709,21 +677,21 @@ msgstr ""
709msgid "Preferred Name"
677msgid "Preferred Name"
710msgstr ""
678msgstr ""
711
679
712−#: qml/Wizard/Pages/70-passwd-type.qml:39
680+#: qml/Wizard/Pages/70-passwd-type.qml:40
713msgid "Lock Screen"
681msgid "Lock Screen"
714msgstr ""
682msgstr ""
715
683
716−#: qml/Wizard/Pages/70-passwd-type.qml:101
684+#: qml/Wizard/Pages/70-passwd-type.qml:102
717msgctxt "Label: Type of security method"
685msgctxt "Label: Type of security method"
718msgid "Create new password"
686msgid "Create new password"
719msgstr ""
687msgstr ""
720
688
721−#: qml/Wizard/Pages/70-passwd-type.qml:103
689+#: qml/Wizard/Pages/70-passwd-type.qml:104
722msgctxt "Label: Type of security method"
690msgctxt "Label: Type of security method"
723msgid "Create passcode (numbers only)"
691msgid "Create passcode (numbers only)"
724msgstr ""
692msgstr ""
725
693
726−#: qml/Wizard/Pages/70-passwd-type.qml:105
694+#: qml/Wizard/Pages/70-passwd-type.qml:106
727msgctxt "Label: Type of security method"
695msgctxt "Label: Type of security method"
728msgid "No lock code"
696msgid "No lock code"
729msgstr ""
697msgstr ""
@@ -744,6 +712,35 @@ msgstr ""
744msgid "Privacy policy"
712msgid "Privacy policy"
745msgstr ""
713msgstr ""
746
714
715+#: qml/Wizard/Pages/77-system-update.qml:28
716+msgid "Update Device"
717+msgstr ""
718+
719+#: qml/Wizard/Pages/77-system-update.qml:55
720+msgid ""
721+"There is a system update available and ready to install. Afterwards, the "
722+"device will automatically restart."
723+msgstr ""
724+
725+#: qml/Wizard/Pages/77-system-update.qml:76
726+msgctxt "string identifying name of the update"
727+msgid "Ubuntu system"
728+msgstr ""
729+
730+#: qml/Wizard/Pages/77-system-update.qml:83
731+#, qt-format
732+msgctxt "version of the system update"
733+msgid "Version %1"
734+msgstr ""
735+
736+#: qml/Wizard/Pages/77-system-update.qml:102
737+msgid "This could take a few minutes..."
738+msgstr ""
739+
740+#: qml/Wizard/Pages/77-system-update.qml:116
741+msgid "Install and restart now"
742+msgstr ""
743+
747#: qml/Wizard/Pages/80-finished.qml:89
744#: qml/Wizard/Pages/80-finished.qml:89
748msgid "Welcome to Ubuntu"
745msgid "Welcome to Ubuntu"
749msgstr ""
746msgstr ""
@@ -787,7 +784,7 @@ msgid "Service Terms"
787msgstr ""
784msgstr ""
788
785
789#: qml/Wizard/Pages/passcode-confirm.qml:43
786#: qml/Wizard/Pages/passcode-confirm.qml:43
790−#: qml/Wizard/Pages/passcode-desktop.qml:96
787+#: qml/Wizard/Pages/passcode-desktop.qml:97
791msgid "Confirm passcode"
788msgid "Confirm passcode"
792msgstr ""
789msgstr ""
793
790
@@ -800,28 +797,28 @@ msgctxt "Enter the passcode again"
800msgid "Please re-enter."
797msgid "Please re-enter."
801msgstr ""
798msgstr ""
802
799
803−#: qml/Wizard/Pages/passcode-desktop.qml:30
800+#: qml/Wizard/Pages/passcode-desktop.qml:31
804msgid "Lock Screen Passcode"
801msgid "Lock Screen Passcode"
805msgstr ""
802msgstr ""
806
803
807−#: qml/Wizard/Pages/passcode-desktop.qml:60
804+#: qml/Wizard/Pages/passcode-desktop.qml:61
808msgid "Enter 4 numbers to setup your passcode"
805msgid "Enter 4 numbers to setup your passcode"
809msgstr ""
806msgstr ""
810
807
811−#: qml/Wizard/Pages/passcode-desktop.qml:76
808+#: qml/Wizard/Pages/passcode-desktop.qml:77
812#: qml/Wizard/Pages/passcode-set.qml:54
809#: qml/Wizard/Pages/passcode-set.qml:54
813msgid "Choose passcode"
810msgid "Choose passcode"
814msgstr ""
811msgstr ""
815
812
816−#: qml/Wizard/Pages/passcode-desktop.qml:126
813+#: qml/Wizard/Pages/passcode-desktop.qml:127
817msgid "Passcode too short"
814msgid "Passcode too short"
818msgstr ""
815msgstr ""
819
816
820−#: qml/Wizard/Pages/passcode-desktop.qml:128
817+#: qml/Wizard/Pages/passcode-desktop.qml:129
821msgid "Passcodes match"
818msgid "Passcodes match"
822msgstr ""
819msgstr ""
823
820
824−#: qml/Wizard/Pages/passcode-desktop.qml:130
821+#: qml/Wizard/Pages/passcode-desktop.qml:131
825msgid "Passcodes do not match"
822msgid "Passcodes do not match"
826msgstr ""
823msgstr ""
827
824
@@ -829,19 +826,19 @@ msgstr ""
829msgid "Passcode must be 4 characters long"
826msgid "Passcode must be 4 characters long"
830msgstr ""
827msgstr ""
831
828
832−#: qml/Wizard/Pages/password-set.qml:30
829+#: qml/Wizard/Pages/password-set.qml:31
833msgid "Lock Screen Password"
830msgid "Lock Screen Password"
834msgstr ""
831msgstr ""
835
832
836−#: qml/Wizard/Pages/password-set.qml:61
833+#: qml/Wizard/Pages/password-set.qml:62
837msgid "Enter at least 8 characters"
834msgid "Enter at least 8 characters"
838msgstr ""
835msgstr ""
839
836
840−#: qml/Wizard/Pages/password-set.qml:73
837+#: qml/Wizard/Pages/password-set.qml:74
841msgid "Choose password"
838msgid "Choose password"
842msgstr ""
839msgstr ""
843
840
844−#: qml/Wizard/Pages/password-set.qml:103
841+#: qml/Wizard/Pages/password-set.qml:104
845msgid "Confirm password"
842msgid "Confirm password"
846msgstr ""
843msgstr ""
847
844
@@ -912,6 +909,16 @@ msgstr ""
912#~ msgid "Reboot"
909#~ msgid "Reboot"
913#~ msgstr "Wadir-ugus"
910#~ msgstr "Wadir-ugus"
914
911
912+#, qt-format
913+#~ msgid "Enter %1"
914+#~ msgstr "%1 culus"
915+
916+#~ msgid "Enter passphrase"
917+#~ msgstr "Tatur-maxco culus"
918+
919+#~ msgid "Enter passcode"
920+#~ msgstr "Tatur-mudenta culus"
921+
915#~ msgctxt "Label: Type of security method"
922#~ msgctxt "Label: Type of security method"
916#~ msgid "Swipe"
923#~ msgid "Swipe"
917#~ msgstr "Uysuttuc"
924#~ msgstr "Uysuttuc"
po/am.po+216−176
@@ -7,101 +7,83 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11−"PO-Revision-Date: 2016-07-05 02:15+0000\n"
11+"PO-Revision-Date: 2016-08-13 14:45+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"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr "የ መግቢያ ቃል: "
23msgstr "የ መግቢያ ቃል: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "አቋራጭ ማጣበቂያ"
28msgstr "አቋራጭ ማጣበቂያ"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr "ማጥፊያ"
32msgstr "ማጥፊያ"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "አቋራጭ መለያያ"
36msgstr "አቋራጭ መለያያ"
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr "አካሉ ተቆልፏል"
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr "ብዙ ጊዜ የተሳሳተ የ ማለፊያ ሀረግ ለማስገባት በ መሞከር ምክንያት ስልኩ ተቆልፏል"
45−
46−#: qml/Components/DelayedLockscreen.qml:66
47−msgid "You have been locked out due to too many failed passcode attempts."
48−msgstr "ብዙ ጊዜ የተሳሳተ የ ማለፊያ ኮድ ለማስገባት በ መሞከር ምክንያት ስልኩ ተቆልፏል"
49−
50−#: qml/Components/DelayedLockscreen.qml:75
51−#, qt-format
52−msgid "Please wait %1 minute and then try again…"
53−msgid_plural "Please wait %1 minutes and then try again…"
54−msgstr[0] "እባክዎን ይቆዩ %1 ደቂቃ እና ከዛ እንደ ገና ይምክሩ…"
55−msgstr[1] "እባክዎን ይቆዩ %1 ደቂቃዎች እና ከዛ እንደ ገና ይምክሩ…"
56−
57−#: qml/Components/Dialogs.qml:144
58msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
40msgid "Log out"
60msgstr "መውጫ"
41msgstr "መውጫ"
61
42
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
63msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
64msgstr "በእርግጥ መውጣት ይፈልጋሉ?"
45msgstr "በእርግጥ መውጣት ይፈልጋሉ?"
65
46
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
67msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
68msgid "Lock"
49msgid "Lock"
69msgstr "መቆለፊያ"
50msgstr "መቆለፊያ"
70
51
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
72msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
73msgid "Log Out"
54msgid "Log Out"
74msgstr "መውጫ"
55msgstr "መውጫ"
75
56
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
61msgid "Cancel"
80msgstr "መሰረዣ"
62msgstr "መሰረዣ"
81
63
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
83msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
84msgid "Reboot"
66msgid "Reboot"
85msgstr "እንደገና ማስነሻ"
67msgstr "እንደገና ማስነሻ"
86
68
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
88msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
89msgstr "በእርግጥ እንደገና ማስነሳት ይፈልጋሉ?"
71msgstr "በእርግጥ እንደገና ማስነሳት ይፈልጋሉ?"
90
72
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
92msgid "No"
74msgid "No"
93msgstr "አይ"
75msgstr "አይ"
94
76
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
96msgid "Yes"
78msgid "Yes"
97msgstr "አዎ"
79msgstr "አዎ"
98
80
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
100msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
83msgid "Power"
102msgstr "ሐይል"
84msgstr "ሐይል"
103
85
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
105msgid ""
87msgid ""
106"Are you sure you would like\n"
88"Are you sure you would like\n"
107"to power off?"
89"to power off?"
@@ -109,12 +91,12 @@ msgstr ""
109"በእርግጥ ሐይሉን ማጥፋት\n"
91"በእርግጥ ሐይሉን ማጥፋት\n"
110"ይፈልጋሉ?"
92"ይፈልጋሉ?"
111
93
112−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
113msgctxt "Button: Power off the system"
95msgctxt "Button: Power off the system"
114msgid "Power off"
96msgid "Power off"
115msgstr "ሐይል ማጥፊያ"
97msgstr "ሐይል ማጥፊያ"
116
98
117−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
118msgctxt "Button: Restart the system"
100msgctxt "Button: Restart the system"
119msgid "Restart"
101msgid "Restart"
120msgstr "እንደገና ማስጀመሪያ"
102msgstr "እንደገና ማስጀመሪያ"
@@ -279,15 +261,15 @@ msgstr "Alt + F4"
279msgid "Closes the current window."
261msgid "Closes the current window."
280msgstr "የ አሁኑን መስኮት መዝጊያ"
262msgstr "የ አሁኑን መስኮት መዝጊያ"
281
263
282−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
283msgid "Return to Call"
265msgid "Return to Call"
284msgstr "ወደ ጥሪ መመለሻ"
266msgstr "ወደ ጥሪ መመለሻ"
285
267
286−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
287msgid "Emergency Call"
269msgid "Emergency Call"
288msgstr "የ ድንገተኛ ጥሪ"
270msgstr "የ ድንገተኛ ጥሪ"
289
271
290−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
291msgid "OK"
273msgid "OK"
292msgstr "እሺ"
274msgstr "እሺ"
293
275
@@ -331,84 +313,84 @@ msgstr "ሁሉንም መዝጊያ"
331msgid "Preview Share Item"
313msgid "Preview Share Item"
332msgstr "የሚካፈሉትን እቃ ቅድመ እይታ"
314msgstr "የሚካፈሉትን እቃ ቅድመ እይታ"
333
315
334−#: qml/Dash/DashPageHeader.qml:333
316+#: qml/Dash/DashPageHeader.qml:361
335msgctxt "Button: Open the Ubuntu Store"
317msgctxt "Button: Open the Ubuntu Store"
336msgid "Store"
318msgid "Store"
337msgstr "ማስቀመጫ"
319msgstr "ማስቀመጫ"
338
320
339−#: qml/Dash/DashPageHeader.qml:340
321+#: qml/Dash/DashPageHeader.qml:368
340msgctxt "Button: Start a search in the current dash scope"
322msgctxt "Button: Start a search in the current dash scope"
341msgid "Search"
323msgid "Search"
342msgstr "መፈለጊያ"
324msgstr "መፈለጊያ"
343
325
344−#: qml/Dash/DashPageHeader.qml:350
326+#: qml/Dash/DashPageHeader.qml:378
345msgctxt "Button: Show the current dash scope settings"
327msgctxt "Button: Show the current dash scope settings"
346msgid "Settings"
328msgid "Settings"
347msgstr "ማሰናጃዎች"
329msgstr "ማሰናጃዎች"
348
330
349−#: qml/Dash/DashPageHeader.qml:357
331+#: qml/Dash/DashPageHeader.qml:385
350msgid "Remove from Favorites"
332msgid "Remove from Favorites"
351msgstr "ከምወዳቸው ማስወገጃ"
333msgstr "ከምወዳቸው ማስወገጃ"
352
334
353−#: qml/Dash/DashPageHeader.qml:357
335+#: qml/Dash/DashPageHeader.qml:385
354msgid "Add to Favorites"
336msgid "Add to Favorites"
355msgstr "ወደምወዳቸው መጨመሪያ"
337msgstr "ወደምወዳቸው መጨመሪያ"
356
338
357−#: qml/Dash/FiltersPopover.qml:60
339+#: qml/Dash/FiltersPopover.qml:61
358msgid "Refine your results"
340msgid "Refine your results"
359msgstr "የ እርስዎን ውጤቶች እንደገና ማጣሪያ"
341msgstr "የ እርስዎን ውጤቶች እንደገና ማጣሪያ"
360
342
361−#: qml/Dash/FiltersPopover.qml:69
343+#: qml/Dash/FiltersPopover.qml:70
362msgid "Reset"
344msgid "Reset"
363msgstr "እንደ ነበረ መመለሻ"
345msgstr "እንደ ነበረ መመለሻ"
364
346
365−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
347+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
366msgid "Show less"
348msgid "Show less"
367msgstr "ትንሽ ማሳያ"
349msgstr "ትንሽ ማሳያ"
368
350
369−#: qml/Dash/GenericScopeView.qml:580
351+#: qml/Dash/GenericScopeView.qml:547
370msgid "Show all"
352msgid "Show all"
371msgstr "ሁሉንም ማሳያ"
353msgstr "ሁሉንም ማሳያ"
372
354
373−#: qml/Dash/GenericScopeView.qml:637
355+#: qml/Dash/GenericScopeView.qml:578
374msgctxt "Label: Hint for dash search line edit"
356msgctxt "Label: Hint for dash search line edit"
375msgid "Search"
357msgid "Search"
376msgstr "መፈለጊያ"
358msgstr "መፈለጊያ"
377
359
378−#: qml/Dash/PageHeaderExtraPanel.qml:56
360+#: qml/Dash/PageHeaderExtraPanel.qml:67
379msgid "Recent Searches"
361msgid "Recent Searches"
380msgstr "የ ቅርብ ጊዜ ፍለጋዎች"
362msgstr "የ ቅርብ ጊዜ ፍለጋዎች"
381
363
382−#: qml/Dash/PageHeaderExtraPanel.qml:67
364+#: qml/Dash/PageHeaderExtraPanel.qml:78
383msgid "Clear All"
365msgid "Clear All"
384msgstr "ሁሉንም ማጽጃ"
366msgstr "ሁሉንም ማጽጃ"
385
367
386−#: qml/Dash/Previews/PreviewActionCombo.qml:35
368+#: qml/Dash/Previews/PreviewActionCombo.qml:36
387msgid "More..."
369msgid "More..."
388msgstr "ተጨማሪ..."
370msgstr "ተጨማሪ..."
389
371
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
372+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391msgid "Less..."
373msgid "Less..."
392msgstr "አነስተኛ..."
374msgstr "አነስተኛ..."
393
375
394−#: qml/Dash/Previews/PreviewCommentInput.qml:68
376+#: qml/Dash/Previews/PreviewCommentInput.qml:83
395−#: qml/Dash/Previews/PreviewRatingInput.qml:175
377+#: qml/Dash/Previews/PreviewRatingInput.qml:202
396msgid "Send"
378msgid "Send"
397msgstr "መላኪያ"
379msgstr "መላኪያ"
398
380
399−#: qml/Dash/Previews/PreviewRatingInput.qml:82
381+#: qml/Dash/Previews/PreviewRatingInput.qml:109
400msgid "Rate this"
382msgid "Rate this"
401msgstr "ለዚህ ደረጃ ይስጡ"
383msgstr "ለዚህ ደረጃ ይስጡ"
402
384
403−#: qml/Dash/Previews/PreviewRatingInput.qml:157
385+#: qml/Dash/Previews/PreviewRatingInput.qml:184
404msgid "Add a review"
386msgid "Add a review"
405msgstr "ግምገማ መጨመሪያ"
387msgstr "ግምገማ መጨመሪያ"
406
388
407−#: qml/Dash/PullToRefreshScopeStyle.qml:55
389+#: qml/Dash/PullToRefreshScopeStyle.qml:56
408msgid "Pull to refresh…"
390msgid "Pull to refresh…"
409msgstr "ይሳቡ ለማነቃቃት…"
391msgstr "ይሳቡ ለማነቃቃት…"
410
392
411−#: qml/Dash/PullToRefreshScopeStyle.qml:60
393+#: qml/Dash/PullToRefreshScopeStyle.qml:61
412msgid "Release to refresh…"
394msgid "Release to refresh…"
413msgstr "ይልቀቁ ለማነቃቃት…"
395msgstr "ይልቀቁ ለማነቃቃት…"
414
396
@@ -416,15 +398,15 @@ msgstr "ይልቀቁ ለማነቃቃት…"
416msgid "Enable location data"
398msgid "Enable location data"
417msgstr "የአካባቢ ዳታ ማስቻያ"
399msgstr "የአካባቢ ዳታ ማስቻያ"
418
400
419−#: qml/Dash/ScopesList.qml:55
401+#: qml/Dash/ScopesList.qml:57
420msgid "Manage"
402msgid "Manage"
421msgstr "አስተዳዳሪ"
403msgstr "አስተዳዳሪ"
422
404
423−#: qml/Dash/ScopesList.qml:102
405+#: qml/Dash/ScopesList.qml:104
424msgid "Home"
406msgid "Home"
425msgstr "ቤት"
407msgstr "ቤት"
426
408
427−#: qml/Dash/ScopesList.qml:103
409+#: qml/Dash/ScopesList.qml:105
428msgid "Also installed"
410msgid "Also installed"
429msgstr "እንዲሁም የተገጠሙ"
411msgstr "እንዲሁም የተገጠሙ"
430
412
@@ -438,84 +420,52 @@ msgstr "የ እርስዎ አካል አሁን ከ ውጪ ማሳያ ጋር ተገ
438msgid "Unlock"
420msgid "Unlock"
439msgstr "መክፈቻ"
421msgstr "መክፈቻ"
440
422
441−#: qml/Greeter/Greeter.qml:555
423+#: qml/Greeter/DelayedLockscreen.qml:43
424+msgid "Device Locked"
425+msgstr "አካሉ ተቆልፏል"
426+
427+#: qml/Greeter/DelayedLockscreen.qml:58
428+msgid "You have been locked out due to too many failed passphrase attempts."
429+msgstr "ብዙ ጊዜ የተሳሳተ የ ማለፊያ ሀረግ ለማስገባት በ መሞከር ምክንያት ስልኩ ተቆልፏል"
430+
431+#: qml/Greeter/DelayedLockscreen.qml:59
432+msgid "You have been locked out due to too many failed passcode attempts."
433+msgstr "ብዙ ጊዜ የተሳሳተ የ ማለፊያ ኮድ ለማስገባት በ መሞከር ምክንያት ስልኩ ተቆልፏል"
434+
435+#: qml/Greeter/DelayedLockscreen.qml:68
436+#, qt-format
437+msgid "Please wait %1 minute and then try again…"
438+msgid_plural "Please wait %1 minutes and then try again…"
439+msgstr[0] "እባክዎን ይቆዩ %1 ደቂቃ እና ከዛ እንደ ገና ይምክሩ…"
440+msgstr[1] "እባክዎን ይቆዩ %1 ደቂቃዎች እና ከዛ እንደ ገና ይምክሩ…"
441+
442+#: qml/Greeter/Greeter.qml:596
442msgid "Try again"
443msgid "Try again"
443msgstr "እንደገና ይሞክሩ"
444msgstr "እንደገና ይሞክሩ"
444
445
445−#: qml/Greeter/LoginList.qml:63
446+#: qml/Greeter/LoginList.qml:70
446msgid "Passphrase"
447msgid "Passphrase"
447−msgstr ""
448+msgstr "የማለፊያ ሐረግ"
448
449
449−#: qml/Greeter/LoginList.qml:64
450+#: qml/Greeter/LoginList.qml:71
450msgid "Passcode"
451msgid "Passcode"
451−msgstr ""
452+msgstr "ማለፊያ ኮድ"
452
453
453−#: qml/Greeter/LoginList.qml:87
454+#: qml/Greeter/LoginList.qml:98
454msgid "Retry"
455msgid "Retry"
455msgstr "እንደገና ይሞክሩ"
456msgstr "እንደገና ይሞክሩ"
456
457
457−#: qml/Greeter/LoginList.qml:88
458+#: qml/Greeter/LoginList.qml:99
458msgid "Log In"
459msgid "Log In"
459msgstr "መግቢያ"
460msgstr "መግቢያ"
460
461
461−#: qml/Greeter/NarrowView.qml:55
462+#: qml/Greeter/NarrowView.qml:252
462−msgid "Sorry, incorrect passphrase."
463−msgstr "አዝናለሁ የተሳሳተ የማለፊያ ሐረግ"
464−
465−#: qml/Greeter/NarrowView.qml:56
466−msgid "Sorry, incorrect passcode."
467−msgstr "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
468−
469−#: qml/Greeter/NarrowView.qml:57
470−msgid "This will be your last attempt."
471−msgstr "ይህ የመጨረሻ ሙከራዎ ነው"
472−
473−#: qml/Greeter/NarrowView.qml:59
474−msgid ""
463+msgid "Emergency"
475−"If passphrase is entered incorrectly, your phone will conduct a factory "
476−"reset and all personal data will be deleted."
477−msgstr ""
464+msgstr "ድንገተኛ"
478−"የተሳሳተ የማለፊያ ሐረግ ካስገቡ የ እርስዎ ስልክ ወደ ነበረበት ወደ ፋክቶሪው ዘዴ ይመለሳል: እና የ ግል ዳታ በሙሉ "
479−"ይጠፋል"
480−
481−#: qml/Greeter/NarrowView.qml:60
482−msgid ""
483−"If passcode is entered incorrectly, your phone will conduct a factory reset "
484−"and all personal data will be deleted."
485−msgstr ""
486−"የተሳሳተ የማለፊያ ኮድ ካስገቡ የ እርስዎ ስልክ ወደ ነበረበት ወደ ፋክቶሪው ዘዴ ይመለሳል: እና የ ግል ዳታ በሙሉ "
487−"ይጠፋል"
488−
489−#: qml/Greeter/NarrowView.qml:129
490−#, qt-format
491−msgid "Enter %1"
492−msgstr "ማስገቢያ %1"
493−
494−#: qml/Greeter/NarrowView.qml:130
495−msgid "Enter passphrase"
496−msgstr "የ ማለፊያ ሀረግ ያስገቡ"
497
465
498−#: qml/Greeter/NarrowView.qml:131
466+#: qml/Greeter/SessionsList.qml:122
499−msgid "Enter passcode"
467+msgid "Select desktop environment"
500−msgstr "የ ማለፊያ ኮድ ያስገቡ"
468+msgstr "የ ዴስክቶፕ አይነት ይምረጡ"
501−
502−#: qml/Greeter/NarrowView.qml:135
503−#, qt-format
504−msgid "Sorry, incorrect %1"
505−msgstr "አዝናለሁ: የተሳሳተ%1"
506−
507−#: qml/Greeter/NarrowView.qml:136
508−msgid "Sorry, incorrect passphrase"
509−msgstr "አዝናለሁ የተሳሳተ የማለፊያ ሐረግ"
510−
511−#: qml/Greeter/NarrowView.qml:137
512−msgctxt "passphrase"
513−msgid "Please re-enter"
514−msgstr "እባክዎን እንደገና-ያስገቡ"
515−
516−#: qml/Greeter/NarrowView.qml:138
517−msgid "Sorry, incorrect passcode"
518−msgstr "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
519
469
520#: qml/Notifications/NotificationMenuItemFactory.qml:124
470#: qml/Notifications/NotificationMenuItemFactory.qml:124
521msgid "Show password"
471msgid "Show password"
@@ -529,62 +479,62 @@ msgstr "ወደ ጥሪው ለመመለስ መታ ያድርጉ..."
529msgid "Conference"
479msgid "Conference"
530msgstr "ስብሰባ"
480msgstr "ስብሰባ"
531
481
532−#: qml/Panel/Indicators/MenuItemFactory.qml:762
482+#: qml/Panel/Indicators/MenuItemFactory.qml:847
533msgid "Nothing is playing"
483msgid "Nothing is playing"
534msgstr "ምንም አይጫወትም"
484msgstr "ምንም አይጫወትም"
535
485
536−#: qml/Panel/Indicators/MenuItemFactory.qml:891
486+#: qml/Panel/Indicators/MenuItemFactory.qml:975
537#, qt-format
487#, qt-format
538msgid "%1 hour"
488msgid "%1 hour"
539msgid_plural "%1 hours"
489msgid_plural "%1 hours"
540msgstr[0] "%1 ሰአት"
490msgstr[0] "%1 ሰአት"
541msgstr[1] "%1 ሰአቶች"
491msgstr[1] "%1 ሰአቶች"
542
492
543−#: qml/Panel/Indicators/MenuItemFactory.qml:895
493+#: qml/Panel/Indicators/MenuItemFactory.qml:979
544#, qt-format
494#, qt-format
545msgid "%1 minute"
495msgid "%1 minute"
546msgid_plural "%1 minutes"
496msgid_plural "%1 minutes"
547msgstr[0] "%1 ደቂቃ"
497msgstr[0] "%1 ደቂቃ"
548msgstr[1] "%1 ደቂቃዎች"
498msgstr[1] "%1 ደቂቃዎች"
549
499
550−#: qml/Panel/Indicators/MenuItemFactory.qml:900
500+#: qml/Panel/Indicators/MenuItemFactory.qml:984
551#, qt-format
501#, qt-format
552msgid "%1 second"
502msgid "%1 second"
553msgid_plural "%1 seconds"
503msgid_plural "%1 seconds"
554msgstr[0] "%1 ሰከንድ"
504msgstr[0] "%1 ሰከንድ"
555msgstr[1] "%1 ሰከንዶች"
505msgstr[1] "%1 ሰከንዶች"
556
506
557−#: qml/Panel/Indicators/MenuItemFactory.qml:903
507+#: qml/Panel/Indicators/MenuItemFactory.qml:987
558msgid "0 seconds"
508msgid "0 seconds"
559msgstr "0 ሰከንዶች"
509msgstr "0 ሰከንዶች"
560
510
561#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
511#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
562−#: qml/Panel/Indicators/MenuItemFactory.qml:905
512+#: qml/Panel/Indicators/MenuItemFactory.qml:989
563#, qt-format
513#, qt-format
564msgid "%1 remaining"
514msgid "%1 remaining"
565msgstr "%1 የቀረው"
515msgstr "%1 የቀረው"
566
516
567−#: qml/Panel/Indicators/MenuItemFactory.qml:911
517+#: qml/Panel/Indicators/MenuItemFactory.qml:995
568msgid "In queue…"
518msgid "In queue…"
569msgstr "ወረፋ በመጠበቅ ላይ…"
519msgstr "ወረፋ በመጠበቅ ላይ…"
570
520
571−#: qml/Panel/Indicators/MenuItemFactory.qml:915
521+#: qml/Panel/Indicators/MenuItemFactory.qml:999
572msgid "Downloading"
522msgid "Downloading"
573msgstr "በማውረድ ላይ"
523msgstr "በማውረድ ላይ"
574
524
575−#: qml/Panel/Indicators/MenuItemFactory.qml:917
525+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
576msgid "Paused, tap to resume"
526msgid "Paused, tap to resume"
577msgstr "ማስቆሚያ: ለመቀጠል መታ ያድርጉ"
527msgstr "ማስቆሚያ: ለመቀጠል መታ ያድርጉ"
578
528
579−#: qml/Panel/Indicators/MenuItemFactory.qml:919
529+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
580msgid "Canceled"
530msgid "Canceled"
581msgstr "ተሰርዟል"
531msgstr "ተሰርዟል"
582
532
583−#: qml/Panel/Indicators/MenuItemFactory.qml:921
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
584msgid "Finished"
534msgid "Finished"
585msgstr "ጨርሷል"
535msgstr "ጨርሷል"
586
536
587−#: qml/Panel/Indicators/MenuItemFactory.qml:923
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
588msgid "Failed, tap to retry"
538msgid "Failed, tap to retry"
589msgstr "አልተቻለም: እንደገና ለመሞከር መታ ያድርጉ"
539msgstr "አልተቻለም: እንደገና ለመሞከር መታ ያድርጉ"
590
540
@@ -604,7 +554,7 @@ msgctxt "Button: Call back on phone"
604msgid "Call back"
554msgid "Call back"
605msgstr "መልሶ መደወያ"
555msgstr "መልሶ መደወያ"
606
556
607−#: qml/Stages/SideStage.qml:76
557+#: qml/Stage/SideStage.qml:76
608msgid "Drag using 3 fingers any application from one window to the other"
558msgid "Drag using 3 fingers any application from one window to the other"
609msgstr "መጎተቻ 3 ጣቶች በ መጠቀም ማንኛውንም መተግበሪያ ከ አንድ መስኮት ወደ ሌላ"
559msgstr "መጎተቻ 3 ጣቶች በ መጠቀም ማንኛውንም መተግበሪያ ከ አንድ መስኮት ወደ ሌላ"
610
560
@@ -633,40 +583,54 @@ msgctxt "Button: Go back one page in the Wizard"
633msgid "Back"
583msgid "Back"
634msgstr "ወደ ኋላ"
584msgstr "ወደ ኋላ"
635
585
636−#: qml/Wizard/Pages/10-welcome.qml:27
586+#: qml/Wizard/Pages/10-welcome.qml:28
637msgid "Language"
587msgid "Language"
638msgstr "ቋንቋ"
588msgstr "ቋንቋ"
639
589
640−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
590+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
641−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
591+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
592+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
642−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
593+#: qml/Wizard/Pages/70-passwd-type.qml:145
643#: qml/Wizard/Pages/75-report-check.qml:84
594#: qml/Wizard/Pages/75-report-check.qml:84
644−#: qml/Wizard/Pages/passcode-desktop.qml:141
595+#: qml/Wizard/Pages/passcode-desktop.qml:142
645−#: qml/Wizard/Pages/password-set.qml:141
596+#: qml/Wizard/Pages/password-set.qml:142
646msgid "Next"
597msgid "Next"
647msgstr "ይቀጥሉ"
598msgstr "ይቀጥሉ"
648
599
649−#: qml/Wizard/Pages/30-wifi.qml:29
600+#: qml/Wizard/Pages/20-keyboard.qml:31
601+msgid "Select Keyboard"
602+msgstr "ቋንቋ ይምረጡ"
603+
604+#: qml/Wizard/Pages/20-keyboard.qml:71
605+msgid "Keyboard language"
606+msgstr "የ ፊደል ገበታ ቋንቋ"
607+
608+#: qml/Wizard/Pages/20-keyboard.qml:93
609+msgid "Keyboard layout"
610+msgstr "የ ፊደል ገበታ አቀራረብ"
611+
612+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
613+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
614+#: qml/Wizard/Pages/sim.qml:101
615+msgid "Skip"
616+msgstr "መዝለያ"
617+
618+#: qml/Wizard/Pages/30-wifi.qml:31
650msgid "Connect to Wi‑Fi"
619msgid "Connect to Wi‑Fi"
651msgstr "ወደ ዋይ‑ፋይ መገናኛ"
620msgstr "ወደ ዋይ‑ፋይ መገናኛ"
652
621
653−#: qml/Wizard/Pages/30-wifi.qml:130
622+#: qml/Wizard/Pages/30-wifi.qml:132
654msgid "Connected"
623msgid "Connected"
655msgstr "ተገናኝቷል"
624msgstr "ተገናኝቷል"
656
625
657−#: qml/Wizard/Pages/30-wifi.qml:163
626+#: qml/Wizard/Pages/30-wifi.qml:165
658msgid "Available Wi-Fi networks"
627msgid "Available Wi-Fi networks"
659msgstr "ዝግጁ የ ዋይ-ፋይ ኔትዎርኮች"
628msgstr "ዝግጁ የ ዋይ-ፋይ ኔትዎርኮች"
660
629
661−#: qml/Wizard/Pages/30-wifi.qml:164
630+#: qml/Wizard/Pages/30-wifi.qml:166
662msgid "No available Wi-Fi networks"
631msgid "No available Wi-Fi networks"
663msgstr "ምንም ዝግጁ ዋይ-ፋይ ኔትዎርኮች አልተገኙም"
632msgstr "ምንም ዝግጁ ዋይ-ፋይ ኔትዎርኮች አልተገኙም"
664
633
665−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
666−#: qml/Wizard/Pages/sim.qml:101
667−msgid "Skip"
668−msgstr "መዝለያ"
669−
670#: qml/Wizard/Pages/40-location.qml:27
634#: qml/Wizard/Pages/40-location.qml:27
671msgid "Location Services"
635msgid "Location Services"
672msgstr "የ አካባቢ ግልጋሎት"
636msgstr "የ አካባቢ ግልጋሎት"
@@ -699,11 +663,11 @@ msgstr "የ እኔን አካባቢ አትጠቀም"
699msgid "You can change it later in System Settings."
663msgid "You can change it later in System Settings."
700msgstr "እርስዎ በኋላ በ ስርአት ማሰናጃ ውስጥ መቀየር ይችላሉ"
664msgstr "እርስዎ በኋላ በ ስርአት ማሰናጃ ውስጥ መቀየር ይችላሉ"
701
665
702−#: qml/Wizard/Pages/50-timezone.qml:29
666+#: qml/Wizard/Pages/50-timezone.qml:30
703msgid "Time Zone"
667msgid "Time Zone"
704msgstr "የ ሰአት ክልል"
668msgstr "የ ሰአት ክልል"
705
669
706−#: qml/Wizard/Pages/50-timezone.qml:181
670+#: qml/Wizard/Pages/50-timezone.qml:182
707msgid "Enter your city"
671msgid "Enter your city"
708msgstr "የ እርስዎን ከተማ ያስገቡ"
672msgstr "የ እርስዎን ከተማ ያስገቡ"
709
673
@@ -715,21 +679,21 @@ msgstr "የ እርስዎን አካል የ ግልዎ ያድርጉ"
715msgid "Preferred Name"
679msgid "Preferred Name"
716msgstr "የመረጡት ስም"
680msgstr "የመረጡት ስም"
717
681
718−#: qml/Wizard/Pages/70-passwd-type.qml:39
682+#: qml/Wizard/Pages/70-passwd-type.qml:40
719msgid "Lock Screen"
683msgid "Lock Screen"
720msgstr "መመልከቻውን መቆለፊያ"
684msgstr "መመልከቻውን መቆለፊያ"
721
685
722−#: qml/Wizard/Pages/70-passwd-type.qml:101
686+#: qml/Wizard/Pages/70-passwd-type.qml:102
723msgctxt "Label: Type of security method"
687msgctxt "Label: Type of security method"
724msgid "Create new password"
688msgid "Create new password"
725msgstr "አዲስ የ መግቢያ ቃል መፍጠሪያ"
689msgstr "አዲስ የ መግቢያ ቃል መፍጠሪያ"
726
690
727−#: qml/Wizard/Pages/70-passwd-type.qml:103
691+#: qml/Wizard/Pages/70-passwd-type.qml:104
728msgctxt "Label: Type of security method"
692msgctxt "Label: Type of security method"
729msgid "Create passcode (numbers only)"
693msgid "Create passcode (numbers only)"
730msgstr "አዲስ የ ማለፊያ ኮድ መፍጠሪያ (ቁጥር ብቻ)"
694msgstr "አዲስ የ ማለፊያ ኮድ መፍጠሪያ (ቁጥር ብቻ)"
731
695
732−#: qml/Wizard/Pages/70-passwd-type.qml:105
696+#: qml/Wizard/Pages/70-passwd-type.qml:106
733msgctxt "Label: Type of security method"
697msgctxt "Label: Type of security method"
734msgid "No lock code"
698msgid "No lock code"
735msgstr "ምንም መቆለፊያ ኮድ አልተገኘም"
699msgstr "ምንም መቆለፊያ ኮድ አልተገኘም"
@@ -750,6 +714,35 @@ msgstr "የ ስርአቱን አፈጻጸም ለማሻሻል የ ግጭት እና
750msgid "Privacy policy"
714msgid "Privacy policy"
751msgstr "የ ግላዊነት መመሪያ"
715msgstr "የ ግላዊነት መመሪያ"
752
716
717+#: qml/Wizard/Pages/77-system-update.qml:28
718+msgid "Update Device"
719+msgstr "አካሉን ማሻሻያ"
720+
721+#: qml/Wizard/Pages/77-system-update.qml:55
722+msgid ""
723+"There is a system update available and ready to install. Afterwards, the "
724+"device will automatically restart."
725+msgstr "የ ስርአት ማሻሻያ ዝግጁ ነው ለ መግጠም: ከዚያ በኋላ አካሉ ራሱ በራሱ እንደገና ይጀምራል"
726+
727+#: qml/Wizard/Pages/77-system-update.qml:76
728+msgctxt "string identifying name of the update"
729+msgid "Ubuntu system"
730+msgstr "የ ኡቡቱ ስርአት"
731+
732+#: qml/Wizard/Pages/77-system-update.qml:83
733+#, qt-format
734+msgctxt "version of the system update"
735+msgid "Version %1"
736+msgstr "እትም %1"
737+
738+#: qml/Wizard/Pages/77-system-update.qml:102
739+msgid "This could take a few minutes..."
740+msgstr "ይህ ትንሽ ደቂቆች ይወስዳል"
741+
742+#: qml/Wizard/Pages/77-system-update.qml:116
743+msgid "Install and restart now"
744+msgstr "መግጠሚያ እና እንደገና ማስጀመሪያ"
745+
753#: qml/Wizard/Pages/80-finished.qml:89
746#: qml/Wizard/Pages/80-finished.qml:89
754msgid "Welcome to Ubuntu"
747msgid "Welcome to Ubuntu"
755msgstr "እንኳን ደህና መጡ ወደ ኡቡንቱ"
748msgstr "እንኳን ደህና መጡ ወደ ኡቡንቱ"
@@ -795,7 +788,7 @@ msgid "Service Terms"
795msgstr "የ ግልጋሎት ስምምነቶች"
788msgstr "የ ግልጋሎት ስምምነቶች"
796
789
797#: qml/Wizard/Pages/passcode-confirm.qml:43
790#: qml/Wizard/Pages/passcode-confirm.qml:43
798−#: qml/Wizard/Pages/passcode-desktop.qml:96
791+#: qml/Wizard/Pages/passcode-desktop.qml:97
799msgid "Confirm passcode"
792msgid "Confirm passcode"
800msgstr "የማለፊያ ኮድ ማረጋገጫ"
793msgstr "የማለፊያ ኮድ ማረጋገጫ"
801
794
@@ -808,28 +801,28 @@ msgctxt "Enter the passcode again"
808msgid "Please re-enter."
801msgid "Please re-enter."
809msgstr "እባክዎን እንደገና-ያስገቡ"
802msgstr "እባክዎን እንደገና-ያስገቡ"
810
803
811−#: qml/Wizard/Pages/passcode-desktop.qml:30
804+#: qml/Wizard/Pages/passcode-desktop.qml:31
812msgid "Lock Screen Passcode"
805msgid "Lock Screen Passcode"
813msgstr "የ መመልከቻው መቆለፊያ የ ማለፊያ ኮድ"
806msgstr "የ መመልከቻው መቆለፊያ የ ማለፊያ ኮድ"
814
807
815−#: qml/Wizard/Pages/passcode-desktop.qml:60
808+#: qml/Wizard/Pages/passcode-desktop.qml:61
816msgid "Enter 4 numbers to setup your passcode"
809msgid "Enter 4 numbers to setup your passcode"
817msgstr "ያስገቡ 4 ቁጥሮች የ እርስዎን የ ማለፊያ ኮድ ለማሰናዳት"
810msgstr "ያስገቡ 4 ቁጥሮች የ እርስዎን የ ማለፊያ ኮድ ለማሰናዳት"
818
811
819−#: qml/Wizard/Pages/passcode-desktop.qml:76
812+#: qml/Wizard/Pages/passcode-desktop.qml:77
820#: qml/Wizard/Pages/passcode-set.qml:54
813#: qml/Wizard/Pages/passcode-set.qml:54
821msgid "Choose passcode"
814msgid "Choose passcode"
822msgstr "የ ማለፊያ ኮድ ይምረጡ"
815msgstr "የ ማለፊያ ኮድ ይምረጡ"
823
816
824−#: qml/Wizard/Pages/passcode-desktop.qml:126
817+#: qml/Wizard/Pages/passcode-desktop.qml:127
825msgid "Passcode too short"
818msgid "Passcode too short"
826msgstr "የ ማለፊያ ኮዱ በጣም አጭር ነው"
819msgstr "የ ማለፊያ ኮዱ በጣም አጭር ነው"
827
820
828−#: qml/Wizard/Pages/passcode-desktop.qml:128
821+#: qml/Wizard/Pages/passcode-desktop.qml:129
829msgid "Passcodes match"
822msgid "Passcodes match"
830msgstr "የ ማለፊያ ኮዶቹ ተመሳሳይ ናቸው"
823msgstr "የ ማለፊያ ኮዶቹ ተመሳሳይ ናቸው"
831
824
832−#: qml/Wizard/Pages/passcode-desktop.qml:130
825+#: qml/Wizard/Pages/passcode-desktop.qml:131
833msgid "Passcodes do not match"
826msgid "Passcodes do not match"
834msgstr "የ ማለፊያ ኮዶቹ አይመሳሰሉም"
827msgstr "የ ማለፊያ ኮዶቹ አይመሳሰሉም"
835
828
@@ -837,19 +830,19 @@ msgstr "የ ማለፊያ ኮዶቹ አይመሳሰሉም"
837msgid "Passcode must be 4 characters long"
830msgid "Passcode must be 4 characters long"
838msgstr "የ ማለፊያ ኮድ 4 ባህሪዎች መሆን አለበት"
831msgstr "የ ማለፊያ ኮድ 4 ባህሪዎች መሆን አለበት"
839
832
840−#: qml/Wizard/Pages/password-set.qml:30
833+#: qml/Wizard/Pages/password-set.qml:31
841msgid "Lock Screen Password"
834msgid "Lock Screen Password"
842msgstr "የ መመልከቻ መቆለፊያ የ መግቢያ ቃል"
835msgstr "የ መመልከቻ መቆለፊያ የ መግቢያ ቃል"
843
836
844−#: qml/Wizard/Pages/password-set.qml:61
837+#: qml/Wizard/Pages/password-set.qml:62
845msgid "Enter at least 8 characters"
838msgid "Enter at least 8 characters"
846msgstr "ያስገቡ ቢያንስ 8 ባህሪዎች"
839msgstr "ያስገቡ ቢያንስ 8 ባህሪዎች"
847
840
848−#: qml/Wizard/Pages/password-set.qml:73
841+#: qml/Wizard/Pages/password-set.qml:74
849msgid "Choose password"
842msgid "Choose password"
850msgstr "የ መግቢያ ቃል ይምረጡ"
843msgstr "የ መግቢያ ቃል ይምረጡ"
851
844
852−#: qml/Wizard/Pages/password-set.qml:103
845+#: qml/Wizard/Pages/password-set.qml:104
853msgid "Confirm password"
846msgid "Confirm password"
854msgstr "የ መግቢያ ቃሉን ያረጋግጡ"
847msgstr "የ መግቢያ ቃሉን ያረጋግጡ"
855
848
@@ -974,6 +967,13 @@ msgstr "በጣም ደካማ የ መግቢያ ቃል"
974#~ msgid "Power off"
967#~ msgid "Power off"
975#~ msgstr "ማጥፊያ"
968#~ msgstr "ማጥፊያ"
976
969
970+#~ msgid "This will be your last attempt."
971+#~ msgstr "ይህ የመጨረሻ ሙከራዎ ነው"
972+
973+#, qt-format
974+#~ msgid "Sorry, incorrect %1"
975+#~ msgstr "አዝናለሁ: የተሳሳተ%1"
976+
977#~ msgid "Power"
977#~ msgid "Power"
978#~ msgstr "ሐይል"
978#~ msgstr "ሐይል"
979
979
@@ -992,24 +992,60 @@ msgstr "በጣም ደካማ የ መግቢያ ቃል"
992#~ msgid "Settings"
992#~ msgid "Settings"
993#~ msgstr "ማሰናጃ"
993#~ msgstr "ማሰናጃ"
994
994
995+#~ msgid "Sorry, incorrect passphrase"
996+#~ msgstr "አዝናለሁ የተሳሳተ የማለፊያ ሐረግ"
997+
995#~ msgid "Unlock SIM"
998#~ msgid "Unlock SIM"
996#~ msgstr "ሲም መክፈቻ"
999#~ msgstr "ሲም መክፈቻ"
997
1000
1001+#~ msgid "Sorry, incorrect passcode"
1002+#~ msgstr "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
1003+
1004+#~ msgid "Sorry, incorrect passphrase."
1005+#~ msgstr "አዝናለሁ የተሳሳተ የማለፊያ ሐረግ"
1006+
1007+#~ msgid "Sorry, incorrect passcode."
1008+#~ msgstr "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
1009+
998#~ msgid ""
1010#~ msgid ""
999#~ "You have now mastered the edge gestures and can start using the "
1011#~ "You have now mastered the edge gestures and can start using the "
1000#~ "phone<br><br>Tap on the screen to start"
1012#~ "phone<br><br>Tap on the screen to start"
1001#~ msgstr ""
1013#~ msgstr ""
1002#~ "አሁን የ ጠርዝ እንቅስቃሴን አውቀዋል እና መጀመር ይችላሉ ስልኩን መጠቀም <br><br>መመልከቻውን መታ ያድርጉ ለመጀመር"
1014#~ "አሁን የ ጠርዝ እንቅስቃሴን አውቀዋል እና መጀመር ይችላሉ ስልኩን መጠቀም <br><br>መመልከቻውን መታ ያድርጉ ለመጀመር"
1003
1015
1016+#~ msgid ""
1017+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
1018+#~ "and all personal data will be deleted."
1019+#~ msgstr ""
1020+#~ "የተሳሳተ የማለፊያ ኮድ ካስገቡ የ እርስዎ ስልክ ወደ ነበረበት ወደ ፋክቶሪው ዘዴ ይመለሳል: እና የ ግል ዳታ በሙሉ "
1021+#~ "ይጠፋል"
1022+
1023+#~ msgid ""
1024+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1025+#~ "reset and all personal data will be deleted."
1026+#~ msgstr ""
1027+#~ "የተሳሳተ የማለፊያ ሐረግ ካስገቡ የ እርስዎ ስልክ ወደ ነበረበት ወደ ፋክቶሪው ዘዴ ይመለሳል: እና የ ግል ዳታ በሙሉ "
1028+#~ "ይጠፋል"
1029+
1004#~ msgid "Roaming"
1030#~ msgid "Roaming"
1005#~ msgstr "ማዘዋወሪያ"
1031#~ msgstr "ማዘዋወሪያ"
1006
1032
1007#~ msgid "Manage Scopes"
1033#~ msgid "Manage Scopes"
1008#~ msgstr "የ ክልል አስተዳዳሪ"
1034#~ msgstr "የ ክልል አስተዳዳሪ"
1009
1035
1036+#, qt-format
1037+#~ msgid "Enter %1"
1038+#~ msgstr "ማስገቢያ %1"
1039+
1010#~ msgid "Please re-enter"
1040#~ msgid "Please re-enter"
1011#~ msgstr "እባክዎን እንደገና-ያስገቡ"
1041#~ msgstr "እባክዎን እንደገና-ያስገቡ"
1012
1042
1043+#~ msgid "Enter passphrase"
1044+#~ msgstr "የ ማለፊያ ሀረግ ያስገቡ"
1045+
1046+#~ msgid "Enter passcode"
1047+#~ msgstr "የ ማለፊያ ኮድ ያስገቡ"
1048+
1013#~ msgid "Lock security"
1049#~ msgid "Lock security"
1014#~ msgstr "ደህንነት መቆለፊያ"
1050#~ msgstr "ደህንነት መቆለፊያ"
1015
1051
@@ -1219,6 +1255,10 @@ msgstr "በጣም ደካማ የ መግቢያ ቃል"
1219#~ msgid "%a %d %b %l:%M %p"
1255#~ msgid "%a %d %b %l:%M %p"
1220#~ msgstr "%a %d %b %l:%ደ %ከ"
1256#~ msgstr "%a %d %b %l:%ደ %ከ"
1221
1257
1258+#~ msgctxt "passphrase"
1259+#~ msgid "Please re-enter"
1260+#~ msgstr "እባክዎን እንደገና-ያስገቡ"
1261+
1222#~ msgid "Call back"
1262#~ msgid "Call back"
1223#~ msgstr "መልሶ መደወያ"
1263#~ msgstr "መልሶ መደወያ"
1224
1264
po/ar.po+217−177
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -16,99 +16,75 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
19−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
20−"X-Generator: Launchpad (build 18147)\n"
20+"X-Generator: Launchpad (build 18282)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:123
22#: plugins/LightDM/Greeter.cpp:123
23msgid "Password: "
23msgid "Password: "
24msgstr "كلمة السر: "
24msgstr "كلمة السر: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "تثبيت الاختصار"
29msgstr "تثبيت الاختصار"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
32msgid "Quit"
32msgid "Quit"
33msgstr "خروج"
33msgstr "خروج"
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "إزالة تثبيت الاختصار"
37msgstr "إزالة تثبيت الاختصار"
38
38
39−#: qml/Components/DelayedLockscreen.qml:50
39+#: qml/Components/Dialogs.qml:149
40−msgid "Device Locked"
41−msgstr "الجهاز موصد"
42−
43−#: qml/Components/DelayedLockscreen.qml:65
44−msgid "You have been locked out due to too many failed passphrase attempts."
45−msgstr ""
46−"لقد تم تأمين الجهاز ضد الفتح بسبب المحاولات العديدة الفاشلة للعبارة السرّية."
47−
48−#: qml/Components/DelayedLockscreen.qml:66
49−msgid "You have been locked out due to too many failed passcode attempts."
50−msgstr ""
51−"لقد تم تأمين الجهاز ضد الفتح بسبب المحاولات العديدة الفاشلة للرمز السرّي."
52−
53−#: qml/Components/DelayedLockscreen.qml:75
54−#, qt-format
55−msgid "Please wait %1 minute and then try again…"
56−msgid_plural "Please wait %1 minutes and then try again…"
57−msgstr[0] "برجاء الانتظار %1 دقيقة ثم المحاولة مجددًا..."
58−msgstr[1] "برجاء الانتظار دقيقة واحدة (%1) ثم المحاولة مجددًا..."
59−msgstr[2] "برجاء الانتظار دقيقتين (%1) ثم المحاولة مجددًا..."
60−msgstr[3] "برجاء الانتظار %1 دقائق ثم المحاولة مجددًا..."
61−msgstr[4] "برجاء الانتظار %1 دقيقة ثم المحاولة مجددًا..."
62−msgstr[5] "برجاء الانتظار %1 دقيقة ثم المحاولة مجددًا..."
63−
64−#: qml/Components/Dialogs.qml:144
65msgctxt "Title: Lock/Log out dialog"
40msgctxt "Title: Lock/Log out dialog"
66msgid "Log out"
41msgid "Log out"
67msgstr "خروج"
42msgstr "خروج"
68
43
69−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
70msgid "Are you sure you want to log out?"
45msgid "Are you sure you want to log out?"
71msgstr "هل أنت متأكد من رغبتك في تسجيل الخروج؟"
46msgstr "هل أنت متأكد من رغبتك في تسجيل الخروج؟"
72
47
73−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
74msgctxt "Button: Lock the system"
49msgctxt "Button: Lock the system"
75msgid "Lock"
50msgid "Lock"
76msgstr "أوصِد"
51msgstr "أوصِد"
77
52
78−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
79msgctxt "Button: Log out from the system"
54msgctxt "Button: Log out from the system"
80msgid "Log Out"
55msgid "Log Out"
81msgstr "خروج"
56msgstr "خروج"
82
57
83−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
84−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
85#: qml/Wizard/Pages/passcode-set.qml:32
61#: qml/Wizard/Pages/passcode-set.qml:32
86msgid "Cancel"
62msgid "Cancel"
87msgstr "إلغاء"
63msgstr "إلغاء"
88
64
89−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
90msgctxt "Title: Reboot dialog"
66msgctxt "Title: Reboot dialog"
91msgid "Reboot"
67msgid "Reboot"
92msgstr "إعادة التشغيل"
68msgstr "إعادة التشغيل"
93
69
94−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
95msgid "Are you sure you want to reboot?"
71msgid "Are you sure you want to reboot?"
96msgstr "هل أنت متأكد من رغبتك في إعادة تشغيل الجهاز؟"
72msgstr "هل أنت متأكد من رغبتك في إعادة تشغيل الجهاز؟"
97
73
98−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
99msgid "No"
75msgid "No"
100msgstr "لا"
76msgstr "لا"
101
77
102−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
103msgid "Yes"
79msgid "Yes"
104msgstr "نعم"
80msgstr "نعم"
105
81
106−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
107msgctxt "Title: Power off/Restart dialog"
83msgctxt "Title: Power off/Restart dialog"
108msgid "Power"
84msgid "Power"
109msgstr "الطاقة"
85msgstr "الطاقة"
110
86
111−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
112msgid ""
88msgid ""
113"Are you sure you would like\n"
89"Are you sure you would like\n"
114"to power off?"
90"to power off?"
@@ -116,12 +92,12 @@ msgstr ""
116"هل أنت متأكد من رغبتك\n"
92"هل أنت متأكد من رغبتك\n"
117"في إيقاف التشغيل؟"
93"في إيقاف التشغيل؟"
118
94
119−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
120msgctxt "Button: Power off the system"
96msgctxt "Button: Power off the system"
121msgid "Power off"
97msgid "Power off"
122msgstr "إيقاف التشغيل"
98msgstr "إيقاف التشغيل"
123
99
124−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
125msgctxt "Button: Restart the system"
101msgctxt "Button: Restart the system"
126msgid "Restart"
102msgid "Restart"
127msgstr "إعادة التشغيل"
103msgstr "إعادة التشغيل"
@@ -286,15 +262,15 @@ msgstr ""
286msgid "Closes the current window."
262msgid "Closes the current window."
287msgstr ""
263msgstr ""
288
264
289−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
290msgid "Return to Call"
266msgid "Return to Call"
291msgstr "العودة إلى المكالمة"
267msgstr "العودة إلى المكالمة"
292
268
293−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
294msgid "Emergency Call"
270msgid "Emergency Call"
295msgstr "مكالمة طوارئ"
271msgstr "مكالمة طوارئ"
296
272
297−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
298msgid "OK"
274msgid "OK"
299msgstr "موافق"
275msgstr "موافق"
300
276
@@ -338,84 +314,84 @@ msgstr ""
338msgid "Preview Share Item"
314msgid "Preview Share Item"
339msgstr ""
315msgstr ""
340
316
341−#: qml/Dash/DashPageHeader.qml:333
317+#: qml/Dash/DashPageHeader.qml:361
342msgctxt "Button: Open the Ubuntu Store"
318msgctxt "Button: Open the Ubuntu Store"
343msgid "Store"
319msgid "Store"
344msgstr "المتجر"
320msgstr "المتجر"
345
321
346−#: qml/Dash/DashPageHeader.qml:340
322+#: qml/Dash/DashPageHeader.qml:368
347msgctxt "Button: Start a search in the current dash scope"
323msgctxt "Button: Start a search in the current dash scope"
348msgid "Search"
324msgid "Search"
349msgstr "بحث"
325msgstr "بحث"
350
326
351−#: qml/Dash/DashPageHeader.qml:350
327+#: qml/Dash/DashPageHeader.qml:378
352msgctxt "Button: Show the current dash scope settings"
328msgctxt "Button: Show the current dash scope settings"
353msgid "Settings"
329msgid "Settings"
354msgstr "الإعدادات"
330msgstr "الإعدادات"
355
331
356−#: qml/Dash/DashPageHeader.qml:357
332+#: qml/Dash/DashPageHeader.qml:385
357msgid "Remove from Favorites"
333msgid "Remove from Favorites"
358msgstr "حذف من المفضلات"
334msgstr "حذف من المفضلات"
359
335
360−#: qml/Dash/DashPageHeader.qml:357
336+#: qml/Dash/DashPageHeader.qml:385
361msgid "Add to Favorites"
337msgid "Add to Favorites"
362msgstr "إضافة إلى المفضلات"
338msgstr "إضافة إلى المفضلات"
363
339
364−#: qml/Dash/FiltersPopover.qml:60
340+#: qml/Dash/FiltersPopover.qml:61
365msgid "Refine your results"
341msgid "Refine your results"
366msgstr ""
342msgstr ""
367
343
368−#: qml/Dash/FiltersPopover.qml:69
344+#: qml/Dash/FiltersPopover.qml:70
369msgid "Reset"
345msgid "Reset"
370msgstr ""
346msgstr ""
371
347
372−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
348+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
373msgid "Show less"
349msgid "Show less"
374msgstr ""
350msgstr ""
375
351
376−#: qml/Dash/GenericScopeView.qml:580
352+#: qml/Dash/GenericScopeView.qml:547
377msgid "Show all"
353msgid "Show all"
378msgstr ""
354msgstr ""
379
355
380−#: qml/Dash/GenericScopeView.qml:637
356+#: qml/Dash/GenericScopeView.qml:578
381msgctxt "Label: Hint for dash search line edit"
357msgctxt "Label: Hint for dash search line edit"
382msgid "Search"
358msgid "Search"
383msgstr "بحث"
359msgstr "بحث"
384
360
385−#: qml/Dash/PageHeaderExtraPanel.qml:56
361+#: qml/Dash/PageHeaderExtraPanel.qml:67
386msgid "Recent Searches"
362msgid "Recent Searches"
387msgstr ""
363msgstr ""
388
364
389−#: qml/Dash/PageHeaderExtraPanel.qml:67
365+#: qml/Dash/PageHeaderExtraPanel.qml:78
390msgid "Clear All"
366msgid "Clear All"
391msgstr ""
367msgstr ""
392
368
393−#: qml/Dash/Previews/PreviewActionCombo.qml:35
369+#: qml/Dash/Previews/PreviewActionCombo.qml:36
394msgid "More..."
370msgid "More..."
395msgstr "المزيد..."
371msgstr "المزيد..."
396
372
397−#: qml/Dash/Previews/PreviewActionCombo.qml:35
373+#: qml/Dash/Previews/PreviewActionCombo.qml:36
398msgid "Less..."
374msgid "Less..."
399msgstr "أقل..."
375msgstr "أقل..."
400
376
401−#: qml/Dash/Previews/PreviewCommentInput.qml:68
377+#: qml/Dash/Previews/PreviewCommentInput.qml:83
402−#: qml/Dash/Previews/PreviewRatingInput.qml:175
378+#: qml/Dash/Previews/PreviewRatingInput.qml:202
403msgid "Send"
379msgid "Send"
404msgstr "أرسل"
380msgstr "أرسل"
405
381
406−#: qml/Dash/Previews/PreviewRatingInput.qml:82
382+#: qml/Dash/Previews/PreviewRatingInput.qml:109
407msgid "Rate this"
383msgid "Rate this"
408msgstr "قيّم ذلك"
384msgstr "قيّم ذلك"
409
385
410−#: qml/Dash/Previews/PreviewRatingInput.qml:157
386+#: qml/Dash/Previews/PreviewRatingInput.qml:184
411msgid "Add a review"
387msgid "Add a review"
412msgstr "أضف تعليق"
388msgstr "أضف تعليق"
413
389
414−#: qml/Dash/PullToRefreshScopeStyle.qml:55
390+#: qml/Dash/PullToRefreshScopeStyle.qml:56
415msgid "Pull to refresh…"
391msgid "Pull to refresh…"
416msgstr "اسحب للتحديث..."
392msgstr "اسحب للتحديث..."
417
393
418−#: qml/Dash/PullToRefreshScopeStyle.qml:60
394+#: qml/Dash/PullToRefreshScopeStyle.qml:61
419msgid "Release to refresh…"
395msgid "Release to refresh…"
420msgstr "حرّر للتحديث..."
396msgstr "حرّر للتحديث..."
421
397
@@ -423,15 +399,15 @@ msgstr "حرّر للتحديث..."
423msgid "Enable location data"
399msgid "Enable location data"
424msgstr "تفعيل بيانات الموقع"
400msgstr "تفعيل بيانات الموقع"
425
401
426−#: qml/Dash/ScopesList.qml:55
402+#: qml/Dash/ScopesList.qml:57
427msgid "Manage"
403msgid "Manage"
428msgstr "إدارة"
404msgstr "إدارة"
429
405
430−#: qml/Dash/ScopesList.qml:102
406+#: qml/Dash/ScopesList.qml:104
431msgid "Home"
407msgid "Home"
432msgstr "الرئيسية"
408msgstr "الرئيسية"
433
409
434−#: qml/Dash/ScopesList.qml:103
410+#: qml/Dash/ScopesList.qml:105
435msgid "Also installed"
411msgid "Also installed"
436msgstr "أيضا تم تثبيت"
412msgstr "أيضا تم تثبيت"
437
413
@@ -445,84 +421,58 @@ msgstr ""
445msgid "Unlock"
421msgid "Unlock"
446msgstr "فك القفل"
422msgstr "فك القفل"
447
423
448−#: qml/Greeter/Greeter.qml:555
424+#: qml/Greeter/DelayedLockscreen.qml:43
425+msgid "Device Locked"
426+msgstr "الجهاز موصد"
427+
428+#: qml/Greeter/DelayedLockscreen.qml:58
429+msgid "You have been locked out due to too many failed passphrase attempts."
430+msgstr ""
431+"لقد تم تأمين الجهاز ضد الفتح بسبب المحاولات العديدة الفاشلة للعبارة السرّية."
432+
433+#: qml/Greeter/DelayedLockscreen.qml:59
434+msgid "You have been locked out due to too many failed passcode attempts."
435+msgstr ""
436+"لقد تم تأمين الجهاز ضد الفتح بسبب المحاولات العديدة الفاشلة للرمز السرّي."
437+
438+#: qml/Greeter/DelayedLockscreen.qml:68
439+#, qt-format
440+msgid "Please wait %1 minute and then try again…"
441+msgid_plural "Please wait %1 minutes and then try again…"
442+msgstr[0] "برجاء الانتظار %1 دقيقة ثم المحاولة مجددًا..."
443+msgstr[1] "برجاء الانتظار دقيقة واحدة (%1) ثم المحاولة مجددًا..."
444+msgstr[2] "برجاء الانتظار دقيقتين (%1) ثم المحاولة مجددًا..."
445+msgstr[3] "برجاء الانتظار %1 دقائق ثم المحاولة مجددًا..."
446+msgstr[4] "برجاء الانتظار %1 دقيقة ثم المحاولة مجددًا..."
447+msgstr[5] "برجاء الانتظار %1 دقيقة ثم المحاولة مجددًا..."
448+
449+#: qml/Greeter/Greeter.qml:596
449msgid "Try again"
450msgid "Try again"
450msgstr ""
451msgstr ""
451
452
452−#: qml/Greeter/LoginList.qml:63
453+#: qml/Greeter/LoginList.qml:70
453msgid "Passphrase"
454msgid "Passphrase"
454msgstr ""
455msgstr ""
455
456
456−#: qml/Greeter/LoginList.qml:64
457+#: qml/Greeter/LoginList.qml:71
457msgid "Passcode"
458msgid "Passcode"
458msgstr ""
459msgstr ""
459
460
460−#: qml/Greeter/LoginList.qml:87
461+#: qml/Greeter/LoginList.qml:98
461msgid "Retry"
462msgid "Retry"
462msgstr "إعادة المحاولة"
463msgstr "إعادة المحاولة"
463
464
464−#: qml/Greeter/LoginList.qml:88
465+#: qml/Greeter/LoginList.qml:99
465msgid "Log In"
466msgid "Log In"
466msgstr ""
467msgstr ""
467
468
468−#: qml/Greeter/NarrowView.qml:55
469+#: qml/Greeter/NarrowView.qml:252
469−msgid "Sorry, incorrect passphrase."
470+msgid "Emergency"
470−msgstr "عذرًا، عبارة سرّية خاطئة."
471−
472−#: qml/Greeter/NarrowView.qml:56
473−msgid "Sorry, incorrect passcode."
474−msgstr "عذرًا، رمز سرّي خاطيء."
475−
476−#: qml/Greeter/NarrowView.qml:57
477−msgid "This will be your last attempt."
478−msgstr "هذه ستكون المحاولة الأخيرة لك."
479−
480−#: qml/Greeter/NarrowView.qml:59
481−msgid ""
482−"If passphrase is entered incorrectly, your phone will conduct a factory "
483−"reset and all personal data will be deleted."
484msgstr ""
471msgstr ""
485−"إذا تم إدخال العبارة السرية بشكل خاطئ، فسوف يتم إعادة الهاتف لحالة ضبط "
486−"المصنع وسيتم حذف كافة البيانات الشخصية."
487
472
488−#: qml/Greeter/NarrowView.qml:60
473+#: qml/Greeter/SessionsList.qml:122
489−msgid ""
474+msgid "Select desktop environment"
490−"If passcode is entered incorrectly, your phone will conduct a factory reset "
491−"and all personal data will be deleted."
492msgstr ""
475msgstr ""
493−"إذا تم إدخال العبارة السرية بشكل خاطئ، فسوف يتم إعادة الهاتف لحالة ضبط "
494−"المصنع وسيتم حذف كافة البيانات الشخصية."
495−
496−#: qml/Greeter/NarrowView.qml:129
497−#, qt-format
498−msgid "Enter %1"
499−msgstr "أدخِل %1"
500−
501−#: qml/Greeter/NarrowView.qml:130
502−msgid "Enter passphrase"
503−msgstr "أدخِل العبارة السرية"
504−
505−#: qml/Greeter/NarrowView.qml:131
506−msgid "Enter passcode"
507−msgstr "أدخِل الرمز السرّي"
508−
509−#: qml/Greeter/NarrowView.qml:135
510−#, qt-format
511−msgid "Sorry, incorrect %1"
512−msgstr "نأسف، %1 غير صحيحية"
513−
514−#: qml/Greeter/NarrowView.qml:136
515−msgid "Sorry, incorrect passphrase"
516−msgstr "نأسف، عبارة السّر غير صحيحية"
517−
518−#: qml/Greeter/NarrowView.qml:137
519−msgctxt "passphrase"
520−msgid "Please re-enter"
521−msgstr "برجاء إعادة إدخالها"
522−
523−#: qml/Greeter/NarrowView.qml:138
524−msgid "Sorry, incorrect passcode"
525−msgstr "نأسف، الرمز السري غير صحيح"
526
476
527#: qml/Notifications/NotificationMenuItemFactory.qml:124
477#: qml/Notifications/NotificationMenuItemFactory.qml:124
528msgid "Show password"
478msgid "Show password"
@@ -536,11 +486,11 @@ msgstr "انقر للعودة إلى المكالمة..."
536msgid "Conference"
486msgid "Conference"
537msgstr "مؤتمر"
487msgstr "مؤتمر"
538
488
539−#: qml/Panel/Indicators/MenuItemFactory.qml:762
489+#: qml/Panel/Indicators/MenuItemFactory.qml:847
540msgid "Nothing is playing"
490msgid "Nothing is playing"
541msgstr "لا شيء مُشغّل"
491msgstr "لا شيء مُشغّل"
542
492
543−#: qml/Panel/Indicators/MenuItemFactory.qml:891
493+#: qml/Panel/Indicators/MenuItemFactory.qml:975
544#, qt-format
494#, qt-format
545msgid "%1 hour"
495msgid "%1 hour"
546msgid_plural "%1 hours"
496msgid_plural "%1 hours"
@@ -551,7 +501,7 @@ msgstr[3] "%1 ساعات"
551msgstr[4] "%1 ساعة"
501msgstr[4] "%1 ساعة"
552msgstr[5] "%1 ساعة"
502msgstr[5] "%1 ساعة"
553
503
554−#: qml/Panel/Indicators/MenuItemFactory.qml:895
504+#: qml/Panel/Indicators/MenuItemFactory.qml:979
555#, qt-format
505#, qt-format
556msgid "%1 minute"
506msgid "%1 minute"
557msgid_plural "%1 minutes"
507msgid_plural "%1 minutes"
@@ -562,7 +512,7 @@ msgstr[3] "%1 دقائق"
562msgstr[4] "%1 دقيقة"
512msgstr[4] "%1 دقيقة"
563msgstr[5] "%1 دقيقة"
513msgstr[5] "%1 دقيقة"
564
514
565−#: qml/Panel/Indicators/MenuItemFactory.qml:900
515+#: qml/Panel/Indicators/MenuItemFactory.qml:984
566#, qt-format
516#, qt-format
567msgid "%1 second"
517msgid "%1 second"
568msgid_plural "%1 seconds"
518msgid_plural "%1 seconds"
@@ -573,37 +523,37 @@ msgstr[3] "%1 ثوان"
573msgstr[4] "%1 ثانية"
523msgstr[4] "%1 ثانية"
574msgstr[5] "%1 ثانية"
524msgstr[5] "%1 ثانية"
575
525
576−#: qml/Panel/Indicators/MenuItemFactory.qml:903
526+#: qml/Panel/Indicators/MenuItemFactory.qml:987
577msgid "0 seconds"
527msgid "0 seconds"
578msgstr "أقل من ثانية"
528msgstr "أقل من ثانية"
579
529
580#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
530#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
581−#: qml/Panel/Indicators/MenuItemFactory.qml:905
531+#: qml/Panel/Indicators/MenuItemFactory.qml:989
582#, qt-format
532#, qt-format
583msgid "%1 remaining"
533msgid "%1 remaining"
584msgstr "باق %1"
534msgstr "باق %1"
585
535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:911
536+#: qml/Panel/Indicators/MenuItemFactory.qml:995
587msgid "In queue…"
537msgid "In queue…"
588msgstr "في الانتظار..."
538msgstr "في الانتظار..."
589
539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:915
540+#: qml/Panel/Indicators/MenuItemFactory.qml:999
591msgid "Downloading"
541msgid "Downloading"
592msgstr "التنزيل"
542msgstr "التنزيل"
593
543
594−#: qml/Panel/Indicators/MenuItemFactory.qml:917
544+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
595msgid "Paused, tap to resume"
545msgid "Paused, tap to resume"
596msgstr "مُلبث، انقر للاستئناف"
546msgstr "مُلبث، انقر للاستئناف"
597
547
598−#: qml/Panel/Indicators/MenuItemFactory.qml:919
548+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
599msgid "Canceled"
549msgid "Canceled"
600msgstr "تم إلغائه"
550msgstr "تم إلغائه"
601
551
602−#: qml/Panel/Indicators/MenuItemFactory.qml:921
552+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
603msgid "Finished"
553msgid "Finished"
604msgstr "انتهى"
554msgstr "انتهى"
605
555
606−#: qml/Panel/Indicators/MenuItemFactory.qml:923
556+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
607msgid "Failed, tap to retry"
557msgid "Failed, tap to retry"
608msgstr "فشل، انقل لإعادة المحاولة"
558msgstr "فشل، انقل لإعادة المحاولة"
609
559
@@ -623,7 +573,7 @@ msgctxt "Button: Call back on phone"
623msgid "Call back"
573msgid "Call back"
624msgstr ""
574msgstr ""
625
575
626−#: qml/Stages/SideStage.qml:76
576+#: qml/Stage/SideStage.qml:76
627msgid "Drag using 3 fingers any application from one window to the other"
577msgid "Drag using 3 fingers any application from one window to the other"
628msgstr ""
578msgstr ""
629
579
@@ -652,40 +602,54 @@ msgctxt "Button: Go back one page in the Wizard"
652msgid "Back"
602msgid "Back"
653msgstr "عودة"
603msgstr "عودة"
654
604
655−#: qml/Wizard/Pages/10-welcome.qml:27
605+#: qml/Wizard/Pages/10-welcome.qml:28
656msgid "Language"
606msgid "Language"
657msgstr ""
607msgstr ""
658
608
659−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
609+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
660−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
610+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
611+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
661−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
612+#: qml/Wizard/Pages/70-passwd-type.qml:145
662#: qml/Wizard/Pages/75-report-check.qml:84
613#: qml/Wizard/Pages/75-report-check.qml:84
663−#: qml/Wizard/Pages/passcode-desktop.qml:141
614+#: qml/Wizard/Pages/passcode-desktop.qml:142
664−#: qml/Wizard/Pages/password-set.qml:141
615+#: qml/Wizard/Pages/password-set.qml:142
665msgid "Next"
616msgid "Next"
666msgstr ""
617msgstr ""
667
618
668−#: qml/Wizard/Pages/30-wifi.qml:29
619+#: qml/Wizard/Pages/20-keyboard.qml:31
620+msgid "Select Keyboard"
621+msgstr ""
622+
623+#: qml/Wizard/Pages/20-keyboard.qml:71
624+msgid "Keyboard language"
625+msgstr ""
626+
627+#: qml/Wizard/Pages/20-keyboard.qml:93
628+msgid "Keyboard layout"
629+msgstr ""
630+
631+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
632+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
633+#: qml/Wizard/Pages/sim.qml:101
634+msgid "Skip"
635+msgstr "تخطي"
636+
637+#: qml/Wizard/Pages/30-wifi.qml:31
669msgid "Connect to Wi‑Fi"
638msgid "Connect to Wi‑Fi"
670msgstr "اتصل بالواي فاي"
639msgstr "اتصل بالواي فاي"
671
640
672−#: qml/Wizard/Pages/30-wifi.qml:130
641+#: qml/Wizard/Pages/30-wifi.qml:132
673msgid "Connected"
642msgid "Connected"
674msgstr ""
643msgstr ""
675
644
676−#: qml/Wizard/Pages/30-wifi.qml:163
645+#: qml/Wizard/Pages/30-wifi.qml:165
677msgid "Available Wi-Fi networks"
646msgid "Available Wi-Fi networks"
678msgstr ""
647msgstr ""
679
648
680−#: qml/Wizard/Pages/30-wifi.qml:164
649+#: qml/Wizard/Pages/30-wifi.qml:166
681msgid "No available Wi-Fi networks"
650msgid "No available Wi-Fi networks"
682msgstr ""
651msgstr ""
683
652
684−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
685−#: qml/Wizard/Pages/sim.qml:101
686−msgid "Skip"
687−msgstr "تخطي"
688−
689#: qml/Wizard/Pages/40-location.qml:27
653#: qml/Wizard/Pages/40-location.qml:27
690msgid "Location Services"
654msgid "Location Services"
691msgstr ""
655msgstr ""
@@ -718,11 +682,11 @@ msgstr ""
718msgid "You can change it later in System Settings."
682msgid "You can change it later in System Settings."
719msgstr ""
683msgstr ""
720
684
721−#: qml/Wizard/Pages/50-timezone.qml:29
685+#: qml/Wizard/Pages/50-timezone.qml:30
722msgid "Time Zone"
686msgid "Time Zone"
723msgstr ""
687msgstr ""
724
688
725−#: qml/Wizard/Pages/50-timezone.qml:181
689+#: qml/Wizard/Pages/50-timezone.qml:182
726msgid "Enter your city"
690msgid "Enter your city"
727msgstr ""
691msgstr ""
728
692
@@ -734,21 +698,21 @@ msgstr ""
734msgid "Preferred Name"
698msgid "Preferred Name"
735msgstr ""
699msgstr ""
736
700
737−#: qml/Wizard/Pages/70-passwd-type.qml:39
701+#: qml/Wizard/Pages/70-passwd-type.qml:40
738msgid "Lock Screen"
702msgid "Lock Screen"
739msgstr ""
703msgstr ""
740
704
741−#: qml/Wizard/Pages/70-passwd-type.qml:101
705+#: qml/Wizard/Pages/70-passwd-type.qml:102
742msgctxt "Label: Type of security method"
706msgctxt "Label: Type of security method"
743msgid "Create new password"
707msgid "Create new password"
744msgstr ""
708msgstr ""
745
709
746−#: qml/Wizard/Pages/70-passwd-type.qml:103
710+#: qml/Wizard/Pages/70-passwd-type.qml:104
747msgctxt "Label: Type of security method"
711msgctxt "Label: Type of security method"
748msgid "Create passcode (numbers only)"
712msgid "Create passcode (numbers only)"
749msgstr ""
713msgstr ""
750
714
751−#: qml/Wizard/Pages/70-passwd-type.qml:105
715+#: qml/Wizard/Pages/70-passwd-type.qml:106
752msgctxt "Label: Type of security method"
716msgctxt "Label: Type of security method"
753msgid "No lock code"
717msgid "No lock code"
754msgstr ""
718msgstr ""
@@ -769,6 +733,35 @@ msgstr ""
769msgid "Privacy policy"
733msgid "Privacy policy"
770msgstr ""
734msgstr ""
771
735
736+#: qml/Wizard/Pages/77-system-update.qml:28
737+msgid "Update Device"
738+msgstr ""
739+
740+#: qml/Wizard/Pages/77-system-update.qml:55
741+msgid ""
742+"There is a system update available and ready to install. Afterwards, the "
743+"device will automatically restart."
744+msgstr ""
745+
746+#: qml/Wizard/Pages/77-system-update.qml:76
747+msgctxt "string identifying name of the update"
748+msgid "Ubuntu system"
749+msgstr ""
750+
751+#: qml/Wizard/Pages/77-system-update.qml:83
752+#, qt-format
753+msgctxt "version of the system update"
754+msgid "Version %1"
755+msgstr ""
756+
757+#: qml/Wizard/Pages/77-system-update.qml:102
758+msgid "This could take a few minutes..."
759+msgstr ""
760+
761+#: qml/Wizard/Pages/77-system-update.qml:116
762+msgid "Install and restart now"
763+msgstr ""
764+
772#: qml/Wizard/Pages/80-finished.qml:89
765#: qml/Wizard/Pages/80-finished.qml:89
773msgid "Welcome to Ubuntu"
766msgid "Welcome to Ubuntu"
774msgstr ""
767msgstr ""
@@ -812,7 +805,7 @@ msgid "Service Terms"
812msgstr ""
805msgstr ""
813
806
814#: qml/Wizard/Pages/passcode-confirm.qml:43
807#: qml/Wizard/Pages/passcode-confirm.qml:43
815−#: qml/Wizard/Pages/passcode-desktop.qml:96
808+#: qml/Wizard/Pages/passcode-desktop.qml:97
816msgid "Confirm passcode"
809msgid "Confirm passcode"
817msgstr "تأكيد الرمز السري"
810msgstr "تأكيد الرمز السري"
818
811
@@ -825,28 +818,28 @@ msgctxt "Enter the passcode again"
825msgid "Please re-enter."
818msgid "Please re-enter."
826msgstr ""
819msgstr ""
827
820
828−#: qml/Wizard/Pages/passcode-desktop.qml:30
821+#: qml/Wizard/Pages/passcode-desktop.qml:31
829msgid "Lock Screen Passcode"
822msgid "Lock Screen Passcode"
830msgstr ""
823msgstr ""
831
824
832−#: qml/Wizard/Pages/passcode-desktop.qml:60
825+#: qml/Wizard/Pages/passcode-desktop.qml:61
833msgid "Enter 4 numbers to setup your passcode"
826msgid "Enter 4 numbers to setup your passcode"
834msgstr ""
827msgstr ""
835
828
836−#: qml/Wizard/Pages/passcode-desktop.qml:76
829+#: qml/Wizard/Pages/passcode-desktop.qml:77
837#: qml/Wizard/Pages/passcode-set.qml:54
830#: qml/Wizard/Pages/passcode-set.qml:54
838msgid "Choose passcode"
831msgid "Choose passcode"
839msgstr ""
832msgstr ""
840
833
841−#: qml/Wizard/Pages/passcode-desktop.qml:126
834+#: qml/Wizard/Pages/passcode-desktop.qml:127
842msgid "Passcode too short"
835msgid "Passcode too short"
843msgstr ""
836msgstr ""
844
837
845−#: qml/Wizard/Pages/passcode-desktop.qml:128
838+#: qml/Wizard/Pages/passcode-desktop.qml:129
846msgid "Passcodes match"
839msgid "Passcodes match"
847msgstr ""
840msgstr ""
848
841
849−#: qml/Wizard/Pages/passcode-desktop.qml:130
842+#: qml/Wizard/Pages/passcode-desktop.qml:131
850msgid "Passcodes do not match"
843msgid "Passcodes do not match"
851msgstr ""
844msgstr ""
852
845
@@ -854,19 +847,19 @@ msgstr ""
854msgid "Passcode must be 4 characters long"
847msgid "Passcode must be 4 characters long"
855msgstr ""
848msgstr ""
856
849
857−#: qml/Wizard/Pages/password-set.qml:30
850+#: qml/Wizard/Pages/password-set.qml:31
858msgid "Lock Screen Password"
851msgid "Lock Screen Password"
859msgstr ""
852msgstr ""
860
853
861−#: qml/Wizard/Pages/password-set.qml:61
854+#: qml/Wizard/Pages/password-set.qml:62
862msgid "Enter at least 8 characters"
855msgid "Enter at least 8 characters"
863msgstr ""
856msgstr ""
864
857
865−#: qml/Wizard/Pages/password-set.qml:73
858+#: qml/Wizard/Pages/password-set.qml:74
866msgid "Choose password"
859msgid "Choose password"
867msgstr ""
860msgstr ""
868
861
869−#: qml/Wizard/Pages/password-set.qml:103
862+#: qml/Wizard/Pages/password-set.qml:104
870msgid "Confirm password"
863msgid "Confirm password"
871msgstr ""
864msgstr ""
872
865
@@ -1032,9 +1025,38 @@ msgstr ""
1032#~ msgid "Tap to unlock"
1025#~ msgid "Tap to unlock"
1033#~ msgstr "انقر لفك القفل"
1026#~ msgstr "انقر لفك القفل"
1034
1027
1028+#, qt-format
1029+#~ msgid "Enter %1"
1030+#~ msgstr "أدخِل %1"
1031+
1032+#~ msgid "Sorry, incorrect passcode."
1033+#~ msgstr "عذرًا، رمز سرّي خاطيء."
1034+
1035+#~ msgid "Enter passphrase"
1036+#~ msgstr "أدخِل العبارة السرية"
1037+
1038+#~ msgid "Enter passcode"
1039+#~ msgstr "أدخِل الرمز السرّي"
1040+
1041+#~ msgid "Sorry, incorrect passphrase."
1042+#~ msgstr "عذرًا، عبارة سرّية خاطئة."
1043+
1044+#~ msgid "This will be your last attempt."
1045+#~ msgstr "هذه ستكون المحاولة الأخيرة لك."
1046+
1047+#, qt-format
1048+#~ msgid "Sorry, incorrect %1"
1049+#~ msgstr "نأسف، %1 غير صحيحية"
1050+
1051+#~ msgid "Sorry, incorrect passphrase"
1052+#~ msgstr "نأسف، عبارة السّر غير صحيحية"
1053+
1035#~ msgid "Please re-enter"
1054#~ msgid "Please re-enter"
1036#~ msgstr "برجاء إعادة إدخالها"
1055#~ msgstr "برجاء إعادة إدخالها"
1037
1056
1057+#~ msgid "Sorry, incorrect passcode"
1058+#~ msgstr "نأسف، الرمز السري غير صحيح"
1059+
1038#~ msgid "This action does different things for different apps"
1060#~ msgid "This action does different things for different apps"
1039#~ msgstr "هذا الإجراء يقوم بأشياء مختلفة على التطبيقات المختلفة"
1061#~ msgstr "هذا الإجراء يقوم بأشياء مختلفة على التطبيقات المختلفة"
1040
1062
@@ -1155,6 +1177,10 @@ msgstr ""
1155#~ "باستخدام نظام تحديد المواقع (GPS)، والواي فاي، وبيانات الشبكة الخلوية "
1177#~ "باستخدام نظام تحديد المواقع (GPS)، والواي فاي، وبيانات الشبكة الخلوية "
1156#~ "(مستحسن)"
1178#~ "(مستحسن)"
1157
1179
1180+#~ msgctxt "passphrase"
1181+#~ msgid "Please re-enter"
1182+#~ msgstr "برجاء إعادة إدخالها"
1183+
1158#~ msgid ""
1184#~ msgid ""
1159#~ "This can be disabled in <b>System Settings</b> under <b>Security &amp; "
1185#~ "This can be disabled in <b>System Settings</b> under <b>Security &amp; "
1160#~ "Privacy</b>"
1186#~ "Privacy</b>"
@@ -1193,3 +1219,17 @@ msgstr ""
1193#~ msgstr ""
1219#~ msgstr ""
1194#~ "باختيارك لهذا الخيار فإنك توافق على <a href='#'>الشروط والأحكام</a> الخاصة "
1220#~ "باختيارك لهذا الخيار فإنك توافق على <a href='#'>الشروط والأحكام</a> الخاصة "
1195#~ "بـ Nokia HERE."
1221#~ "بـ Nokia HERE."
1222+
1223+#~ msgid ""
1224+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
1225+#~ "and all personal data will be deleted."
1226+#~ msgstr ""
1227+#~ "إذا تم إدخال العبارة السرية بشكل خاطئ، فسوف يتم إعادة الهاتف لحالة ضبط "
1228+#~ "المصنع وسيتم حذف كافة البيانات الشخصية."
1229+
1230+#~ msgid ""
1231+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1232+#~ "reset and all personal data will be deleted."
1233+#~ msgstr ""
1234+#~ "إذا تم إدخال العبارة السرية بشكل خاطئ، فسوف يتم إعادة الهاتف لحالة ضبط "
1235+#~ "المصنع وسيتم حذف كافة البيانات الشخصية."
po/ast.po+295−246
@@ -7,102 +7,83 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11−"PO-Revision-Date: 2016-05-16 14:07+0000\n"
11+"PO-Revision-Date: 2016-09-28 13:40+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"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr "Contraseña: "
23msgstr "Contraseña: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Anclar atayu"
28msgstr "Anclar atayu"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr "Colar"
32msgstr "Colar"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Desanclar atayu"
36msgstr "Desanclar atayu"
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr "Preséu bloquiáu"
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr "Quedasti bloquiáu polos escesivos intentos fallíos de fras de pasu."
45−
46−#: qml/Components/DelayedLockscreen.qml:66
47−msgid "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."
50−
51−#: qml/Components/DelayedLockscreen.qml:75
52−#, qt-format
53−msgid "Please wait %1 minute and then try again…"
54−msgid_plural "Please wait %1 minutes and then try again…"
55−msgstr[0] "Por favor, espera %1 minutu y vuelvi a intentalo…"
56−msgstr[1] "Por favor, espera %1 minutos y vuelvi a intentalo…"
57−
58−#: qml/Components/Dialogs.qml:144
59msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
60msgid "Log out"
40msgid "Log out"
61msgstr "Zarrar sesión"
41msgstr "Zarrar sesión"
62
42
63−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
64msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
65msgstr "¿De xuru que quies zarrar la sesión?"
45msgstr "¿De xuru que quies zarrar la sesión?"
66
46
67−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
68msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
69msgid "Lock"
49msgid "Lock"
70msgstr "Bloquiar"
50msgstr "Bloquiar"
71
51
72−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
73msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
74msgid "Log Out"
54msgid "Log Out"
75msgstr "Zarrar sesión"
55msgstr "Zarrar sesión"
76
56
77−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
78−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
79#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
80msgid "Cancel"
61msgid "Cancel"
81msgstr "Encaboxar"
62msgstr "Encaboxar"
82
63
83−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
84msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
85msgid "Reboot"
66msgid "Reboot"
86msgstr "Reaniciu"
67msgstr "Reaniciu"
87
68
88−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
89msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
90msgstr "¿De xuru que quies reaniciar?"
71msgstr "¿De xuru que quies reaniciar?"
91
72
92−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
93msgid "No"
74msgid "No"
94msgstr "Non"
75msgstr "Non"
95
76
96−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
97msgid "Yes"
78msgid "Yes"
98msgstr "Sí"
79msgstr "Sí"
99
80
100−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
101msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
102msgid "Power"
83msgid "Power"
103msgstr "Apagáu"
84msgstr "Apagáu"
104
85
105−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
106msgid ""
87msgid ""
107"Are you sure you would like\n"
88"Are you sure you would like\n"
108"to power off?"
89"to power off?"
@@ -110,197 +91,197 @@ msgstr ""
110"¿De xuru que te prestaría\n"
91"¿De xuru que te prestaría\n"
111"apagar?"
92"apagar?"
112
93
113−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
114msgctxt "Button: Power off the system"
95msgctxt "Button: Power off the system"
115msgid "Power off"
96msgid "Power off"
116msgstr "Apagar"
97msgstr "Apagar"
117
98
118−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
119msgctxt "Button: Restart the system"
100msgctxt "Button: Restart the system"
120msgid "Restart"
101msgid "Restart"
121msgstr "Reaniciar"
102msgstr "Reaniciar"
122
103
123#: qml/Components/KeyboardShortcutsOverlay.qml:41
104#: qml/Components/KeyboardShortcutsOverlay.qml:41
124msgid "Keyboard Shortcuts"
105msgid "Keyboard Shortcuts"
125−msgstr ""
106+msgstr "Atayos de tecláu"
126
107
127#: qml/Components/KeyboardShortcutsOverlay.qml:55
108#: qml/Components/KeyboardShortcutsOverlay.qml:55
128msgid "Unity 8"
109msgid "Unity 8"
129−msgstr ""
110+msgstr "Unity 8"
130
111
131#: qml/Components/KeyboardShortcutsOverlay.qml:62
112#: qml/Components/KeyboardShortcutsOverlay.qml:62
132msgid "PrtScr"
113msgid "PrtScr"
133−msgstr ""
114+msgstr "ImprPant"
134
115
135#: qml/Components/KeyboardShortcutsOverlay.qml:67
116#: qml/Components/KeyboardShortcutsOverlay.qml:67
136msgid "Takes a screenshot."
117msgid "Takes a screenshot."
137−msgstr ""
118+msgstr "Saca una imaxe de la pantalla."
138
119
139#: qml/Components/KeyboardShortcutsOverlay.qml:75
120#: qml/Components/KeyboardShortcutsOverlay.qml:75
140msgid "Alt + PrtScr"
121msgid "Alt + PrtScr"
141−msgstr ""
122+msgstr "Alt + ImprPant"
142
123
143#: qml/Components/KeyboardShortcutsOverlay.qml:80
124#: qml/Components/KeyboardShortcutsOverlay.qml:80
144msgid "Takes a screenshot of a window."
125msgid "Takes a screenshot of a window."
145−msgstr ""
126+msgstr "Saca una imaxe d'una ventana."
146
127
147#: qml/Components/KeyboardShortcutsOverlay.qml:88
128#: qml/Components/KeyboardShortcutsOverlay.qml:88
148msgid "Super + Space"
129msgid "Super + Space"
149−msgstr ""
130+msgstr "Super + Espaciu"
150
131
151#: qml/Components/KeyboardShortcutsOverlay.qml:93
132#: qml/Components/KeyboardShortcutsOverlay.qml:93
152msgid "Switches to next keyboard layout."
133msgid "Switches to next keyboard layout."
153−msgstr ""
134+msgstr "Salta al siguiente diseñu de tecláu."
154
135
155#: qml/Components/KeyboardShortcutsOverlay.qml:101
136#: qml/Components/KeyboardShortcutsOverlay.qml:101
156msgid "Super + Shift + Space"
137msgid "Super + Shift + Space"
157−msgstr ""
138+msgstr "Super +Mayús + Espaciu"
158
139
159#: qml/Components/KeyboardShortcutsOverlay.qml:106
140#: qml/Components/KeyboardShortcutsOverlay.qml:106
160msgid "Switches to previous keyboard layout."
141msgid "Switches to previous keyboard layout."
161−msgstr ""
142+msgstr "Salta al diseñu de tecláu anterior."
162
143
163#: qml/Components/KeyboardShortcutsOverlay.qml:118
144#: qml/Components/KeyboardShortcutsOverlay.qml:118
164msgid "Launcher"
145msgid "Launcher"
165−msgstr ""
146+msgstr "Llanzador"
166
147
167#: qml/Components/KeyboardShortcutsOverlay.qml:125
148#: qml/Components/KeyboardShortcutsOverlay.qml:125
168msgid "Super (Hold)"
149msgid "Super (Hold)"
169−msgstr ""
150+msgstr "Super (Caltener)"
170
151
171#: qml/Components/KeyboardShortcutsOverlay.qml:130
152#: qml/Components/KeyboardShortcutsOverlay.qml:130
172msgid "Opens the launcher, displays shortcuts."
153msgid "Opens the launcher, displays shortcuts."
173−msgstr ""
154+msgstr "Abre'l llanzador, amuesa atayos."
174
155
175#: qml/Components/KeyboardShortcutsOverlay.qml:138
156#: qml/Components/KeyboardShortcutsOverlay.qml:138
176msgid "Alt + F1"
157msgid "Alt + F1"
177−msgstr ""
158+msgstr "Alt + F1"
178
159
179#: qml/Components/KeyboardShortcutsOverlay.qml:143
160#: qml/Components/KeyboardShortcutsOverlay.qml:143
180msgid "Opens launcher keyboard navigation mode."
161msgid "Opens launcher keyboard navigation mode."
181−msgstr ""
162+msgstr "Abre'l mou de navegación con tecláu del llanzador."
182
163
183#: qml/Components/KeyboardShortcutsOverlay.qml:151
164#: qml/Components/KeyboardShortcutsOverlay.qml:151
184msgid "Super + Tab"
165msgid "Super + Tab"
185−msgstr ""
166+msgstr "Super + Tab"
186
167
187#: qml/Components/KeyboardShortcutsOverlay.qml:156
168#: qml/Components/KeyboardShortcutsOverlay.qml:156
188msgid "Switches applications via the launcher."
169msgid "Switches applications via the launcher."
189−msgstr ""
170+msgstr "Cambia d'aplicaciones col llanzador."
190
171
191#: qml/Components/KeyboardShortcutsOverlay.qml:164
172#: qml/Components/KeyboardShortcutsOverlay.qml:164
192msgid "Super + 0 to 9"
173msgid "Super + 0 to 9"
193−msgstr ""
174+msgstr "Super + 0 a 9"
194
175
195#: qml/Components/KeyboardShortcutsOverlay.qml:169
176#: qml/Components/KeyboardShortcutsOverlay.qml:169
196msgid "Same as clicking on a launcher icon."
177msgid "Same as clicking on a launcher icon."
197−msgstr ""
178+msgstr "Igual que facer click nel iconu del llanzador."
198
179
199#: qml/Components/KeyboardShortcutsOverlay.qml:181
180#: qml/Components/KeyboardShortcutsOverlay.qml:181
200msgid "Scopes"
181msgid "Scopes"
201−msgstr ""
182+msgstr "Ámbitos"
202
183
203#: qml/Components/KeyboardShortcutsOverlay.qml:188
184#: qml/Components/KeyboardShortcutsOverlay.qml:188
204msgid "Super (Tap)"
185msgid "Super (Tap)"
205−msgstr ""
186+msgstr "Super (Tocar)"
206
187
207#: qml/Components/KeyboardShortcutsOverlay.qml:193
188#: qml/Components/KeyboardShortcutsOverlay.qml:193
208msgid "Opens the Scopes home."
189msgid "Opens the Scopes home."
209−msgstr ""
190+msgstr "Abre'l principiu d'Ámbitos"
210
191
211#: qml/Components/KeyboardShortcutsOverlay.qml:209
192#: qml/Components/KeyboardShortcutsOverlay.qml:209
212msgid "Switching"
193msgid "Switching"
213−msgstr ""
194+msgstr "Conmutación"
214
195
215#: qml/Components/KeyboardShortcutsOverlay.qml:216
196#: qml/Components/KeyboardShortcutsOverlay.qml:216
216msgid "Alt + Tab"
197msgid "Alt + Tab"
217−msgstr ""
198+msgstr "Alt + Tab"
218
199
219#: qml/Components/KeyboardShortcutsOverlay.qml:221
200#: qml/Components/KeyboardShortcutsOverlay.qml:221
220msgid "Switches between applications."
201msgid "Switches between applications."
221−msgstr ""
202+msgstr "Conmuta ente aplicaciones."
222
203
223#: qml/Components/KeyboardShortcutsOverlay.qml:229
204#: qml/Components/KeyboardShortcutsOverlay.qml:229
224msgid "Super + W"
205msgid "Super + W"
225−msgstr ""
206+msgstr "Super + W"
226
207
227#: qml/Components/KeyboardShortcutsOverlay.qml:234
208#: qml/Components/KeyboardShortcutsOverlay.qml:234
228msgid "Opens the desktop spread."
209msgid "Opens the desktop spread."
229−msgstr ""
210+msgstr "Abre esparder l'escritoriu."
230
211
231#: qml/Components/KeyboardShortcutsOverlay.qml:242
212#: qml/Components/KeyboardShortcutsOverlay.qml:242
232msgid "Cursor Left or Right"
213msgid "Cursor Left or Right"
233−msgstr ""
214+msgstr "Flecha izq. o dre."
234
215
235#: qml/Components/KeyboardShortcutsOverlay.qml:247
216#: qml/Components/KeyboardShortcutsOverlay.qml:247
236msgid "Moves the focus."
217msgid "Moves the focus."
237−msgstr ""
218+msgstr "Mueve'l focu"
238
219
239#: qml/Components/KeyboardShortcutsOverlay.qml:259
220#: qml/Components/KeyboardShortcutsOverlay.qml:259
240msgid "Windows"
221msgid "Windows"
241−msgstr ""
222+msgstr "Ventanes"
242
223
243#: qml/Components/KeyboardShortcutsOverlay.qml:266
224#: qml/Components/KeyboardShortcutsOverlay.qml:266
244msgid "Ctrl + Super + D"
225msgid "Ctrl + Super + D"
245−msgstr ""
226+msgstr "Ctrl + Super + D"
246
227
247#: qml/Components/KeyboardShortcutsOverlay.qml:271
228#: qml/Components/KeyboardShortcutsOverlay.qml:271
248msgid "Minimizes all windows."
229msgid "Minimizes all windows."
249−msgstr ""
230+msgstr "Amenorga toles ventanes."
250
231
251#: qml/Components/KeyboardShortcutsOverlay.qml:279
232#: qml/Components/KeyboardShortcutsOverlay.qml:279
252msgid "Ctrl + Super + Up"
233msgid "Ctrl + Super + Up"
253−msgstr ""
234+msgstr "Ctrl + Super + Arriba"
254
235
255#: qml/Components/KeyboardShortcutsOverlay.qml:284
236#: qml/Components/KeyboardShortcutsOverlay.qml:284
256msgid "Maximizes the current window."
237msgid "Maximizes the current window."
257−msgstr ""
238+msgstr "Maximiza la ventana actual."
258
239
259#: qml/Components/KeyboardShortcutsOverlay.qml:292
240#: qml/Components/KeyboardShortcutsOverlay.qml:292
260msgid "Ctrl + Super + Down"
241msgid "Ctrl + Super + Down"
261−msgstr ""
242+msgstr "Ctrl + Super + Abaxo"
262
243
263#: qml/Components/KeyboardShortcutsOverlay.qml:297
244#: qml/Components/KeyboardShortcutsOverlay.qml:297
264msgid "Minimizes or restores the current window."
245msgid "Minimizes or restores the current window."
265−msgstr ""
246+msgstr "Amenorga o restaura la ventana actual."
266
247
267#: qml/Components/KeyboardShortcutsOverlay.qml:305
248#: qml/Components/KeyboardShortcutsOverlay.qml:305
268msgid "Ctrl + Super + Left or Right"
249msgid "Ctrl + Super + Left or Right"
269−msgstr ""
250+msgstr "Ctrl + Super + Izquierda o Drecha"
270
251
271#: qml/Components/KeyboardShortcutsOverlay.qml:310
252#: qml/Components/KeyboardShortcutsOverlay.qml:310
272msgid "Semi-maximizes the current window."
253msgid "Semi-maximizes the current window."
273−msgstr ""
254+msgstr "Semi-maximiza la ventana actual."
274
255
275#: qml/Components/KeyboardShortcutsOverlay.qml:318
256#: qml/Components/KeyboardShortcutsOverlay.qml:318
276msgid "Alt + F4"
257msgid "Alt + F4"
277−msgstr ""
258+msgstr "Alt + F4"
278
259
279#: qml/Components/KeyboardShortcutsOverlay.qml:323
260#: qml/Components/KeyboardShortcutsOverlay.qml:323
280msgid "Closes the current window."
261msgid "Closes the current window."
281−msgstr ""
262+msgstr "Zarra la ventana actual."
282
263
283−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
284msgid "Return to Call"
265msgid "Return to Call"
285msgstr "Tornar a la llamada"
266msgstr "Tornar a la llamada"
286
267
287−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
288msgid "Emergency Call"
269msgid "Emergency Call"
289msgstr "Llamada d'emerxencia"
270msgstr "Llamada d'emerxencia"
290
271
291−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
292msgid "OK"
273msgid "OK"
293msgstr "Aceutar"
274msgstr "Aceutar"
294
275
295#: qml/Components/MediaServices/VideoPlayerControls.qml:44
276#: qml/Components/MediaServices/VideoPlayerControls.qml:44
296#, qt-format
277#, qt-format
297msgid "%1:%2:%3"
278msgid "%1:%2:%3"
298−msgstr ""
279+msgstr "%1:%2:%3"
299
280
300#: qml/Components/MediaServices/VideoPlayerControls.qml:49
281#: qml/Components/MediaServices/VideoPlayerControls.qml:49
301#, qt-format
282#, qt-format
302msgid "%1:%2"
283msgid "%1:%2"
303−msgstr ""
284+msgstr "%1:%2"
304
285
305#: qml/Components/ModeSwitchWarningDialog.qml:32
286#: qml/Components/ModeSwitchWarningDialog.qml:32
306msgid "Apps may have unsaved data:"
287msgid "Apps may have unsaved data:"
@@ -332,84 +313,84 @@ msgstr "Zarrar too"
332msgid "Preview Share Item"
313msgid "Preview Share Item"
333msgstr "Entever l'elementu compartíu"
314msgstr "Entever l'elementu compartíu"
334
315
335−#: qml/Dash/DashPageHeader.qml:333
316+#: qml/Dash/DashPageHeader.qml:361
336msgctxt "Button: Open the Ubuntu Store"
317msgctxt "Button: Open the Ubuntu Store"
337msgid "Store"
318msgid "Store"
338msgstr "Tienda"
319msgstr "Tienda"
339
320
340−#: qml/Dash/DashPageHeader.qml:340
321+#: qml/Dash/DashPageHeader.qml:368
341msgctxt "Button: Start a search in the current dash scope"
322msgctxt "Button: Start a search in the current dash scope"
342msgid "Search"
323msgid "Search"
343msgstr "Guetar"
324msgstr "Guetar"
344
325
345−#: qml/Dash/DashPageHeader.qml:350
326+#: qml/Dash/DashPageHeader.qml:378
346msgctxt "Button: Show the current dash scope settings"
327msgctxt "Button: Show the current dash scope settings"
347msgid "Settings"
328msgid "Settings"
348msgstr "Axustes"
329msgstr "Axustes"
349
330
350−#: qml/Dash/DashPageHeader.qml:357
331+#: qml/Dash/DashPageHeader.qml:385
351msgid "Remove from Favorites"
332msgid "Remove from Favorites"
352msgstr "Desaniciar de favoritos"
333msgstr "Desaniciar de favoritos"
353
334
354−#: qml/Dash/DashPageHeader.qml:357
335+#: qml/Dash/DashPageHeader.qml:385
355msgid "Add to Favorites"
336msgid "Add to Favorites"
356msgstr "Amestar a favoritos"
337msgstr "Amestar a favoritos"
357
338
358−#: qml/Dash/FiltersPopover.qml:60
339+#: qml/Dash/FiltersPopover.qml:61
359msgid "Refine your results"
340msgid "Refine your results"
360msgstr "Refina los resultaos"
341msgstr "Refina los resultaos"
361
342
362−#: qml/Dash/FiltersPopover.qml:69
343+#: qml/Dash/FiltersPopover.qml:70
363msgid "Reset"
344msgid "Reset"
364msgstr "Reafitar"
345msgstr "Reafitar"
365
346
366−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
347+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
367msgid "Show less"
348msgid "Show less"
368msgstr "Ver menos"
349msgstr "Ver menos"
369
350
370−#: qml/Dash/GenericScopeView.qml:580
351+#: qml/Dash/GenericScopeView.qml:547
371msgid "Show all"
352msgid "Show all"
372msgstr "Ver too"
353msgstr "Ver too"
373
354
374−#: qml/Dash/GenericScopeView.qml:637
355+#: qml/Dash/GenericScopeView.qml:578
375msgctxt "Label: Hint for dash search line edit"
356msgctxt "Label: Hint for dash search line edit"
376msgid "Search"
357msgid "Search"
377msgstr "Guetar"
358msgstr "Guetar"
378
359
379−#: qml/Dash/PageHeaderExtraPanel.qml:56
360+#: qml/Dash/PageHeaderExtraPanel.qml:67
380msgid "Recent Searches"
361msgid "Recent Searches"
381msgstr "Guetes recién"
362msgstr "Guetes recién"
382
363
383−#: qml/Dash/PageHeaderExtraPanel.qml:67
364+#: qml/Dash/PageHeaderExtraPanel.qml:78
384msgid "Clear All"
365msgid "Clear All"
385msgstr "Llimpiar too"
366msgstr "Llimpiar too"
386
367
387−#: qml/Dash/Previews/PreviewActionCombo.qml:35
368+#: qml/Dash/Previews/PreviewActionCombo.qml:36
388msgid "More..."
369msgid "More..."
389msgstr "Más…"
370msgstr "Más…"
390
371
391−#: qml/Dash/Previews/PreviewActionCombo.qml:35
372+#: qml/Dash/Previews/PreviewActionCombo.qml:36
392msgid "Less..."
373msgid "Less..."
393msgstr "Menos…"
374msgstr "Menos…"
394
375
395−#: qml/Dash/Previews/PreviewCommentInput.qml:68
376+#: qml/Dash/Previews/PreviewCommentInput.qml:83
396−#: qml/Dash/Previews/PreviewRatingInput.qml:175
377+#: qml/Dash/Previews/PreviewRatingInput.qml:202
397msgid "Send"
378msgid "Send"
398msgstr "Unviar"
379msgstr "Unviar"
399
380
400−#: qml/Dash/Previews/PreviewRatingInput.qml:82
381+#: qml/Dash/Previews/PreviewRatingInput.qml:109
401msgid "Rate this"
382msgid "Rate this"
402msgstr "Valorar esto"
383msgstr "Valorar esto"
403
384
404−#: qml/Dash/Previews/PreviewRatingInput.qml:157
385+#: qml/Dash/Previews/PreviewRatingInput.qml:184
405msgid "Add a review"
386msgid "Add a review"
406msgstr "Amestar una reseña"
387msgstr "Amestar una reseña"
407
388
408−#: qml/Dash/PullToRefreshScopeStyle.qml:55
389+#: qml/Dash/PullToRefreshScopeStyle.qml:56
409msgid "Pull to refresh…"
390msgid "Pull to refresh…"
410msgstr "Tira p'anovar..."
391msgstr "Tira p'anovar..."
411
392
412−#: qml/Dash/PullToRefreshScopeStyle.qml:60
393+#: qml/Dash/PullToRefreshScopeStyle.qml:61
413msgid "Release to refresh…"
394msgid "Release to refresh…"
414msgstr "Sueltar p'anovar..."
395msgstr "Sueltar p'anovar..."
415
396
@@ -417,15 +398,15 @@ msgstr "Sueltar p'anovar..."
417msgid "Enable location data"
398msgid "Enable location data"
418msgstr "Habilitar datos d'allugamientu"
399msgstr "Habilitar datos d'allugamientu"
419
400
420−#: qml/Dash/ScopesList.qml:55
401+#: qml/Dash/ScopesList.qml:57
421msgid "Manage"
402msgid "Manage"
422msgstr "Xestionar"
403msgstr "Xestionar"
423
404
424−#: qml/Dash/ScopesList.qml:102
405+#: qml/Dash/ScopesList.qml:104
425msgid "Home"
406msgid "Home"
426msgstr "Aniciu"
407msgstr "Aniciu"
427
408
428−#: qml/Dash/ScopesList.qml:103
409+#: qml/Dash/ScopesList.qml:105
429msgid "Also installed"
410msgid "Also installed"
430msgstr "Tamién instalaos"
411msgstr "Tamién instalaos"
431
412
@@ -441,84 +422,53 @@ msgstr ""
441msgid "Unlock"
422msgid "Unlock"
442msgstr "Desbloquiar"
423msgstr "Desbloquiar"
443
424
444−#: qml/Greeter/Greeter.qml:555
425+#: qml/Greeter/DelayedLockscreen.qml:43
445−msgid "Try again"
426+msgid "Device Locked"
427+msgstr "Preséu bloquiáu"
428+
429+#: qml/Greeter/DelayedLockscreen.qml:58
430+msgid "You have been locked out due to too many failed passphrase attempts."
431+msgstr "Quedasti bloquiáu polos escesivos intentos fallíos de fras de pasu."
432+
433+#: qml/Greeter/DelayedLockscreen.qml:59
434+msgid "You have been locked out due to too many failed passcode attempts."
446msgstr ""
435msgstr ""
436+"Quedasti bloquiáu polos escesivos intentos fallíos de códigu de pasu."
437+
438+#: qml/Greeter/DelayedLockscreen.qml:68
439+#, qt-format
440+msgid "Please wait %1 minute and then try again…"
441+msgid_plural "Please wait %1 minutes and then try again…"
442+msgstr[0] "Por favor, espera %1 minutu y vuelvi a intentalo…"
443+msgstr[1] "Por favor, espera %1 minutos y vuelvi a intentalo…"
447
444
445+#: qml/Greeter/Greeter.qml:596
446+msgid "Try again"
447+msgstr "Tentar otra vuelta"
448+
448−#: qml/Greeter/LoginList.qml:63
449+#: qml/Greeter/LoginList.qml:70
449msgid "Passphrase"
450msgid "Passphrase"
450−msgstr ""
451+msgstr "Fras de pasu"
451
452
452−#: qml/Greeter/LoginList.qml:64
453+#: qml/Greeter/LoginList.qml:71
453msgid "Passcode"
454msgid "Passcode"
454−msgstr ""
455+msgstr "Códigu de pasu"
455
456
456−#: qml/Greeter/LoginList.qml:87
457+#: qml/Greeter/LoginList.qml:98
457msgid "Retry"
458msgid "Retry"
458msgstr "Reintentar"
459msgstr "Reintentar"
459
460
460−#: qml/Greeter/LoginList.qml:88
461+#: qml/Greeter/LoginList.qml:99
461msgid "Log In"
462msgid "Log In"
462−msgstr ""
463+msgstr "Aniciar sesión"
463
464
464−#: qml/Greeter/NarrowView.qml:55
465+#: qml/Greeter/NarrowView.qml:252
465−msgid "Sorry, incorrect passphrase."
466+msgid "Emergency"
466−msgstr "Perdón, fras de pasu incorreuta"
467+msgstr "Emerxencia"
467
468
468−#: qml/Greeter/NarrowView.qml:56
469+#: qml/Greeter/SessionsList.qml:122
469−msgid "Sorry, incorrect passcode."
470+msgid "Select desktop environment"
470−msgstr "Perdón, códigu de pasu incorreutu."
471+msgstr "Esbillar entornu d'escritoriu"
471−
472−#: qml/Greeter/NarrowView.qml:57
473−msgid "This will be your last attempt."
474−msgstr "Esti sedra'l to caberu intentu"
475−
476−#: qml/Greeter/NarrowView.qml:59
477−msgid ""
478−"If passphrase is entered incorrectly, your phone will conduct a factory "
479−"reset and all personal data will be deleted."
480−msgstr ""
481−"Si s'inxerta la fras de pasu incorreutamente, el to teléfonu va reafitase y "
482−"van desaniciase tolos datos personales."
483−
484−#: qml/Greeter/NarrowView.qml:60
485−msgid ""
486−"If passcode is entered incorrectly, your phone will conduct a factory reset "
487−"and all personal data will be deleted."
488−msgstr ""
489−"Si s'inxerta'l códigu de pasu incorreutamente, el to teléfonu va reafitase y "
490−"van desaniciase tolos datos personales."
491−
492−#: qml/Greeter/NarrowView.qml:129
493−#, qt-format
494−msgid "Enter %1"
495−msgstr "Introduz %1"
496−
497−#: qml/Greeter/NarrowView.qml:130
498−msgid "Enter passphrase"
499−msgstr "Introduz la fras de pasu"
500−
501−#: qml/Greeter/NarrowView.qml:131
502−msgid "Enter passcode"
503−msgstr "Introduz el códigu de pasu"
504−
505−#: qml/Greeter/NarrowView.qml:135
506−#, qt-format
507−msgid "Sorry, incorrect %1"
508−msgstr "Sentímoslo, %1 incorreutu"
509−
510−#: qml/Greeter/NarrowView.qml:136
511−msgid "Sorry, incorrect passphrase"
512−msgstr "Sentímoslo, contraseña incorreuta"
513−
514−#: qml/Greeter/NarrowView.qml:137
515−msgctxt "passphrase"
516−msgid "Please re-enter"
517−msgstr "Vuelve a escribila"
518−
519−#: qml/Greeter/NarrowView.qml:138
520−msgid "Sorry, incorrect passcode"
521−msgstr "Sentímoslo, códigu de pasu incorreutu"
522
472
523#: qml/Notifications/NotificationMenuItemFactory.qml:124
473#: qml/Notifications/NotificationMenuItemFactory.qml:124
524msgid "Show password"
474msgid "Show password"
@@ -532,62 +482,62 @@ msgstr "Toca pa tornar a la llamada..."
532msgid "Conference"
482msgid "Conference"
533msgstr "Conferencia"
483msgstr "Conferencia"
534
484
535−#: qml/Panel/Indicators/MenuItemFactory.qml:762
485+#: qml/Panel/Indicators/MenuItemFactory.qml:847
536msgid "Nothing is playing"
486msgid "Nothing is playing"
537msgstr "Nun ta reproduciéndose nada"
487msgstr "Nun ta reproduciéndose nada"
538
488
539−#: qml/Panel/Indicators/MenuItemFactory.qml:891
489+#: qml/Panel/Indicators/MenuItemFactory.qml:975
540#, qt-format
490#, qt-format
541msgid "%1 hour"
491msgid "%1 hour"
542msgid_plural "%1 hours"
492msgid_plural "%1 hours"
543msgstr[0] "%1 hora"
493msgstr[0] "%1 hora"
544msgstr[1] "%1 hores"
494msgstr[1] "%1 hores"
545
495
546−#: qml/Panel/Indicators/MenuItemFactory.qml:895
496+#: qml/Panel/Indicators/MenuItemFactory.qml:979
547#, qt-format
497#, qt-format
548msgid "%1 minute"
498msgid "%1 minute"
549msgid_plural "%1 minutes"
499msgid_plural "%1 minutes"
550msgstr[0] "%1 minutu"
500msgstr[0] "%1 minutu"
551msgstr[1] "%1 minutos"
501msgstr[1] "%1 minutos"
552
502
553−#: qml/Panel/Indicators/MenuItemFactory.qml:900
503+#: qml/Panel/Indicators/MenuItemFactory.qml:984
554#, qt-format
504#, qt-format
555msgid "%1 second"
505msgid "%1 second"
556msgid_plural "%1 seconds"
506msgid_plural "%1 seconds"
557msgstr[0] "%1 segundu"
507msgstr[0] "%1 segundu"
558msgstr[1] "%1 segundos"
508msgstr[1] "%1 segundos"
559
509
560−#: qml/Panel/Indicators/MenuItemFactory.qml:903
510+#: qml/Panel/Indicators/MenuItemFactory.qml:987
561msgid "0 seconds"
511msgid "0 seconds"
562msgstr "0 segundos"
512msgstr "0 segundos"
563
513
564#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
514#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
565−#: qml/Panel/Indicators/MenuItemFactory.qml:905
515+#: qml/Panel/Indicators/MenuItemFactory.qml:989
566#, qt-format
516#, qt-format
567msgid "%1 remaining"
517msgid "%1 remaining"
568msgstr "Queden %1"
518msgstr "Queden %1"
569
519
570−#: qml/Panel/Indicators/MenuItemFactory.qml:911
520+#: qml/Panel/Indicators/MenuItemFactory.qml:995
571msgid "In queue…"
521msgid "In queue…"
572msgstr "Na cola..."
522msgstr "Na cola..."
573
523
574−#: qml/Panel/Indicators/MenuItemFactory.qml:915
524+#: qml/Panel/Indicators/MenuItemFactory.qml:999
575msgid "Downloading"
525msgid "Downloading"
576msgstr "Baxando"
526msgstr "Baxando"
577
527
578−#: qml/Panel/Indicators/MenuItemFactory.qml:917
528+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
579msgid "Paused, tap to resume"
529msgid "Paused, tap to resume"
580msgstr "Posáu, toca pa reanudar"
530msgstr "Posáu, toca pa reanudar"
581
531
582−#: qml/Panel/Indicators/MenuItemFactory.qml:919
532+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
583msgid "Canceled"
533msgid "Canceled"
584msgstr "Encaboxáu"
534msgstr "Encaboxáu"
585
535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:921
536+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
587msgid "Finished"
537msgid "Finished"
588msgstr "Finó"
538msgstr "Finó"
589
539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:923
540+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
591msgid "Failed, tap to retry"
541msgid "Failed, tap to retry"
592msgstr "Falló, toca pa reintentar"
542msgstr "Falló, toca pa reintentar"
593
543
@@ -607,7 +557,7 @@ msgctxt "Button: Call back on phone"
607msgid "Call back"
557msgid "Call back"
608msgstr "Devolver llamada"
558msgstr "Devolver llamada"
609
559
610−#: qml/Stages/SideStage.qml:76
560+#: qml/Stage/SideStage.qml:76
611msgid "Drag using 3 fingers any application from one window to the other"
561msgid "Drag using 3 fingers any application from one window to the other"
612msgstr "Abasnar cualquier aplicación d'una ventana a otra usando 3 deos"
562msgstr "Abasnar cualquier aplicación d'una ventana a otra usando 3 deos"
613
563
@@ -617,7 +567,7 @@ msgstr "Eslizamientu llargu dende'l berbesu izquierdu pa ver el scope Güei"
617
567
618#: qml/Tutorial/TutorialLeft.qml:47
568#: qml/Tutorial/TutorialLeft.qml:47
619msgid "Short swipe from the left edge to open the launcher"
569msgid "Short swipe from the left edge to open the launcher"
620−msgstr ""
570+msgstr "Barríu curtiu dende'l berbesu izquierdu p'abrir el llanzador"
621
571
622#: qml/Tutorial/TutorialRight.qml:55
572#: qml/Tutorial/TutorialRight.qml:55
623msgid "Push your mouse against the right edge to view your open apps"
573msgid "Push your mouse against the right edge to view your open apps"
@@ -625,51 +575,67 @@ msgstr "Emburria'l mur escontra'l berbesu drechu pa ver les apps abiertes"
625
575
626#: qml/Tutorial/TutorialRight.qml:56
576#: qml/Tutorial/TutorialRight.qml:56
627msgid "Swipe from the right edge to view your open apps"
577msgid "Swipe from the right edge to view your open apps"
628−msgstr ""
578+msgstr "Barríu dende'l berbesu drechu pa ver les apps abiertes"
629
579
630#: qml/Tutorial/TutorialTop.qml:53
580#: qml/Tutorial/TutorialTop.qml:53
631msgid "Swipe from the top edge to access notifications and quick settings"
581msgid "Swipe from the top edge to access notifications and quick settings"
632msgstr ""
582msgstr ""
583+"Barríu dende'l berbesu superior pa tener accesu a los avisos y configuración "
584+"nel intre"
633
585
634#: qml/Wizard/Page.qml:54
586#: qml/Wizard/Page.qml:54
635msgctxt "Button: Go back one page in the Wizard"
587msgctxt "Button: Go back one page in the Wizard"
636msgid "Back"
588msgid "Back"
637msgstr "Atrás"
589msgstr "Atrás"
638
590
639−#: qml/Wizard/Pages/10-welcome.qml:27
591+#: qml/Wizard/Pages/10-welcome.qml:28
640msgid "Language"
592msgid "Language"
641msgstr "Llingua"
593msgstr "Llingua"
642
594
643−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
595+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
644−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
596+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
597+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
645−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
598+#: qml/Wizard/Pages/70-passwd-type.qml:145
646#: qml/Wizard/Pages/75-report-check.qml:84
599#: qml/Wizard/Pages/75-report-check.qml:84
647−#: qml/Wizard/Pages/passcode-desktop.qml:141
600+#: qml/Wizard/Pages/passcode-desktop.qml:142
648−#: qml/Wizard/Pages/password-set.qml:141
601+#: qml/Wizard/Pages/password-set.qml:142
649msgid "Next"
602msgid "Next"
650msgstr "Siguiente"
603msgstr "Siguiente"
651
604
652−#: qml/Wizard/Pages/30-wifi.qml:29
605+#: qml/Wizard/Pages/20-keyboard.qml:31
606+msgid "Select Keyboard"
607+msgstr "Escoyer tecláu"
608+
609+#: qml/Wizard/Pages/20-keyboard.qml:71
610+msgid "Keyboard language"
611+msgstr "Llingua del tecláu"
612+
613+#: qml/Wizard/Pages/20-keyboard.qml:93
614+msgid "Keyboard layout"
615+msgstr "Distribución del tecláu"
616+
617+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
618+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
619+#: qml/Wizard/Pages/sim.qml:101
620+msgid "Skip"
621+msgstr "Saltar"
622+
623+#: qml/Wizard/Pages/30-wifi.qml:31
653msgid "Connect to Wi‑Fi"
624msgid "Connect to Wi‑Fi"
654msgstr "Coneutase al WiFi"
625msgstr "Coneutase al WiFi"
655
626
656−#: qml/Wizard/Pages/30-wifi.qml:130
627+#: qml/Wizard/Pages/30-wifi.qml:132
657msgid "Connected"
628msgid "Connected"
658msgstr "Coneutáu"
629msgstr "Coneutáu"
659
630
660−#: qml/Wizard/Pages/30-wifi.qml:163
631+#: qml/Wizard/Pages/30-wifi.qml:165
661msgid "Available Wi-Fi networks"
632msgid "Available Wi-Fi networks"
662msgstr "Redes Wi-Fi disponibles"
633msgstr "Redes Wi-Fi disponibles"
663
634
664−#: qml/Wizard/Pages/30-wifi.qml:164
635+#: qml/Wizard/Pages/30-wifi.qml:166
665msgid "No available Wi-Fi networks"
636msgid "No available Wi-Fi networks"
666msgstr "Nun hai redes Wi-Fi disponibles"
637msgstr "Nun hai redes Wi-Fi disponibles"
667
638
668−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
669−#: qml/Wizard/Pages/sim.qml:101
670−msgid "Skip"
671−msgstr "Saltar"
672−
673#: qml/Wizard/Pages/40-location.qml:27
639#: qml/Wizard/Pages/40-location.qml:27
674msgid "Location Services"
640msgid "Location Services"
675msgstr "Servicios d'allugamientu"
641msgstr "Servicios d'allugamientu"
@@ -704,11 +670,11 @@ msgstr "Nun usar l'allugamientu"
704msgid "You can change it later in System Settings."
670msgid "You can change it later in System Settings."
705msgstr "Pues camudalo sero na Configuración del Sistema."
671msgstr "Pues camudalo sero na Configuración del Sistema."
706
672
707−#: qml/Wizard/Pages/50-timezone.qml:29
673+#: qml/Wizard/Pages/50-timezone.qml:30
708msgid "Time Zone"
674msgid "Time Zone"
709msgstr "Estaya horaria"
675msgstr "Estaya horaria"
710
676
711−#: qml/Wizard/Pages/50-timezone.qml:181
677+#: qml/Wizard/Pages/50-timezone.qml:182
712msgid "Enter your city"
678msgid "Enter your city"
713msgstr "Escribe la ciudá"
679msgstr "Escribe la ciudá"
714
680
@@ -720,21 +686,21 @@ msgstr "Personaliza'l preséu"
720msgid "Preferred Name"
686msgid "Preferred Name"
721msgstr "Nome preferíu"
687msgstr "Nome preferíu"
722
688
723−#: qml/Wizard/Pages/70-passwd-type.qml:39
689+#: qml/Wizard/Pages/70-passwd-type.qml:40
724msgid "Lock Screen"
690msgid "Lock Screen"
725msgstr "Bloquiar pantalla"
691msgstr "Bloquiar pantalla"
726
692
727−#: qml/Wizard/Pages/70-passwd-type.qml:101
693+#: qml/Wizard/Pages/70-passwd-type.qml:102
728msgctxt "Label: Type of security method"
694msgctxt "Label: Type of security method"
729msgid "Create new password"
695msgid "Create new password"
730msgstr "Crear contraseña nueva"
696msgstr "Crear contraseña nueva"
731
697
732−#: qml/Wizard/Pages/70-passwd-type.qml:103
698+#: qml/Wizard/Pages/70-passwd-type.qml:104
733msgctxt "Label: Type of security method"
699msgctxt "Label: Type of security method"
734msgid "Create passcode (numbers only)"
700msgid "Create passcode (numbers only)"
735msgstr "Crear códigu d'accesu (sólo númberos)"
701msgstr "Crear códigu d'accesu (sólo númberos)"
736
702
737−#: qml/Wizard/Pages/70-passwd-type.qml:105
703+#: qml/Wizard/Pages/70-passwd-type.qml:106
738msgctxt "Label: Type of security method"
704msgctxt "Label: Type of security method"
739msgid "No lock code"
705msgid "No lock code"
740msgstr "Ensin códigu de bloquéu"
706msgstr "Ensin códigu de bloquéu"
@@ -757,6 +723,37 @@ msgstr ""
757msgid "Privacy policy"
723msgid "Privacy policy"
758msgstr "Política d'intimidá"
724msgstr "Política d'intimidá"
759
725
726+#: qml/Wizard/Pages/77-system-update.qml:28
727+msgid "Update Device"
728+msgstr "Anovar preséu"
729+
730+#: qml/Wizard/Pages/77-system-update.qml:55
731+msgid ""
732+"There is a system update available and ready to install. Afterwards, the "
733+"device will automatically restart."
734+msgstr ""
735+"Hai un anovamientu del sistema disponible y preparáu pa instalar. Darréu, el "
736+"preséu reaniciará de mou automáticu."
737+
738+#: qml/Wizard/Pages/77-system-update.qml:76
739+msgctxt "string identifying name of the update"
740+msgid "Ubuntu system"
741+msgstr "Sistema Ubuntu"
742+
743+#: qml/Wizard/Pages/77-system-update.qml:83
744+#, qt-format
745+msgctxt "version of the system update"
746+msgid "Version %1"
747+msgstr "Versión %1"
748+
749+#: qml/Wizard/Pages/77-system-update.qml:102
750+msgid "This could take a few minutes..."
751+msgstr "Esto podría tardar dellos minutos..."
752+
753+#: qml/Wizard/Pages/77-system-update.qml:116
754+msgid "Install and restart now"
755+msgstr "Instalar y reaniciar agora"
756+
760#: qml/Wizard/Pages/80-finished.qml:89
757#: qml/Wizard/Pages/80-finished.qml:89
761msgid "Welcome to Ubuntu"
758msgid "Welcome to Ubuntu"
762msgstr "Bienveníu/a a Ubuntu"
759msgstr "Bienveníu/a a Ubuntu"
@@ -775,7 +772,7 @@ msgstr "Términos y condiciones"
775
772
776#: qml/Wizard/Pages/here-terms.qml:69
773#: qml/Wizard/Pages/here-terms.qml:69
777msgid "Your device uses positioning technologies provided by HERE."
774msgid "Your device uses positioning technologies provided by HERE."
778−msgstr ""
775+msgstr "El preséu usa teunoloxíes de posición qu'ufre HERE."
779
776
780#: qml/Wizard/Pages/here-terms.qml:81
777#: qml/Wizard/Pages/here-terms.qml:81
781msgid ""
778msgid ""
@@ -783,92 +780,97 @@ msgid ""
783"collects information about nearby cell towers and Wi-Fi hotspots around your "
780"collects information about nearby cell towers and Wi-Fi hotspots around your "
784"current location whenever your position is being found."
781"current location whenever your position is being found."
785msgstr ""
782msgstr ""
783+"Pa ufrir los servicios de posición y ameyorar la so calidá, HERE collecha "
784+"información de les antenes celulares y puntos d'accesu Wi-Fi cercanos al to "
785+"allugamientu actual siempre que se conoza la to posición."
786
786
787#: qml/Wizard/Pages/here-terms.qml:93
787#: qml/Wizard/Pages/here-terms.qml:93
788msgid ""
788msgid ""
789"The information collected is used to analyze the service and to improve the "
789"The information collected is used to analyze the service and to improve the "
790"use of service, but not to identify you personally."
790"use of service, but not to identify you personally."
791msgstr ""
791msgstr ""
792+"La información collechada úsase p'analizar el serviciu y ameyorar l'usu del "
793+"serviciu, non pa identificate personalmente."
792
794
793#: qml/Wizard/Pages/here-terms.qml:106
795#: qml/Wizard/Pages/here-terms.qml:106
794#, qt-format
796#, qt-format
795msgid "By continuing, you agree to the HERE platform %1 and %2."
797msgid "By continuing, you agree to the HERE platform %1 and %2."
796−msgstr ""
798+msgstr "Al siguir, aceutes %1 y %2 de la plataforma HERE."
797
799
798#: qml/Wizard/Pages/here-terms.qml:107
800#: qml/Wizard/Pages/here-terms.qml:107
799msgid "Service Terms"
801msgid "Service Terms"
800−msgstr ""
802+msgstr "Términos del serviciu"
801
803
802#: qml/Wizard/Pages/passcode-confirm.qml:43
804#: qml/Wizard/Pages/passcode-confirm.qml:43
803−#: qml/Wizard/Pages/passcode-desktop.qml:96
805+#: qml/Wizard/Pages/passcode-desktop.qml:97
804msgid "Confirm passcode"
806msgid "Confirm passcode"
805msgstr "Confirmar códigu de pasu"
807msgstr "Confirmar códigu de pasu"
806
808
807#: qml/Wizard/Pages/passcode-confirm.qml:45
809#: qml/Wizard/Pages/passcode-confirm.qml:45
808msgid "Incorrect passcode."
810msgid "Incorrect passcode."
809−msgstr ""
811+msgstr "Códigu de pasu incorreutu."
810
812
811#: qml/Wizard/Pages/passcode-confirm.qml:45
813#: qml/Wizard/Pages/passcode-confirm.qml:45
812msgctxt "Enter the passcode again"
814msgctxt "Enter the passcode again"
813msgid "Please re-enter."
815msgid "Please re-enter."
814−msgstr ""
816+msgstr "Vuelve a escribilu."
815
817
816−#: qml/Wizard/Pages/passcode-desktop.qml:30
818+#: qml/Wizard/Pages/passcode-desktop.qml:31
817msgid "Lock Screen Passcode"
819msgid "Lock Screen Passcode"
818−msgstr ""
820+msgstr "Códigu de pasu de bloquéu de pantalla"
819
821
820−#: qml/Wizard/Pages/passcode-desktop.qml:60
822+#: qml/Wizard/Pages/passcode-desktop.qml:61
821msgid "Enter 4 numbers to setup your passcode"
823msgid "Enter 4 numbers to setup your passcode"
822−msgstr ""
824+msgstr "Escribi 4 númberos pa configurar el códigu de pasu"
823
825
824−#: qml/Wizard/Pages/passcode-desktop.qml:76
826+#: qml/Wizard/Pages/passcode-desktop.qml:77
825#: qml/Wizard/Pages/passcode-set.qml:54
827#: qml/Wizard/Pages/passcode-set.qml:54
826msgid "Choose passcode"
828msgid "Choose passcode"
827−msgstr ""
829+msgstr "Escueyi'l códigu de pasu"
828
830
829−#: qml/Wizard/Pages/passcode-desktop.qml:126
831+#: qml/Wizard/Pages/passcode-desktop.qml:127
830msgid "Passcode too short"
832msgid "Passcode too short"
831−msgstr ""
833+msgstr "Códigu de pasu curtiu enforma"
832
834
833−#: qml/Wizard/Pages/passcode-desktop.qml:128
835+#: qml/Wizard/Pages/passcode-desktop.qml:129
834msgid "Passcodes match"
836msgid "Passcodes match"
835−msgstr ""
837+msgstr "Los códigos de pasu casen"
836
838
837−#: qml/Wizard/Pages/passcode-desktop.qml:130
839+#: qml/Wizard/Pages/passcode-desktop.qml:131
838msgid "Passcodes do not match"
840msgid "Passcodes do not match"
839−msgstr ""
841+msgstr "Los códigos de pasu nun casen"
840
842
841#: qml/Wizard/Pages/passcode-set.qml:62
843#: qml/Wizard/Pages/passcode-set.qml:62
842msgid "Passcode must be 4 characters long"
844msgid "Passcode must be 4 characters long"
843−msgstr ""
845+msgstr "El códigu de pasu tien de tener 4 caráuteres de llargo"
844
846
845−#: qml/Wizard/Pages/password-set.qml:30
847+#: qml/Wizard/Pages/password-set.qml:31
846msgid "Lock Screen Password"
848msgid "Lock Screen Password"
847−msgstr ""
849+msgstr "Contraseña del Bloquéu de pantalla"
848
850
849−#: qml/Wizard/Pages/password-set.qml:61
851+#: qml/Wizard/Pages/password-set.qml:62
850msgid "Enter at least 8 characters"
852msgid "Enter at least 8 characters"
851−msgstr ""
853+msgstr "Escribe polo menos 8 caráuteres"
852
854
853−#: qml/Wizard/Pages/password-set.qml:73
855+#: qml/Wizard/Pages/password-set.qml:74
854msgid "Choose password"
856msgid "Choose password"
855−msgstr ""
857+msgstr "Escueye la contraseña"
856
858
857−#: qml/Wizard/Pages/password-set.qml:103
859+#: qml/Wizard/Pages/password-set.qml:104
858msgid "Confirm password"
860msgid "Confirm password"
859msgstr "Confirmar contraseña"
861msgstr "Confirmar contraseña"
860
862
861#: qml/Wizard/Pages/sim.qml:27
863#: qml/Wizard/Pages/sim.qml:27
862msgid "No SIM card installed"
864msgid "No SIM card installed"
863−msgstr ""
865+msgstr "Nun ta instalada nenguna tarxeta SIM"
864
866
865#: qml/Wizard/Pages/sim.qml:54
867#: qml/Wizard/Pages/sim.qml:54
866msgid "SIM card added"
868msgid "SIM card added"
867−msgstr ""
869+msgstr "Amestóse tarxeta SIM"
868
870
869#: qml/Wizard/Pages/sim.qml:55
871#: qml/Wizard/Pages/sim.qml:55
870msgid "You must restart the device to access the mobile network."
872msgid "You must restart the device to access the mobile network."
871−msgstr ""
873+msgstr "Tienes de reaniciar el preséu pa tener accesu a la rede móvil."
872
874
873#: qml/Wizard/Pages/sim.qml:59
875#: qml/Wizard/Pages/sim.qml:59
874msgid "Restart"
876msgid "Restart"
@@ -876,23 +878,23 @@ msgstr "Reaniciar"
876
878
877#: qml/Wizard/Pages/sim.qml:78
879#: qml/Wizard/Pages/sim.qml:78
878msgid "You won’t be able to make calls or use text messaging without a SIM."
880msgid "You won’t be able to make calls or use text messaging without a SIM."
879−msgstr ""
881+msgstr "Nun podrás facer llamaes nin usar mensaxería de testu sin una SIM."
880
882
881#: qml/Wizard/Pages/sim.qml:90
883#: qml/Wizard/Pages/sim.qml:90
882msgid "To proceed with no SIM tap Skip."
884msgid "To proceed with no SIM tap Skip."
883−msgstr ""
885+msgstr "Pa siguir ensin SIM toca Saltar."
884
886
885#: qml/Wizard/PasswordMeter.qml:87
887#: qml/Wizard/PasswordMeter.qml:87
886msgid "Password too short"
888msgid "Password too short"
887−msgstr ""
889+msgstr "Contraseña curtia enforma"
888
890
889#: qml/Wizard/PasswordMeter.qml:89
891#: qml/Wizard/PasswordMeter.qml:89
890msgid "Passwords match"
892msgid "Passwords match"
891−msgstr ""
893+msgstr "Les contraseñes concasen"
892
894
893#: qml/Wizard/PasswordMeter.qml:91
895#: qml/Wizard/PasswordMeter.qml:91
894msgid "Passwords do not match"
896msgid "Passwords do not match"
895−msgstr ""
897+msgstr "Les contraseñes nun concasen"
896
898
897#: qml/Wizard/PasswordMeter.qml:95
899#: qml/Wizard/PasswordMeter.qml:95
898msgid "Strong password"
900msgid "Strong password"
@@ -1006,9 +1008,19 @@ msgstr "Contraseña feble enforma"
1006#~ msgid "Store"
1008#~ msgid "Store"
1007#~ msgstr "Tienda"
1009#~ msgstr "Tienda"
1008
1010
1011+#, qt-format
1012+#~ msgid "Sorry, incorrect %1"
1013+#~ msgstr "Sentímoslo, %1 incorreutu"
1014+
1015+#~ msgid "Sorry, incorrect passphrase"
1016+#~ msgstr "Sentímoslo, contraseña incorreuta"
1017+
1009#~ msgid "Roaming"
1018#~ msgid "Roaming"
1010#~ msgstr "Roaming"
1019#~ msgstr "Roaming"
1011
1020
1021+#~ msgid "Sorry, incorrect passcode"
1022+#~ msgstr "Sentímoslo, códigu de pasu incorreutu"
1023+
1012#~ msgid "Manage Scopes"
1024#~ msgid "Manage Scopes"
1013#~ msgstr "Xestionar ámbitos"
1025#~ msgstr "Xestionar ámbitos"
1014
1026
@@ -1094,9 +1106,42 @@ msgstr "Contraseña feble enforma"
1094#~ msgid "Shut down"
1106#~ msgid "Shut down"
1095#~ msgstr "Apagáu"
1107#~ msgstr "Apagáu"
1096
1108
1109+#~ msgid "Sorry, incorrect passphrase."
1110+#~ msgstr "Perdón, fras de pasu incorreuta"
1111+
1112+#, qt-format
1113+#~ msgid "Enter %1"
1114+#~ msgstr "Introduz %1"
1115+
1116+#~ msgid "Sorry, incorrect passcode."
1117+#~ msgstr "Perdón, códigu de pasu incorreutu."
1118+
1119+#~ msgid "Enter passcode"
1120+#~ msgstr "Introduz el códigu de pasu"
1121+
1122+#~ msgid "Enter passphrase"
1123+#~ msgstr "Introduz la fras de pasu"
1124+
1097#~ msgid "Please re-enter"
1125#~ msgid "Please re-enter"
1098#~ msgstr "Por favor, reintroduzla"
1126#~ msgstr "Por favor, reintroduzla"
1099
1127
1128+#~ msgid ""
1129+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
1130+#~ "and all personal data will be deleted."
1131+#~ msgstr ""
1132+#~ "Si s'inxerta'l códigu de pasu incorreutamente, el to teléfonu va reafitase y "
1133+#~ "van desaniciase tolos datos personales."
1134+
1135+#~ msgid ""
1136+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1137+#~ "reset and all personal data will be deleted."
1138+#~ msgstr ""
1139+#~ "Si s'inxerta la fras de pasu incorreutamente, el to teléfonu va reafitase y "
1140+#~ "van desaniciase tolos datos personales."
1141+
1142+#~ msgid "This will be your last attempt."
1143+#~ msgstr "Esti sedra'l to caberu intentu"
1144+
1100#~ msgid "This action does different things for different apps"
1145#~ msgid "This action does different things for different apps"
1101#~ msgstr "Esta aición fai coses distintes p'aplicaciones estremaes"
1146#~ msgstr "Esta aición fai coses distintes p'aplicaciones estremaes"
1102
1147
@@ -1228,6 +1273,10 @@ msgstr "Contraseña feble enforma"
1228#~ msgid "Tomorrow %l:%M %p"
1273#~ msgid "Tomorrow %l:%M %p"
1229#~ msgstr "Mañana %l:%M %p"
1274#~ msgstr "Mañana %l:%M %p"
1230
1275
1276+#~ msgctxt "passphrase"
1277+#~ msgid "Please re-enter"
1278+#~ msgstr "Vuelve a escribila"
1279+
1231#~ msgid "%a %d %b %H:%M"
1280#~ msgid "%a %d %b %H:%M"
1232#~ msgstr "%a %b %d %H:%M"
1281#~ msgstr "%a %b %d %H:%M"
1233
1282
po/az.po+192−169
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -15,104 +15,86 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr "Şifrә: "
23msgstr "Şifrә: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Pin qısayolu"
28msgstr "Pin qısayolu"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Açma qısayolu"
36msgstr "Açma qısayolu"
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr ""
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−
46−#: qml/Components/DelayedLockscreen.qml:66
47−msgid "You have been locked out due to too many failed passcode attempts."
48−msgstr ""
49−
50−#: qml/Components/DelayedLockscreen.qml:75
51−#, qt-format
52−msgid "Please wait %1 minute and then try again…"
53−msgid_plural "Please wait %1 minutes and then try again…"
54−msgstr[0] ""
55−msgstr[1] ""
56−
57−#: qml/Components/Dialogs.qml:144
58msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
40msgid "Log out"
60msgstr ""
41msgstr ""
61
42
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
63msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
64msgstr "Çıxmaq istәdiyinizdәn әminsiniz?"
45msgstr "Çıxmaq istәdiyinizdәn әminsiniz?"
65
46
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
67msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
68msgid "Lock"
49msgid "Lock"
69msgstr ""
50msgstr ""
70
51
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
72msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
73msgid "Log Out"
54msgid "Log Out"
74msgstr ""
55msgstr ""
75
56
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
61msgid "Cancel"
80msgstr "İmtina"
62msgstr "İmtina"
81
63
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
83msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
84msgid "Reboot"
66msgid "Reboot"
85msgstr ""
67msgstr ""
86
68
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
88msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
89msgstr "Yenidәn başlatmaq istәdiyinizә әminsiniz?"
71msgstr "Yenidәn başlatmaq istәdiyinizә әminsiniz?"
90
72
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
92msgid "No"
74msgid "No"
93msgstr "Yox"
75msgstr "Yox"
94
76
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
96msgid "Yes"
78msgid "Yes"
97msgstr "Hə"
79msgstr "Hə"
98
80
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
100msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
83msgid "Power"
102msgstr ""
84msgstr ""
103
85
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
105msgid ""
87msgid ""
106"Are you sure you would like\n"
88"Are you sure you would like\n"
107"to power off?"
89"to power off?"
108msgstr ""
90msgstr ""
109
91
110−#: qml/Components/Dialogs.qml:200
92+#: qml/Components/Dialogs.qml:205
111msgctxt "Button: Power off the system"
93msgctxt "Button: Power off the system"
112msgid "Power off"
94msgid "Power off"
113msgstr ""
95msgstr ""
114
96
115−#: qml/Components/Dialogs.qml:209
97+#: qml/Components/Dialogs.qml:214
116msgctxt "Button: Restart the system"
98msgctxt "Button: Restart the system"
117msgid "Restart"
99msgid "Restart"
118msgstr ""
100msgstr ""
@@ -277,15 +259,15 @@ msgstr ""
277msgid "Closes the current window."
259msgid "Closes the current window."
278msgstr ""
260msgstr ""
279
261
280−#: qml/Components/Lockscreen.qml:239
262+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
281msgid "Return to Call"
263msgid "Return to Call"
282msgstr ""
264msgstr ""
283
265
284−#: qml/Components/Lockscreen.qml:239
266+#: qml/Components/Lockscreen.qml:212
285msgid "Emergency Call"
267msgid "Emergency Call"
286msgstr "Zərurət zəngi"
268msgstr "Zərurət zəngi"
287
269
288−#: qml/Components/Lockscreen.qml:271
270+#: qml/Components/Lockscreen.qml:244
289msgid "OK"
271msgid "OK"
290msgstr "Oldu"
272msgstr "Oldu"
291
273
@@ -329,84 +311,84 @@ msgstr ""
329msgid "Preview Share Item"
311msgid "Preview Share Item"
330msgstr ""
312msgstr ""
331
313
332−#: qml/Dash/DashPageHeader.qml:333
314+#: qml/Dash/DashPageHeader.qml:361
333msgctxt "Button: Open the Ubuntu Store"
315msgctxt "Button: Open the Ubuntu Store"
334msgid "Store"
316msgid "Store"
335msgstr ""
317msgstr ""
336
318
337−#: qml/Dash/DashPageHeader.qml:340
319+#: qml/Dash/DashPageHeader.qml:368
338msgctxt "Button: Start a search in the current dash scope"
320msgctxt "Button: Start a search in the current dash scope"
339msgid "Search"
321msgid "Search"
340msgstr ""
322msgstr ""
341
323
342−#: qml/Dash/DashPageHeader.qml:350
324+#: qml/Dash/DashPageHeader.qml:378
343msgctxt "Button: Show the current dash scope settings"
325msgctxt "Button: Show the current dash scope settings"
344msgid "Settings"
326msgid "Settings"
345msgstr ""
327msgstr ""
346
328
347−#: qml/Dash/DashPageHeader.qml:357
329+#: qml/Dash/DashPageHeader.qml:385
348msgid "Remove from Favorites"
330msgid "Remove from Favorites"
349msgstr "Seçilmişlәrdәn çıxart"
331msgstr "Seçilmişlәrdәn çıxart"
350
332
351−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
352msgid "Add to Favorites"
334msgid "Add to Favorites"
353msgstr "Seçilmişlәrә әlavә et"
335msgstr "Seçilmişlәrә әlavә et"
354
336
355−#: qml/Dash/FiltersPopover.qml:60
337+#: qml/Dash/FiltersPopover.qml:61
356msgid "Refine your results"
338msgid "Refine your results"
357msgstr ""
339msgstr ""
358
340
359−#: qml/Dash/FiltersPopover.qml:69
341+#: qml/Dash/FiltersPopover.qml:70
360msgid "Reset"
342msgid "Reset"
361msgstr ""
343msgstr ""
362
344
363−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
345+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
364msgid "Show less"
346msgid "Show less"
365msgstr ""
347msgstr ""
366
348
367−#: qml/Dash/GenericScopeView.qml:580
349+#: qml/Dash/GenericScopeView.qml:547
368msgid "Show all"
350msgid "Show all"
369msgstr ""
351msgstr ""
370
352
371−#: qml/Dash/GenericScopeView.qml:637
353+#: qml/Dash/GenericScopeView.qml:578
372msgctxt "Label: Hint for dash search line edit"
354msgctxt "Label: Hint for dash search line edit"
373msgid "Search"
355msgid "Search"
374msgstr ""
356msgstr ""
375
357
376−#: qml/Dash/PageHeaderExtraPanel.qml:56
358+#: qml/Dash/PageHeaderExtraPanel.qml:67
377msgid "Recent Searches"
359msgid "Recent Searches"
378msgstr ""
360msgstr ""
379
361
380−#: qml/Dash/PageHeaderExtraPanel.qml:67
362+#: qml/Dash/PageHeaderExtraPanel.qml:78
381msgid "Clear All"
363msgid "Clear All"
382msgstr ""
364msgstr ""
383
365
384−#: qml/Dash/Previews/PreviewActionCombo.qml:35
366+#: qml/Dash/Previews/PreviewActionCombo.qml:36
385msgid "More..."
367msgid "More..."
386msgstr "Daha çox..."
368msgstr "Daha çox..."
387
369
388−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
389msgid "Less..."
371msgid "Less..."
390msgstr "Az..."
372msgstr "Az..."
391
373
392−#: qml/Dash/Previews/PreviewCommentInput.qml:68
374+#: qml/Dash/Previews/PreviewCommentInput.qml:83
393−#: qml/Dash/Previews/PreviewRatingInput.qml:175
375+#: qml/Dash/Previews/PreviewRatingInput.qml:202
394msgid "Send"
376msgid "Send"
395msgstr "Göndər"
377msgstr "Göndər"
396
378
397−#: qml/Dash/Previews/PreviewRatingInput.qml:82
379+#: qml/Dash/Previews/PreviewRatingInput.qml:109
398msgid "Rate this"
380msgid "Rate this"
399msgstr "Qiymәtlәndir"
381msgstr "Qiymәtlәndir"
400
382
401−#: qml/Dash/Previews/PreviewRatingInput.qml:157
383+#: qml/Dash/Previews/PreviewRatingInput.qml:184
402msgid "Add a review"
384msgid "Add a review"
403msgstr "Rəy yaz"
385msgstr "Rəy yaz"
404
386
405−#: qml/Dash/PullToRefreshScopeStyle.qml:55
387+#: qml/Dash/PullToRefreshScopeStyle.qml:56
406msgid "Pull to refresh…"
388msgid "Pull to refresh…"
407msgstr ""
389msgstr ""
408
390
409−#: qml/Dash/PullToRefreshScopeStyle.qml:60
391+#: qml/Dash/PullToRefreshScopeStyle.qml:61
410msgid "Release to refresh…"
392msgid "Release to refresh…"
411msgstr ""
393msgstr ""
412
394
@@ -414,15 +396,15 @@ msgstr ""
414msgid "Enable location data"
396msgid "Enable location data"
415msgstr ""
397msgstr ""
416
398
417−#: qml/Dash/ScopesList.qml:55
399+#: qml/Dash/ScopesList.qml:57
418msgid "Manage"
400msgid "Manage"
419msgstr ""
401msgstr ""
420
402
421−#: qml/Dash/ScopesList.qml:102
403+#: qml/Dash/ScopesList.qml:104
422msgid "Home"
404msgid "Home"
423msgstr ""
405msgstr ""
424
406
425−#: qml/Dash/ScopesList.qml:103
407+#: qml/Dash/ScopesList.qml:105
426msgid "Also installed"
408msgid "Also installed"
427msgstr ""
409msgstr ""
428
410
@@ -436,83 +418,51 @@ msgstr ""
436msgid "Unlock"
418msgid "Unlock"
437msgstr ""
419msgstr ""
438
420
439−#: qml/Greeter/Greeter.qml:555
421+#: qml/Greeter/DelayedLockscreen.qml:43
440−msgid "Try again"
422+msgid "Device Locked"
441msgstr ""
423msgstr ""
442
424
443−#: qml/Greeter/LoginList.qml:63
425+#: qml/Greeter/DelayedLockscreen.qml:58
444−msgid "Passphrase"
426+msgid "You have been locked out due to too many failed passphrase attempts."
445msgstr ""
427msgstr ""
446
428
447−#: qml/Greeter/LoginList.qml:64
429+#: qml/Greeter/DelayedLockscreen.qml:59
448−msgid "Passcode"
430+msgid "You have been locked out due to too many failed passcode attempts."
449msgstr ""
431msgstr ""
450
432
451−#: qml/Greeter/LoginList.qml:87
433+#: qml/Greeter/DelayedLockscreen.qml:68
452−msgid "Retry"
434+#, qt-format
435+msgid "Please wait %1 minute and then try again…"
436+msgid_plural "Please wait %1 minutes and then try again…"
437+msgstr[0] ""
453−msgstr ""
438+msgstr[1] ""
454
439
455−#: qml/Greeter/LoginList.qml:88
440+#: qml/Greeter/Greeter.qml:596
456−msgid "Log In"
441+msgid "Try again"
457msgstr ""
442msgstr ""
458
443
459−#: qml/Greeter/NarrowView.qml:55
444+#: qml/Greeter/LoginList.qml:70
460−msgid "Sorry, incorrect passphrase."
445+msgid "Passphrase"
461−msgstr "Bağışlayın, açar söz yanlışdır."
462−
463−#: qml/Greeter/NarrowView.qml:56
464−msgid "Sorry, incorrect passcode."
465−msgstr "Təəssüf ki, açar kod yanlışdır."
466−
467−#: qml/Greeter/NarrowView.qml:57
468−msgid "This will be your last attempt."
469−msgstr "Bu sizin son cəhdiniz olacaq."
470−
471−#: qml/Greeter/NarrowView.qml:59
472−msgid ""
473−"If passphrase is entered incorrectly, your phone will conduct a factory "
474−"reset and all personal data will be deleted."
475msgstr ""
446msgstr ""
476−"Əgər açar söz yanlış daxil edilibsə, onda telefonunuz fabrika parametrlərinə "
477−"geri qayıdacaq və bütün şəxsi məlumatlarınız silinəcək."
478
447
479−#: qml/Greeter/NarrowView.qml:60
448+#: qml/Greeter/LoginList.qml:71
480−msgid ""
449+msgid "Passcode"
481−"If passcode is entered incorrectly, your phone will conduct a factory reset "
482−"and all personal data will be deleted."
483msgstr ""
450msgstr ""
484−"Əgər açar kod yanlış daxil edilibsə, onda telefonunuz fabrika parametrlərinə "
485−"geri qayıdacaq və bütün şəxsi məlumatlarınız silinəcək."
486
451
487−#: qml/Greeter/NarrowView.qml:129
452+#: qml/Greeter/LoginList.qml:98
488−#, qt-format
489−msgid "Enter %1"
453+msgid "Retry"
490msgstr ""
454msgstr ""
491
455
492−#: qml/Greeter/NarrowView.qml:130
456+#: qml/Greeter/LoginList.qml:99
493−msgid "Enter passphrase"
457+msgid "Log In"
494msgstr ""
458msgstr ""
495
459
496−#: qml/Greeter/NarrowView.qml:131
460+#: qml/Greeter/NarrowView.qml:252
497−msgid "Enter passcode"
461+msgid "Emergency"
498msgstr ""
462msgstr ""
499
463
500−#: qml/Greeter/NarrowView.qml:135
464+#: qml/Greeter/SessionsList.qml:122
501−#, qt-format
465+msgid "Select desktop environment"
502−msgid "Sorry, incorrect %1"
503−msgstr "Bağışlayın, %1 yanlışdır"
504−
505−#: qml/Greeter/NarrowView.qml:136
506−msgid "Sorry, incorrect passphrase"
507−msgstr "Bağışlayın, açar söz yanlışdır"
508−
509−#: qml/Greeter/NarrowView.qml:137
510−msgctxt "passphrase"
511−msgid "Please re-enter"
512−msgstr ""
513−
514−#: qml/Greeter/NarrowView.qml:138
515−msgid "Sorry, incorrect passcode"
516msgstr ""
466msgstr ""
517
467
518#: qml/Notifications/NotificationMenuItemFactory.qml:124
468#: qml/Notifications/NotificationMenuItemFactory.qml:124
@@ -527,62 +477,62 @@ msgstr "Zəngə qayıtmaq üçün toxunun..."
527msgid "Conference"
477msgid "Conference"
528msgstr "Konfrans"
478msgstr "Konfrans"
529
479
530−#: qml/Panel/Indicators/MenuItemFactory.qml:762
480+#: qml/Panel/Indicators/MenuItemFactory.qml:847
531msgid "Nothing is playing"
481msgid "Nothing is playing"
532msgstr ""
482msgstr ""
533
483
534−#: qml/Panel/Indicators/MenuItemFactory.qml:891
484+#: qml/Panel/Indicators/MenuItemFactory.qml:975
535#, qt-format
485#, qt-format
536msgid "%1 hour"
486msgid "%1 hour"
537msgid_plural "%1 hours"
487msgid_plural "%1 hours"
538msgstr[0] ""
488msgstr[0] ""
539msgstr[1] ""
489msgstr[1] ""
540
490
541−#: qml/Panel/Indicators/MenuItemFactory.qml:895
491+#: qml/Panel/Indicators/MenuItemFactory.qml:979
542#, qt-format
492#, qt-format
543msgid "%1 minute"
493msgid "%1 minute"
544msgid_plural "%1 minutes"
494msgid_plural "%1 minutes"
545msgstr[0] ""
495msgstr[0] ""
546msgstr[1] ""
496msgstr[1] ""
547
497
548−#: qml/Panel/Indicators/MenuItemFactory.qml:900
498+#: qml/Panel/Indicators/MenuItemFactory.qml:984
549#, qt-format
499#, qt-format
550msgid "%1 second"
500msgid "%1 second"
551msgid_plural "%1 seconds"
501msgid_plural "%1 seconds"
552msgstr[0] ""
502msgstr[0] ""
553msgstr[1] ""
503msgstr[1] ""
554
504
555−#: qml/Panel/Indicators/MenuItemFactory.qml:903
505+#: qml/Panel/Indicators/MenuItemFactory.qml:987
556msgid "0 seconds"
506msgid "0 seconds"
557msgstr ""
507msgstr ""
558
508
559#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
509#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
560−#: qml/Panel/Indicators/MenuItemFactory.qml:905
510+#: qml/Panel/Indicators/MenuItemFactory.qml:989
561#, qt-format
511#, qt-format
562msgid "%1 remaining"
512msgid "%1 remaining"
563msgstr ""
513msgstr ""
564
514
565−#: qml/Panel/Indicators/MenuItemFactory.qml:911
515+#: qml/Panel/Indicators/MenuItemFactory.qml:995
566msgid "In queue…"
516msgid "In queue…"
567msgstr "Növbədədir..."
517msgstr "Növbədədir..."
568
518
569−#: qml/Panel/Indicators/MenuItemFactory.qml:915
519+#: qml/Panel/Indicators/MenuItemFactory.qml:999
570msgid "Downloading"
520msgid "Downloading"
571msgstr "Endirilir"
521msgstr "Endirilir"
572
522
573−#: qml/Panel/Indicators/MenuItemFactory.qml:917
523+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
574msgid "Paused, tap to resume"
524msgid "Paused, tap to resume"
575msgstr "Dayandırıldı. Davam etmək üçün toxunun"
525msgstr "Dayandırıldı. Davam etmək üçün toxunun"
576
526
577−#: qml/Panel/Indicators/MenuItemFactory.qml:919
527+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
578msgid "Canceled"
528msgid "Canceled"
579msgstr "İmtina edildi"
529msgstr "İmtina edildi"
580
530
581−#: qml/Panel/Indicators/MenuItemFactory.qml:921
531+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
582msgid "Finished"
532msgid "Finished"
583msgstr "Bitdi"
533msgstr "Bitdi"
584
534
585−#: qml/Panel/Indicators/MenuItemFactory.qml:923
535+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
586msgid "Failed, tap to retry"
536msgid "Failed, tap to retry"
587msgstr "Alınmadı. Yenidәn cәhd etmək üçün toxunun"
537msgstr "Alınmadı. Yenidәn cәhd etmək üçün toxunun"
588
538
@@ -602,7 +552,7 @@ msgctxt "Button: Call back on phone"
602msgid "Call back"
552msgid "Call back"
603msgstr ""
553msgstr ""
604
554
605−#: qml/Stages/SideStage.qml:76
555+#: qml/Stage/SideStage.qml:76
606msgid "Drag using 3 fingers any application from one window to the other"
556msgid "Drag using 3 fingers any application from one window to the other"
607msgstr ""
557msgstr ""
608
558
@@ -631,40 +581,54 @@ msgctxt "Button: Go back one page in the Wizard"
631msgid "Back"
581msgid "Back"
632msgstr ""
582msgstr ""
633
583
634−#: qml/Wizard/Pages/10-welcome.qml:27
584+#: qml/Wizard/Pages/10-welcome.qml:28
635msgid "Language"
585msgid "Language"
636msgstr ""
586msgstr ""
637
587
638−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
588+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
639−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
589+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
590+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
640−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
591+#: qml/Wizard/Pages/70-passwd-type.qml:145
641#: qml/Wizard/Pages/75-report-check.qml:84
592#: qml/Wizard/Pages/75-report-check.qml:84
642−#: qml/Wizard/Pages/passcode-desktop.qml:141
593+#: qml/Wizard/Pages/passcode-desktop.qml:142
643−#: qml/Wizard/Pages/password-set.qml:141
594+#: qml/Wizard/Pages/password-set.qml:142
644msgid "Next"
595msgid "Next"
645msgstr ""
596msgstr ""
646
597
647−#: qml/Wizard/Pages/30-wifi.qml:29
598+#: qml/Wizard/Pages/20-keyboard.qml:31
599+msgid "Select Keyboard"
600+msgstr ""
601+
602+#: qml/Wizard/Pages/20-keyboard.qml:71
603+msgid "Keyboard language"
604+msgstr ""
605+
606+#: qml/Wizard/Pages/20-keyboard.qml:93
607+msgid "Keyboard layout"
608+msgstr ""
609+
610+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
611+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
612+#: qml/Wizard/Pages/sim.qml:101
613+msgid "Skip"
614+msgstr ""
615+
616+#: qml/Wizard/Pages/30-wifi.qml:31
648msgid "Connect to Wi‑Fi"
617msgid "Connect to Wi‑Fi"
649msgstr ""
618msgstr ""
650
619
651−#: qml/Wizard/Pages/30-wifi.qml:130
620+#: qml/Wizard/Pages/30-wifi.qml:132
652msgid "Connected"
621msgid "Connected"
653msgstr ""
622msgstr ""
654
623
655−#: qml/Wizard/Pages/30-wifi.qml:163
624+#: qml/Wizard/Pages/30-wifi.qml:165
656msgid "Available Wi-Fi networks"
625msgid "Available Wi-Fi networks"
657msgstr ""
626msgstr ""
658
627
659−#: qml/Wizard/Pages/30-wifi.qml:164
628+#: qml/Wizard/Pages/30-wifi.qml:166
660msgid "No available Wi-Fi networks"
629msgid "No available Wi-Fi networks"
661msgstr ""
630msgstr ""
662
631
663−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
664−#: qml/Wizard/Pages/sim.qml:101
665−msgid "Skip"
666−msgstr ""
667−
668#: qml/Wizard/Pages/40-location.qml:27
632#: qml/Wizard/Pages/40-location.qml:27
669msgid "Location Services"
633msgid "Location Services"
670msgstr ""
634msgstr ""
@@ -697,11 +661,11 @@ msgstr ""
697msgid "You can change it later in System Settings."
661msgid "You can change it later in System Settings."
698msgstr ""
662msgstr ""
699
663
700−#: qml/Wizard/Pages/50-timezone.qml:29
664+#: qml/Wizard/Pages/50-timezone.qml:30
701msgid "Time Zone"
665msgid "Time Zone"
702msgstr ""
666msgstr ""
703
667
704−#: qml/Wizard/Pages/50-timezone.qml:181
668+#: qml/Wizard/Pages/50-timezone.qml:182
705msgid "Enter your city"
669msgid "Enter your city"
706msgstr ""
670msgstr ""
707
671
@@ -713,21 +677,21 @@ msgstr ""
713msgid "Preferred Name"
677msgid "Preferred Name"
714msgstr ""
678msgstr ""
715
679
716−#: qml/Wizard/Pages/70-passwd-type.qml:39
680+#: qml/Wizard/Pages/70-passwd-type.qml:40
717msgid "Lock Screen"
681msgid "Lock Screen"
718msgstr ""
682msgstr ""
719
683
720−#: qml/Wizard/Pages/70-passwd-type.qml:101
684+#: qml/Wizard/Pages/70-passwd-type.qml:102
721msgctxt "Label: Type of security method"
685msgctxt "Label: Type of security method"
722msgid "Create new password"
686msgid "Create new password"
723msgstr ""
687msgstr ""
724
688
725−#: qml/Wizard/Pages/70-passwd-type.qml:103
689+#: qml/Wizard/Pages/70-passwd-type.qml:104
726msgctxt "Label: Type of security method"
690msgctxt "Label: Type of security method"
727msgid "Create passcode (numbers only)"
691msgid "Create passcode (numbers only)"
728msgstr ""
692msgstr ""
729
693
730−#: qml/Wizard/Pages/70-passwd-type.qml:105
694+#: qml/Wizard/Pages/70-passwd-type.qml:106
731msgctxt "Label: Type of security method"
695msgctxt "Label: Type of security method"
732msgid "No lock code"
696msgid "No lock code"
733msgstr ""
697msgstr ""
@@ -748,6 +712,35 @@ msgstr ""
748msgid "Privacy policy"
712msgid "Privacy policy"
749msgstr ""
713msgstr ""
750
714
715+#: qml/Wizard/Pages/77-system-update.qml:28
716+msgid "Update Device"
717+msgstr ""
718+
719+#: qml/Wizard/Pages/77-system-update.qml:55
720+msgid ""
721+"There is a system update available and ready to install. Afterwards, the "
722+"device will automatically restart."
723+msgstr ""
724+
725+#: qml/Wizard/Pages/77-system-update.qml:76
726+msgctxt "string identifying name of the update"
727+msgid "Ubuntu system"
728+msgstr ""
729+
730+#: qml/Wizard/Pages/77-system-update.qml:83
731+#, qt-format
732+msgctxt "version of the system update"
733+msgid "Version %1"
734+msgstr ""
735+
736+#: qml/Wizard/Pages/77-system-update.qml:102
737+msgid "This could take a few minutes..."
738+msgstr ""
739+
740+#: qml/Wizard/Pages/77-system-update.qml:116
741+msgid "Install and restart now"
742+msgstr ""
743+
751#: qml/Wizard/Pages/80-finished.qml:89
744#: qml/Wizard/Pages/80-finished.qml:89
752msgid "Welcome to Ubuntu"
745msgid "Welcome to Ubuntu"
753msgstr ""
746msgstr ""
@@ -791,7 +784,7 @@ msgid "Service Terms"
791msgstr ""
784msgstr ""
792
785
793#: qml/Wizard/Pages/passcode-confirm.qml:43
786#: qml/Wizard/Pages/passcode-confirm.qml:43
794−#: qml/Wizard/Pages/passcode-desktop.qml:96
787+#: qml/Wizard/Pages/passcode-desktop.qml:97
795msgid "Confirm passcode"
788msgid "Confirm passcode"
796msgstr ""
789msgstr ""
797
790
@@ -804,28 +797,28 @@ msgctxt "Enter the passcode again"
804msgid "Please re-enter."
797msgid "Please re-enter."
805msgstr ""
798msgstr ""
806
799
807−#: qml/Wizard/Pages/passcode-desktop.qml:30
800+#: qml/Wizard/Pages/passcode-desktop.qml:31
808msgid "Lock Screen Passcode"
801msgid "Lock Screen Passcode"
809msgstr ""
802msgstr ""
810
803
811−#: qml/Wizard/Pages/passcode-desktop.qml:60
804+#: qml/Wizard/Pages/passcode-desktop.qml:61
812msgid "Enter 4 numbers to setup your passcode"
805msgid "Enter 4 numbers to setup your passcode"
813msgstr ""
806msgstr ""
814
807
815−#: qml/Wizard/Pages/passcode-desktop.qml:76
808+#: qml/Wizard/Pages/passcode-desktop.qml:77
816#: qml/Wizard/Pages/passcode-set.qml:54
809#: qml/Wizard/Pages/passcode-set.qml:54
817msgid "Choose passcode"
810msgid "Choose passcode"
818msgstr ""
811msgstr ""
819
812
820−#: qml/Wizard/Pages/passcode-desktop.qml:126
813+#: qml/Wizard/Pages/passcode-desktop.qml:127
821msgid "Passcode too short"
814msgid "Passcode too short"
822msgstr ""
815msgstr ""
823
816
824−#: qml/Wizard/Pages/passcode-desktop.qml:128
817+#: qml/Wizard/Pages/passcode-desktop.qml:129
825msgid "Passcodes match"
818msgid "Passcodes match"
826msgstr ""
819msgstr ""
827
820
828−#: qml/Wizard/Pages/passcode-desktop.qml:130
821+#: qml/Wizard/Pages/passcode-desktop.qml:131
829msgid "Passcodes do not match"
822msgid "Passcodes do not match"
830msgstr ""
823msgstr ""
831
824
@@ -833,19 +826,19 @@ msgstr ""
833msgid "Passcode must be 4 characters long"
826msgid "Passcode must be 4 characters long"
834msgstr ""
827msgstr ""
835
828
836−#: qml/Wizard/Pages/password-set.qml:30
829+#: qml/Wizard/Pages/password-set.qml:31
837msgid "Lock Screen Password"
830msgid "Lock Screen Password"
838msgstr ""
831msgstr ""
839
832
840−#: qml/Wizard/Pages/password-set.qml:61
833+#: qml/Wizard/Pages/password-set.qml:62
841msgid "Enter at least 8 characters"
834msgid "Enter at least 8 characters"
842msgstr ""
835msgstr ""
843
836
844−#: qml/Wizard/Pages/password-set.qml:73
837+#: qml/Wizard/Pages/password-set.qml:74
845msgid "Choose password"
838msgid "Choose password"
846msgstr ""
839msgstr ""
847
840
848−#: qml/Wizard/Pages/password-set.qml:103
841+#: qml/Wizard/Pages/password-set.qml:104
849msgid "Confirm password"
842msgid "Confirm password"
850msgstr ""
843msgstr ""
851
844
@@ -956,6 +949,26 @@ msgstr ""
956#~ msgid "Roaming"
949#~ msgid "Roaming"
957#~ msgstr "Rominq"
950#~ msgstr "Rominq"
958
951
952+#~ msgid "Sorry, incorrect passcode."
953+#~ msgstr "Təəssüf ki, açar kod yanlışdır."
954+
955+#~ msgid "This will be your last attempt."
956+#~ msgstr "Bu sizin son cəhdiniz olacaq."
957+
958+#~ msgid ""
959+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
960+#~ "and all personal data will be deleted."
961+#~ msgstr ""
962+#~ "Əgər açar kod yanlış daxil edilibsə, onda telefonunuz fabrika parametrlərinə "
963+#~ "geri qayıdacaq və bütün şəxsi məlumatlarınız silinəcək."
964+
965+#~ msgid ""
966+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
967+#~ "reset and all personal data will be deleted."
968+#~ msgstr ""
969+#~ "Əgər açar söz yanlış daxil edilibsə, onda telefonunuz fabrika parametrlərinə "
970+#~ "geri qayıdacaq və bütün şəxsi məlumatlarınız silinəcək."
971+
959#~ msgid "Log out"
972#~ msgid "Log out"
960#~ msgstr "Çıxış"
973#~ msgstr "Çıxış"
961
974
@@ -995,3 +1008,13 @@ msgstr ""
995
1008
996#~ msgid "Type or say a command"
1009#~ msgid "Type or say a command"
997#~ msgstr "Bir әmr söyləyin və ya yazın"
1010#~ msgstr "Bir әmr söyləyin və ya yazın"
1011+
1012+#~ msgid "Sorry, incorrect passphrase"
1013+#~ msgstr "Bağışlayın, açar söz yanlışdır"
1014+
1015+#, qt-format
1016+#~ msgid "Sorry, incorrect %1"
1017+#~ msgstr "Bağışlayın, %1 yanlışdır"
1018+
1019+#~ msgid "Sorry, incorrect passphrase."
1020+#~ msgstr "Bağışlayın, açar söz yanlışdır."
po/be.po+215−175
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -16,97 +16,75 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
20−"X-Generator: Launchpad (build 18147)\n"
20+"X-Generator: Launchpad (build 18282)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:123
22#: plugins/LightDM/Greeter.cpp:123
23msgid "Password: "
23msgid "Password: "
24msgstr "Пароль: "
24msgstr "Пароль: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "Замацаваць кнопку"
29msgstr "Замацаваць кнопку"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
32msgid "Quit"
32msgid "Quit"
33msgstr "Выйсці"
33msgstr "Выйсці"
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "Адмацаваць кнопку"
37msgstr "Адмацаваць кнопку"
38
38
39−#: qml/Components/DelayedLockscreen.qml:50
39+#: qml/Components/Dialogs.qml:149
40−msgid "Device Locked"
41−msgstr "Прылада заблакаваная"
42−
43−#: qml/Components/DelayedLockscreen.qml:65
44−msgid "You have been locked out due to too many failed passphrase attempts."
45−msgstr ""
46−"Вы былі заблакаваныя з-за занадта вялікай колькасці няўдалых спробаў."
47−
48−#: qml/Components/DelayedLockscreen.qml:66
49−msgid "You have been locked out due to too many failed passcode attempts."
50−msgstr ""
51−"Вы былі заблакаваныя з-за занадта вялікай колькасці няўдалых спробаў уводу "
52−"кода доступу."
53−
54−#: qml/Components/DelayedLockscreen.qml:75
55−#, qt-format
56−msgid "Please wait %1 minute and then try again…"
57−msgid_plural "Please wait %1 minutes and then try again…"
58−msgstr[0] "Пачакайце %1 хвіліну і паўтарыце спробу…"
59−msgstr[1] "Пачакайце %1 хвіліны і паўтарыце спробу…"
60−msgstr[2] "Пачакайце %1 хвілін і паўтарыце спробу…"
61−
62−#: qml/Components/Dialogs.qml:144
63msgctxt "Title: Lock/Log out dialog"
40msgctxt "Title: Lock/Log out dialog"
64msgid "Log out"
41msgid "Log out"
65msgstr "Выйсці"
42msgstr "Выйсці"
66
43
67−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
68msgid "Are you sure you want to log out?"
45msgid "Are you sure you want to log out?"
69msgstr "Вы ўпэўненыя, што хочаце выйсці?"
46msgstr "Вы ўпэўненыя, што хочаце выйсці?"
70
47
71−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
72msgctxt "Button: Lock the system"
49msgctxt "Button: Lock the system"
73msgid "Lock"
50msgid "Lock"
74msgstr "Заблакаваць"
51msgstr "Заблакаваць"
75
52
76−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
77msgctxt "Button: Log out from the system"
54msgctxt "Button: Log out from the system"
78msgid "Log Out"
55msgid "Log Out"
79msgstr "Выйсці"
56msgstr "Выйсці"
80
57
81−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
82−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
83#: qml/Wizard/Pages/passcode-set.qml:32
61#: qml/Wizard/Pages/passcode-set.qml:32
84msgid "Cancel"
62msgid "Cancel"
85msgstr "Скасаваць"
63msgstr "Скасаваць"
86
64
87−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
88msgctxt "Title: Reboot dialog"
66msgctxt "Title: Reboot dialog"
89msgid "Reboot"
67msgid "Reboot"
90msgstr "Перазагрузіць"
68msgstr "Перазагрузіць"
91
69
92−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
93msgid "Are you sure you want to reboot?"
71msgid "Are you sure you want to reboot?"
94msgstr "Вы ўпэўнены, што жадаеце перазагрузіць?"
72msgstr "Вы ўпэўнены, што жадаеце перазагрузіць?"
95
73
96−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
97msgid "No"
75msgid "No"
98msgstr "Не"
76msgstr "Не"
99
77
100−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
101msgid "Yes"
79msgid "Yes"
102msgstr "Так"
80msgstr "Так"
103
81
104−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
105msgctxt "Title: Power off/Restart dialog"
83msgctxt "Title: Power off/Restart dialog"
106msgid "Power"
84msgid "Power"
107msgstr "Сілкаванне"
85msgstr "Сілкаванне"
108
86
109−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
110msgid ""
88msgid ""
111"Are you sure you would like\n"
89"Are you sure you would like\n"
112"to power off?"
90"to power off?"
@@ -114,12 +92,12 @@ msgstr ""
114"Вы ўпэўнены, што хочаце\n"
92"Вы ўпэўнены, што хочаце\n"
115"выключыць камп'ютэр?"
93"выключыць камп'ютэр?"
116
94
117−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
118msgctxt "Button: Power off the system"
96msgctxt "Button: Power off the system"
119msgid "Power off"
97msgid "Power off"
120msgstr "Выключыць"
98msgstr "Выключыць"
121
99
122−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
123msgctxt "Button: Restart the system"
101msgctxt "Button: Restart the system"
124msgid "Restart"
102msgid "Restart"
125msgstr "Перазапуск"
103msgstr "Перазапуск"
@@ -284,15 +262,15 @@ msgstr ""
284msgid "Closes the current window."
262msgid "Closes the current window."
285msgstr ""
263msgstr ""
286
264
287−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
288msgid "Return to Call"
266msgid "Return to Call"
289msgstr "Вярнуцца да выкліку"
267msgstr "Вярнуцца да выкліку"
290
268
291−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
292msgid "Emergency Call"
270msgid "Emergency Call"
293msgstr "Терміновы выклік"
271msgstr "Терміновы выклік"
294
272
295−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
296msgid "OK"
274msgid "OK"
297msgstr "Добра"
275msgstr "Добра"
298
276
@@ -336,84 +314,84 @@ msgstr "Зачыніць усё"
336msgid "Preview Share Item"
314msgid "Preview Share Item"
337msgstr "Праглядзець элемент"
315msgstr "Праглядзець элемент"
338
316
339−#: qml/Dash/DashPageHeader.qml:333
317+#: qml/Dash/DashPageHeader.qml:361
340msgctxt "Button: Open the Ubuntu Store"
318msgctxt "Button: Open the Ubuntu Store"
341msgid "Store"
319msgid "Store"
342msgstr "Крама"
320msgstr "Крама"
343
321
344−#: qml/Dash/DashPageHeader.qml:340
322+#: qml/Dash/DashPageHeader.qml:368
345msgctxt "Button: Start a search in the current dash scope"
323msgctxt "Button: Start a search in the current dash scope"
346msgid "Search"
324msgid "Search"
347msgstr "Пошук"
325msgstr "Пошук"
348
326
349−#: qml/Dash/DashPageHeader.qml:350
327+#: qml/Dash/DashPageHeader.qml:378
350msgctxt "Button: Show the current dash scope settings"
328msgctxt "Button: Show the current dash scope settings"
351msgid "Settings"
329msgid "Settings"
352msgstr "Налады"
330msgstr "Налады"
353
331
354−#: qml/Dash/DashPageHeader.qml:357
332+#: qml/Dash/DashPageHeader.qml:385
355msgid "Remove from Favorites"
333msgid "Remove from Favorites"
356msgstr "Выдаліць з абранага"
334msgstr "Выдаліць з абранага"
357
335
358−#: qml/Dash/DashPageHeader.qml:357
336+#: qml/Dash/DashPageHeader.qml:385
359msgid "Add to Favorites"
337msgid "Add to Favorites"
360msgstr "Дадаць да абранага"
338msgstr "Дадаць да абранага"
361
339
362−#: qml/Dash/FiltersPopover.qml:60
340+#: qml/Dash/FiltersPopover.qml:61
363msgid "Refine your results"
341msgid "Refine your results"
364msgstr ""
342msgstr ""
365
343
366−#: qml/Dash/FiltersPopover.qml:69
344+#: qml/Dash/FiltersPopover.qml:70
367msgid "Reset"
345msgid "Reset"
368msgstr ""
346msgstr ""
369
347
370−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
348+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
371msgid "Show less"
349msgid "Show less"
372msgstr ""
350msgstr ""
373
351
374−#: qml/Dash/GenericScopeView.qml:580
352+#: qml/Dash/GenericScopeView.qml:547
375msgid "Show all"
353msgid "Show all"
376msgstr ""
354msgstr ""
377
355
378−#: qml/Dash/GenericScopeView.qml:637
356+#: qml/Dash/GenericScopeView.qml:578
379msgctxt "Label: Hint for dash search line edit"
357msgctxt "Label: Hint for dash search line edit"
380msgid "Search"
358msgid "Search"
381msgstr "Пошук"
359msgstr "Пошук"
382
360
383−#: qml/Dash/PageHeaderExtraPanel.qml:56
361+#: qml/Dash/PageHeaderExtraPanel.qml:67
384msgid "Recent Searches"
362msgid "Recent Searches"
385msgstr ""
363msgstr ""
386
364
387−#: qml/Dash/PageHeaderExtraPanel.qml:67
365+#: qml/Dash/PageHeaderExtraPanel.qml:78
388msgid "Clear All"
366msgid "Clear All"
389msgstr ""
367msgstr ""
390
368
391−#: qml/Dash/Previews/PreviewActionCombo.qml:35
369+#: qml/Dash/Previews/PreviewActionCombo.qml:36
392msgid "More..."
370msgid "More..."
393msgstr "Болей…"
371msgstr "Болей…"
394
372
395−#: qml/Dash/Previews/PreviewActionCombo.qml:35
373+#: qml/Dash/Previews/PreviewActionCombo.qml:36
396msgid "Less..."
374msgid "Less..."
397msgstr "Менш..."
375msgstr "Менш..."
398
376
399−#: qml/Dash/Previews/PreviewCommentInput.qml:68
377+#: qml/Dash/Previews/PreviewCommentInput.qml:83
400−#: qml/Dash/Previews/PreviewRatingInput.qml:175
378+#: qml/Dash/Previews/PreviewRatingInput.qml:202
401msgid "Send"
379msgid "Send"
402msgstr "Адправіць"
380msgstr "Адправіць"
403
381
404−#: qml/Dash/Previews/PreviewRatingInput.qml:82
382+#: qml/Dash/Previews/PreviewRatingInput.qml:109
405msgid "Rate this"
383msgid "Rate this"
406msgstr "Ацаніць"
384msgstr "Ацаніць"
407
385
408−#: qml/Dash/Previews/PreviewRatingInput.qml:157
386+#: qml/Dash/Previews/PreviewRatingInput.qml:184
409msgid "Add a review"
387msgid "Add a review"
410msgstr "Дадаць рэцэнзію"
388msgstr "Дадаць рэцэнзію"
411
389
412−#: qml/Dash/PullToRefreshScopeStyle.qml:55
390+#: qml/Dash/PullToRefreshScopeStyle.qml:56
413msgid "Pull to refresh…"
391msgid "Pull to refresh…"
414msgstr "Пацягніце для абнаўлення..."
392msgstr "Пацягніце для абнаўлення..."
415
393
416−#: qml/Dash/PullToRefreshScopeStyle.qml:60
394+#: qml/Dash/PullToRefreshScopeStyle.qml:61
417msgid "Release to refresh…"
395msgid "Release to refresh…"
418msgstr "Адпусціце для абнаўлення..."
396msgstr "Адпусціце для абнаўлення..."
419
397
@@ -421,15 +399,15 @@ msgstr "Адпусціце для абнаўлення..."
421msgid "Enable location data"
399msgid "Enable location data"
422msgstr "Уключыць дадзеныя аб месцазнаходжанні"
400msgstr "Уключыць дадзеныя аб месцазнаходжанні"
423
401
424−#: qml/Dash/ScopesList.qml:55
402+#: qml/Dash/ScopesList.qml:57
425msgid "Manage"
403msgid "Manage"
426msgstr "Кіраванне"
404msgstr "Кіраванне"
427
405
428−#: qml/Dash/ScopesList.qml:102
406+#: qml/Dash/ScopesList.qml:104
429msgid "Home"
407msgid "Home"
430msgstr "Хатняя папка"
408msgstr "Хатняя папка"
431
409
432−#: qml/Dash/ScopesList.qml:103
410+#: qml/Dash/ScopesList.qml:105
433msgid "Also installed"
411msgid "Also installed"
434msgstr "Таксама ўсталявана"
412msgstr "Таксама ўсталявана"
435
413
@@ -443,84 +421,56 @@ msgstr ""
443msgid "Unlock"
421msgid "Unlock"
444msgstr "Разблакаваць"
422msgstr "Разблакаваць"
445
423
446−#: qml/Greeter/Greeter.qml:555
424+#: qml/Greeter/DelayedLockscreen.qml:43
425+msgid "Device Locked"
426+msgstr "Прылада заблакаваная"
427+
428+#: qml/Greeter/DelayedLockscreen.qml:58
429+msgid "You have been locked out due to too many failed passphrase attempts."
430+msgstr ""
431+"Вы былі заблакаваныя з-за занадта вялікай колькасці няўдалых спробаў."
432+
433+#: qml/Greeter/DelayedLockscreen.qml:59
434+msgid "You have been locked out due to too many failed passcode attempts."
435+msgstr ""
436+"Вы былі заблакаваныя з-за занадта вялікай колькасці няўдалых спробаў уводу "
437+"кода доступу."
438+
439+#: qml/Greeter/DelayedLockscreen.qml:68
440+#, qt-format
441+msgid "Please wait %1 minute and then try again…"
442+msgid_plural "Please wait %1 minutes and then try again…"
443+msgstr[0] "Пачакайце %1 хвіліну і паўтарыце спробу…"
444+msgstr[1] "Пачакайце %1 хвіліны і паўтарыце спробу…"
445+msgstr[2] "Пачакайце %1 хвілін і паўтарыце спробу…"
446+
447+#: qml/Greeter/Greeter.qml:596
447msgid "Try again"
448msgid "Try again"
448msgstr ""
449msgstr ""
449
450
450−#: qml/Greeter/LoginList.qml:63
451+#: qml/Greeter/LoginList.qml:70
451msgid "Passphrase"
452msgid "Passphrase"
452msgstr ""
453msgstr ""
453
454
454−#: qml/Greeter/LoginList.qml:64
455+#: qml/Greeter/LoginList.qml:71
455msgid "Passcode"
456msgid "Passcode"
456msgstr ""
457msgstr ""
457
458
458−#: qml/Greeter/LoginList.qml:87
459+#: qml/Greeter/LoginList.qml:98
459msgid "Retry"
460msgid "Retry"
460msgstr "Паспрабаваць зноў"
461msgstr "Паспрабаваць зноў"
461
462
462−#: qml/Greeter/LoginList.qml:88
463+#: qml/Greeter/LoginList.qml:99
463msgid "Log In"
464msgid "Log In"
464msgstr ""
465msgstr ""
465
466
466−#: qml/Greeter/NarrowView.qml:55
467+#: qml/Greeter/NarrowView.qml:252
467−msgid "Sorry, incorrect passphrase."
468+msgid "Emergency"
468−msgstr "Даруйце, няслушны пароль."
469−
470−#: qml/Greeter/NarrowView.qml:56
471−msgid "Sorry, incorrect passcode."
472−msgstr "Даруйце, няслушны код."
473−
474−#: qml/Greeter/NarrowView.qml:57
475−msgid "This will be your last attempt."
476−msgstr "Апошняя спроба."
477−
478−#: qml/Greeter/NarrowView.qml:59
479−msgid ""
480−"If passphrase is entered incorrectly, your phone will conduct a factory "
481−"reset and all personal data will be deleted."
482msgstr ""
469msgstr ""
483−"Калі ўведзены пароль неправільны, Ваш тэлефон зробіць агульны скід налад і "
484−"ўсе асабістыя дадзеныя будуць выдалены."
485
470
486−#: qml/Greeter/NarrowView.qml:60
471+#: qml/Greeter/SessionsList.qml:122
487−msgid ""
472+msgid "Select desktop environment"
488−"If passcode is entered incorrectly, your phone will conduct a factory reset "
489−"and all personal data will be deleted."
490msgstr ""
473msgstr ""
491−"Калі ўведзены код неправільны, Ваш тэлефон зробіць агульны скід налад і ўсе "
492−"асабістыя дадзеныя будуць выдалены."
493−
494−#: qml/Greeter/NarrowView.qml:129
495−#, qt-format
496−msgid "Enter %1"
497−msgstr "Увядзіце %1"
498−
499−#: qml/Greeter/NarrowView.qml:130
500−msgid "Enter passphrase"
501−msgstr "Увядзіце пароль"
502−
503−#: qml/Greeter/NarrowView.qml:131
504−msgid "Enter passcode"
505−msgstr "Увядзіце код"
506−
507−#: qml/Greeter/NarrowView.qml:135
508−#, qt-format
509−msgid "Sorry, incorrect %1"
510−msgstr "Даруйце, некарэктны %1"
511−
512−#: qml/Greeter/NarrowView.qml:136
513−msgid "Sorry, incorrect passphrase"
514−msgstr "Даруйце, някарэктны пароль"
515−
516−#: qml/Greeter/NarrowView.qml:137
517−msgctxt "passphrase"
518−msgid "Please re-enter"
519−msgstr "Калі ласка, паўтарыце ўвод"
520−
521−#: qml/Greeter/NarrowView.qml:138
522−msgid "Sorry, incorrect passcode"
523−msgstr "Даруйце, некарэктны код"
524
474
525#: qml/Notifications/NotificationMenuItemFactory.qml:124
475#: qml/Notifications/NotificationMenuItemFactory.qml:124
526msgid "Show password"
476msgid "Show password"
@@ -534,11 +484,11 @@ msgstr "Націсніце, каб вярнуцца да выкліку..."
534msgid "Conference"
484msgid "Conference"
535msgstr "Канферэнцыя"
485msgstr "Канферэнцыя"
536
486
537−#: qml/Panel/Indicators/MenuItemFactory.qml:762
487+#: qml/Panel/Indicators/MenuItemFactory.qml:847
538msgid "Nothing is playing"
488msgid "Nothing is playing"
539msgstr "Нічога не грае"
489msgstr "Нічога не грае"
540
490
541−#: qml/Panel/Indicators/MenuItemFactory.qml:891
491+#: qml/Panel/Indicators/MenuItemFactory.qml:975
542#, qt-format
492#, qt-format
543msgid "%1 hour"
493msgid "%1 hour"
544msgid_plural "%1 hours"
494msgid_plural "%1 hours"
@@ -546,7 +496,7 @@ msgstr[0] "%1 гадзіна"
546msgstr[1] "%1 гадзіны"
496msgstr[1] "%1 гадзіны"
547msgstr[2] "%1 гадзінаў"
497msgstr[2] "%1 гадзінаў"
548
498
549−#: qml/Panel/Indicators/MenuItemFactory.qml:895
499+#: qml/Panel/Indicators/MenuItemFactory.qml:979
550#, qt-format
500#, qt-format
551msgid "%1 minute"
501msgid "%1 minute"
552msgid_plural "%1 minutes"
502msgid_plural "%1 minutes"
@@ -554,7 +504,7 @@ msgstr[0] "%1 хвіліна"
554msgstr[1] "%1 хвіліны"
504msgstr[1] "%1 хвіліны"
555msgstr[2] "%1 хвілінаў"
505msgstr[2] "%1 хвілінаў"
556
506
557−#: qml/Panel/Indicators/MenuItemFactory.qml:900
507+#: qml/Panel/Indicators/MenuItemFactory.qml:984
558#, qt-format
508#, qt-format
559msgid "%1 second"
509msgid "%1 second"
560msgid_plural "%1 seconds"
510msgid_plural "%1 seconds"
@@ -562,37 +512,37 @@ msgstr[0] "%1 секунда"
562msgstr[1] "%1 секунды"
512msgstr[1] "%1 секунды"
563msgstr[2] "%1 секундаў"
513msgstr[2] "%1 секундаў"
564
514
565−#: qml/Panel/Indicators/MenuItemFactory.qml:903
515+#: qml/Panel/Indicators/MenuItemFactory.qml:987
566msgid "0 seconds"
516msgid "0 seconds"
567msgstr "0 секунд"
517msgstr "0 секунд"
568
518
569#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
519#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
570−#: qml/Panel/Indicators/MenuItemFactory.qml:905
520+#: qml/Panel/Indicators/MenuItemFactory.qml:989
571#, qt-format
521#, qt-format
572msgid "%1 remaining"
522msgid "%1 remaining"
573msgstr "%1 засталося"
523msgstr "%1 засталося"
574
524
575−#: qml/Panel/Indicators/MenuItemFactory.qml:911
525+#: qml/Panel/Indicators/MenuItemFactory.qml:995
576msgid "In queue…"
526msgid "In queue…"
577msgstr "У чарзе..."
527msgstr "У чарзе..."
578
528
579−#: qml/Panel/Indicators/MenuItemFactory.qml:915
529+#: qml/Panel/Indicators/MenuItemFactory.qml:999
580msgid "Downloading"
530msgid "Downloading"
581msgstr "Запампоўка"
531msgstr "Запампоўка"
582
532
583−#: qml/Panel/Indicators/MenuItemFactory.qml:917
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
584msgid "Paused, tap to resume"
534msgid "Paused, tap to resume"
585msgstr "Прыпынена, націсніце для працягу"
535msgstr "Прыпынена, націсніце для працягу"
586
536
587−#: qml/Panel/Indicators/MenuItemFactory.qml:919
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
588msgid "Canceled"
538msgid "Canceled"
589msgstr "Скасавана"
539msgstr "Скасавана"
590
540
591−#: qml/Panel/Indicators/MenuItemFactory.qml:921
541+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
592msgid "Finished"
542msgid "Finished"
593msgstr "Скончана"
543msgstr "Скончана"
594
544
595−#: qml/Panel/Indicators/MenuItemFactory.qml:923
545+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
596msgid "Failed, tap to retry"
546msgid "Failed, tap to retry"
597msgstr "Не атрымалася, націсніце, каб паўтарыць спробу"
547msgstr "Не атрымалася, націсніце, каб паўтарыць спробу"
598
548
@@ -612,7 +562,7 @@ msgctxt "Button: Call back on phone"
612msgid "Call back"
562msgid "Call back"
613msgstr "Патэлефанаваць"
563msgstr "Патэлефанаваць"
614
564
615−#: qml/Stages/SideStage.qml:76
565+#: qml/Stage/SideStage.qml:76
616msgid "Drag using 3 fingers any application from one window to the other"
566msgid "Drag using 3 fingers any application from one window to the other"
617msgstr ""
567msgstr ""
618
568
@@ -641,40 +591,54 @@ msgctxt "Button: Go back one page in the Wizard"
641msgid "Back"
591msgid "Back"
642msgstr "Вярнуцца"
592msgstr "Вярнуцца"
643
593
644−#: qml/Wizard/Pages/10-welcome.qml:27
594+#: qml/Wizard/Pages/10-welcome.qml:28
645msgid "Language"
595msgid "Language"
646msgstr ""
596msgstr ""
647
597
648−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
598+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
649−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
599+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
600+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
650−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
601+#: qml/Wizard/Pages/70-passwd-type.qml:145
651#: qml/Wizard/Pages/75-report-check.qml:84
602#: qml/Wizard/Pages/75-report-check.qml:84
652−#: qml/Wizard/Pages/passcode-desktop.qml:141
603+#: qml/Wizard/Pages/passcode-desktop.qml:142
653−#: qml/Wizard/Pages/password-set.qml:141
604+#: qml/Wizard/Pages/password-set.qml:142
654msgid "Next"
605msgid "Next"
655msgstr ""
606msgstr ""
656
607
657−#: qml/Wizard/Pages/30-wifi.qml:29
608+#: qml/Wizard/Pages/20-keyboard.qml:31
609+msgid "Select Keyboard"
610+msgstr ""
611+
612+#: qml/Wizard/Pages/20-keyboard.qml:71
613+msgid "Keyboard language"
614+msgstr ""
615+
616+#: qml/Wizard/Pages/20-keyboard.qml:93
617+msgid "Keyboard layout"
618+msgstr ""
619+
620+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
621+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
622+#: qml/Wizard/Pages/sim.qml:101
623+msgid "Skip"
624+msgstr "Прапусціць"
625+
626+#: qml/Wizard/Pages/30-wifi.qml:31
658msgid "Connect to Wi‑Fi"
627msgid "Connect to Wi‑Fi"
659msgstr "Злучыцца з Wi-Fi"
628msgstr "Злучыцца з Wi-Fi"
660
629
661−#: qml/Wizard/Pages/30-wifi.qml:130
630+#: qml/Wizard/Pages/30-wifi.qml:132
662msgid "Connected"
631msgid "Connected"
663msgstr ""
632msgstr ""
664
633
665−#: qml/Wizard/Pages/30-wifi.qml:163
634+#: qml/Wizard/Pages/30-wifi.qml:165
666msgid "Available Wi-Fi networks"
635msgid "Available Wi-Fi networks"
667msgstr ""
636msgstr ""
668
637
669−#: qml/Wizard/Pages/30-wifi.qml:164
638+#: qml/Wizard/Pages/30-wifi.qml:166
670msgid "No available Wi-Fi networks"
639msgid "No available Wi-Fi networks"
671msgstr ""
640msgstr ""
672
641
673−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
674−#: qml/Wizard/Pages/sim.qml:101
675−msgid "Skip"
676−msgstr "Прапусціць"
677−
678#: qml/Wizard/Pages/40-location.qml:27
642#: qml/Wizard/Pages/40-location.qml:27
679msgid "Location Services"
643msgid "Location Services"
680msgstr ""
644msgstr ""
@@ -707,11 +671,11 @@ msgstr ""
707msgid "You can change it later in System Settings."
671msgid "You can change it later in System Settings."
708msgstr ""
672msgstr ""
709
673
710−#: qml/Wizard/Pages/50-timezone.qml:29
674+#: qml/Wizard/Pages/50-timezone.qml:30
711msgid "Time Zone"
675msgid "Time Zone"
712msgstr ""
676msgstr ""
713
677
714−#: qml/Wizard/Pages/50-timezone.qml:181
678+#: qml/Wizard/Pages/50-timezone.qml:182
715msgid "Enter your city"
679msgid "Enter your city"
716msgstr ""
680msgstr ""
717
681
@@ -723,21 +687,21 @@ msgstr ""
723msgid "Preferred Name"
687msgid "Preferred Name"
724msgstr ""
688msgstr ""
725
689
726−#: qml/Wizard/Pages/70-passwd-type.qml:39
690+#: qml/Wizard/Pages/70-passwd-type.qml:40
727msgid "Lock Screen"
691msgid "Lock Screen"
728msgstr ""
692msgstr ""
729
693
730−#: qml/Wizard/Pages/70-passwd-type.qml:101
694+#: qml/Wizard/Pages/70-passwd-type.qml:102
731msgctxt "Label: Type of security method"
695msgctxt "Label: Type of security method"
732msgid "Create new password"
696msgid "Create new password"
733msgstr ""
697msgstr ""
734
698
735−#: qml/Wizard/Pages/70-passwd-type.qml:103
699+#: qml/Wizard/Pages/70-passwd-type.qml:104
736msgctxt "Label: Type of security method"
700msgctxt "Label: Type of security method"
737msgid "Create passcode (numbers only)"
701msgid "Create passcode (numbers only)"
738msgstr ""
702msgstr ""
739
703
740−#: qml/Wizard/Pages/70-passwd-type.qml:105
704+#: qml/Wizard/Pages/70-passwd-type.qml:106
741msgctxt "Label: Type of security method"
705msgctxt "Label: Type of security method"
742msgid "No lock code"
706msgid "No lock code"
743msgstr ""
707msgstr ""
@@ -758,6 +722,35 @@ msgstr ""
758msgid "Privacy policy"
722msgid "Privacy policy"
759msgstr ""
723msgstr ""
760
724
725+#: qml/Wizard/Pages/77-system-update.qml:28
726+msgid "Update Device"
727+msgstr ""
728+
729+#: qml/Wizard/Pages/77-system-update.qml:55
730+msgid ""
731+"There is a system update available and ready to install. Afterwards, the "
732+"device will automatically restart."
733+msgstr ""
734+
735+#: qml/Wizard/Pages/77-system-update.qml:76
736+msgctxt "string identifying name of the update"
737+msgid "Ubuntu system"
738+msgstr ""
739+
740+#: qml/Wizard/Pages/77-system-update.qml:83
741+#, qt-format
742+msgctxt "version of the system update"
743+msgid "Version %1"
744+msgstr ""
745+
746+#: qml/Wizard/Pages/77-system-update.qml:102
747+msgid "This could take a few minutes..."
748+msgstr ""
749+
750+#: qml/Wizard/Pages/77-system-update.qml:116
751+msgid "Install and restart now"
752+msgstr ""
753+
761#: qml/Wizard/Pages/80-finished.qml:89
754#: qml/Wizard/Pages/80-finished.qml:89
762msgid "Welcome to Ubuntu"
755msgid "Welcome to Ubuntu"
763msgstr ""
756msgstr ""
@@ -801,7 +794,7 @@ msgid "Service Terms"
801msgstr ""
794msgstr ""
802
795
803#: qml/Wizard/Pages/passcode-confirm.qml:43
796#: qml/Wizard/Pages/passcode-confirm.qml:43
804−#: qml/Wizard/Pages/passcode-desktop.qml:96
797+#: qml/Wizard/Pages/passcode-desktop.qml:97
805msgid "Confirm passcode"
798msgid "Confirm passcode"
806msgstr "Пацвердзіце код-пароль"
799msgstr "Пацвердзіце код-пароль"
807
800
@@ -814,28 +807,28 @@ msgctxt "Enter the passcode again"
814msgid "Please re-enter."
807msgid "Please re-enter."
815msgstr ""
808msgstr ""
816
809
817−#: qml/Wizard/Pages/passcode-desktop.qml:30
810+#: qml/Wizard/Pages/passcode-desktop.qml:31
818msgid "Lock Screen Passcode"
811msgid "Lock Screen Passcode"
819msgstr ""
812msgstr ""
820
813
821−#: qml/Wizard/Pages/passcode-desktop.qml:60
814+#: qml/Wizard/Pages/passcode-desktop.qml:61
822msgid "Enter 4 numbers to setup your passcode"
815msgid "Enter 4 numbers to setup your passcode"
823msgstr ""
816msgstr ""
824
817
825−#: qml/Wizard/Pages/passcode-desktop.qml:76
818+#: qml/Wizard/Pages/passcode-desktop.qml:77
826#: qml/Wizard/Pages/passcode-set.qml:54
819#: qml/Wizard/Pages/passcode-set.qml:54
827msgid "Choose passcode"
820msgid "Choose passcode"
828msgstr ""
821msgstr ""
829
822
830−#: qml/Wizard/Pages/passcode-desktop.qml:126
823+#: qml/Wizard/Pages/passcode-desktop.qml:127
831msgid "Passcode too short"
824msgid "Passcode too short"
832msgstr ""
825msgstr ""
833
826
834−#: qml/Wizard/Pages/passcode-desktop.qml:128
827+#: qml/Wizard/Pages/passcode-desktop.qml:129
835msgid "Passcodes match"
828msgid "Passcodes match"
836msgstr ""
829msgstr ""
837
830
838−#: qml/Wizard/Pages/passcode-desktop.qml:130
831+#: qml/Wizard/Pages/passcode-desktop.qml:131
839msgid "Passcodes do not match"
832msgid "Passcodes do not match"
840msgstr ""
833msgstr ""
841
834
@@ -843,19 +836,19 @@ msgstr ""
843msgid "Passcode must be 4 characters long"
836msgid "Passcode must be 4 characters long"
844msgstr ""
837msgstr ""
845
838
846−#: qml/Wizard/Pages/password-set.qml:30
839+#: qml/Wizard/Pages/password-set.qml:31
847msgid "Lock Screen Password"
840msgid "Lock Screen Password"
848msgstr ""
841msgstr ""
849
842
850−#: qml/Wizard/Pages/password-set.qml:61
843+#: qml/Wizard/Pages/password-set.qml:62
851msgid "Enter at least 8 characters"
844msgid "Enter at least 8 characters"
852msgstr ""
845msgstr ""
853
846
854−#: qml/Wizard/Pages/password-set.qml:73
847+#: qml/Wizard/Pages/password-set.qml:74
855msgid "Choose password"
848msgid "Choose password"
856msgstr ""
849msgstr ""
857
850
858−#: qml/Wizard/Pages/password-set.qml:103
851+#: qml/Wizard/Pages/password-set.qml:104
859msgid "Confirm password"
852msgid "Confirm password"
860msgstr ""
853msgstr ""
861
854
@@ -953,6 +946,20 @@ msgstr ""
953#~ msgid "Type or say a command"
946#~ msgid "Type or say a command"
954#~ msgstr "Напішыце або вымавіце каманду"
947#~ msgstr "Напішыце або вымавіце каманду"
955
948
949+#, qt-format
950+#~ msgid "Enter %1"
951+#~ msgstr "Увядзіце %1"
952+
953+#, qt-format
954+#~ msgid "Sorry, incorrect %1"
955+#~ msgstr "Даруйце, некарэктны %1"
956+
957+#~ msgid "Enter passcode"
958+#~ msgstr "Увядзіце код"
959+
960+#~ msgid "This will be your last attempt."
961+#~ msgstr "Апошняя спроба."
962+
956#~ msgid "Log out"
963#~ msgid "Log out"
957#~ msgstr "Выйсці"
964#~ msgstr "Выйсці"
958
965
@@ -1088,6 +1095,12 @@ msgstr ""
1088#~ "Вы толькі што асвоілі асноўная жэсты і можаце пачаць выкарыстоўваць "
1095#~ "Вы толькі што асвоілі асноўная жэсты і можаце пачаць выкарыстоўваць "
1089#~ "тэлефон<br><br>Дакраніцеся да экрана, каб пачаць"
1096#~ "тэлефон<br><br>Дакраніцеся да экрана, каб пачаць"
1090
1097
1098+#~ msgid "Enter passphrase"
1099+#~ msgstr "Увядзіце пароль"
1100+
1101+#~ msgid "Sorry, incorrect passcode."
1102+#~ msgstr "Даруйце, няслушны код."
1103+
1091#~ msgid "Please re-enter"
1104#~ msgid "Please re-enter"
1092#~ msgstr "Калі ласка, паўтарыце ўвод"
1105#~ msgstr "Калі ласка, паўтарыце ўвод"
1093
1106
@@ -1181,6 +1194,9 @@ msgstr ""
1181#~ msgid "Numbers and letters"
1194#~ msgid "Numbers and letters"
1182#~ msgstr "Літары і лічбы"
1195#~ msgstr "Літары і лічбы"
1183
1196
1197+#~ msgid "Sorry, incorrect passphrase."
1198+#~ msgstr "Даруйце, няслушны пароль."
1199+
1184#~ msgid "Without it, you won’t be able to make calls or use text messaging."
1200#~ msgid "Without it, you won’t be able to make calls or use text messaging."
1185#~ msgstr "Без яе Вы не зможаце тэлефанаваць ці адпраўляць паведамленні."
1201#~ msgstr "Без яе Вы не зможаце тэлефанаваць ці адпраўляць паведамленні."
1186
1202
@@ -1221,5 +1237,29 @@ msgstr ""
1221#~ msgid "%H:%M"
1237#~ msgid "%H:%M"
1222#~ msgstr "%H:%M"
1238#~ msgstr "%H:%M"
1223
1239
1240+#~ msgctxt "passphrase"
1241+#~ msgid "Please re-enter"
1242+#~ msgstr "Калі ласка, паўтарыце ўвод"
1243+
1224#~ msgid "Call back"
1244#~ msgid "Call back"
1225#~ msgstr "Зваротны выклік"
1245#~ msgstr "Зваротны выклік"
1246+
1247+#~ msgid "Sorry, incorrect passphrase"
1248+#~ msgstr "Даруйце, някарэктны пароль"
1249+
1250+#~ msgid "Sorry, incorrect passcode"
1251+#~ msgstr "Даруйце, некарэктны код"
1252+
1253+#~ msgid ""
1254+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
1255+#~ "and all personal data will be deleted."
1256+#~ msgstr ""
1257+#~ "Калі ўведзены код неправільны, Ваш тэлефон зробіць агульны скід налад і ўсе "
1258+#~ "асабістыя дадзеныя будуць выдалены."
1259+
1260+#~ msgid ""
1261+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1262+#~ "reset and all personal data will be deleted."
1263+#~ msgstr ""
1264+#~ "Калі ўведзены пароль неправільны, Ваш тэлефон зробіць агульны скід налад і "
1265+#~ "ўсе асабістыя дадзеныя будуць выдалены."
po/bg.po+162−165
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -15,93 +15,75 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr ""
23msgstr ""
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr ""
28msgstr ""
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr ""
36msgstr ""
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr ""
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−
46−#: qml/Components/DelayedLockscreen.qml:66
47−msgid "You have been locked out due to too many failed passcode attempts."
48−msgstr ""
49−
50−#: qml/Components/DelayedLockscreen.qml:75
51−#, qt-format
52−msgid "Please wait %1 minute and then try again…"
53−msgid_plural "Please wait %1 minutes and then try again…"
54−msgstr[0] ""
55−msgstr[1] ""
56−
57−#: qml/Components/Dialogs.qml:144
58msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
40msgid "Log out"
60msgstr ""
41msgstr ""
61
42
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
63msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
64msgstr ""
45msgstr ""
65
46
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
67msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
68msgid "Lock"
49msgid "Lock"
69msgstr ""
50msgstr ""
70
51
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
72msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
73msgid "Log Out"
54msgid "Log Out"
74msgstr ""
55msgstr ""
75
56
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
61msgid "Cancel"
80msgstr ""
62msgstr ""
81
63
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
83msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
84msgid "Reboot"
66msgid "Reboot"
85msgstr ""
67msgstr ""
86
68
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
88msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
89msgstr ""
71msgstr ""
90
72
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
92msgid "No"
74msgid "No"
93msgstr ""
75msgstr ""
94
76
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
96msgid "Yes"
78msgid "Yes"
97msgstr ""
79msgstr ""
98
80
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
100msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
83msgid "Power"
102msgstr ""
84msgstr ""
103
85
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
105msgid ""
87msgid ""
106"Are you sure you would like\n"
88"Are you sure you would like\n"
107"to power off?"
89"to power off?"
@@ -109,12 +91,12 @@ msgstr ""
109"Искате ли да \n"
91"Искате ли да \n"
110"изключите захранването на устройството?"
92"изключите захранването на устройството?"
111
93
112−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
113msgctxt "Button: Power off the system"
95msgctxt "Button: Power off the system"
114msgid "Power off"
96msgid "Power off"
115msgstr ""
97msgstr ""
116
98
117−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
118msgctxt "Button: Restart the system"
100msgctxt "Button: Restart the system"
119msgid "Restart"
101msgid "Restart"
120msgstr ""
102msgstr ""
@@ -279,15 +261,15 @@ msgstr ""
279msgid "Closes the current window."
261msgid "Closes the current window."
280msgstr ""
262msgstr ""
281
263
282−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
283msgid "Return to Call"
265msgid "Return to Call"
284msgstr ""
266msgstr ""
285
267
286−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
287msgid "Emergency Call"
269msgid "Emergency Call"
288msgstr "Спешно повикване"
270msgstr "Спешно повикване"
289
271
290−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
291msgid "OK"
273msgid "OK"
292msgstr ""
274msgstr ""
293
275
@@ -331,84 +313,84 @@ msgstr ""
331msgid "Preview Share Item"
313msgid "Preview Share Item"
332msgstr ""
314msgstr ""
333
315
334−#: qml/Dash/DashPageHeader.qml:333
316+#: qml/Dash/DashPageHeader.qml:361
335msgctxt "Button: Open the Ubuntu Store"
317msgctxt "Button: Open the Ubuntu Store"
336msgid "Store"
318msgid "Store"
337msgstr ""
319msgstr ""
338
320
339−#: qml/Dash/DashPageHeader.qml:340
321+#: qml/Dash/DashPageHeader.qml:368
340msgctxt "Button: Start a search in the current dash scope"
322msgctxt "Button: Start a search in the current dash scope"
341msgid "Search"
323msgid "Search"
342msgstr ""
324msgstr ""
343
325
344−#: qml/Dash/DashPageHeader.qml:350
326+#: qml/Dash/DashPageHeader.qml:378
345msgctxt "Button: Show the current dash scope settings"
327msgctxt "Button: Show the current dash scope settings"
346msgid "Settings"
328msgid "Settings"
347msgstr ""
329msgstr ""
348
330
349−#: qml/Dash/DashPageHeader.qml:357
331+#: qml/Dash/DashPageHeader.qml:385
350msgid "Remove from Favorites"
332msgid "Remove from Favorites"
351msgstr ""
333msgstr ""
352
334
353−#: qml/Dash/DashPageHeader.qml:357
335+#: qml/Dash/DashPageHeader.qml:385
354msgid "Add to Favorites"
336msgid "Add to Favorites"
355msgstr ""
337msgstr ""
356
338
357−#: qml/Dash/FiltersPopover.qml:60
339+#: qml/Dash/FiltersPopover.qml:61
358msgid "Refine your results"
340msgid "Refine your results"
359msgstr ""
341msgstr ""
360
342
361−#: qml/Dash/FiltersPopover.qml:69
343+#: qml/Dash/FiltersPopover.qml:70
362msgid "Reset"
344msgid "Reset"
363msgstr ""
345msgstr ""
364
346
365−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
347+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
366msgid "Show less"
348msgid "Show less"
367msgstr ""
349msgstr ""
368
350
369−#: qml/Dash/GenericScopeView.qml:580
351+#: qml/Dash/GenericScopeView.qml:547
370msgid "Show all"
352msgid "Show all"
371msgstr ""
353msgstr ""
372
354
373−#: qml/Dash/GenericScopeView.qml:637
355+#: qml/Dash/GenericScopeView.qml:578
374msgctxt "Label: Hint for dash search line edit"
356msgctxt "Label: Hint for dash search line edit"
375msgid "Search"
357msgid "Search"
376msgstr ""
358msgstr ""
377
359
378−#: qml/Dash/PageHeaderExtraPanel.qml:56
360+#: qml/Dash/PageHeaderExtraPanel.qml:67
379msgid "Recent Searches"
361msgid "Recent Searches"
380msgstr ""
362msgstr ""
381
363
382−#: qml/Dash/PageHeaderExtraPanel.qml:67
364+#: qml/Dash/PageHeaderExtraPanel.qml:78
383msgid "Clear All"
365msgid "Clear All"
384msgstr ""
366msgstr ""
385
367
386−#: qml/Dash/Previews/PreviewActionCombo.qml:35
368+#: qml/Dash/Previews/PreviewActionCombo.qml:36
387msgid "More..."
369msgid "More..."
388msgstr ""
370msgstr ""
389
371
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
372+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391msgid "Less..."
373msgid "Less..."
392msgstr "По-малко..."
374msgstr "По-малко..."
393
375
394−#: qml/Dash/Previews/PreviewCommentInput.qml:68
376+#: qml/Dash/Previews/PreviewCommentInput.qml:83
395−#: qml/Dash/Previews/PreviewRatingInput.qml:175
377+#: qml/Dash/Previews/PreviewRatingInput.qml:202
396msgid "Send"
378msgid "Send"
397msgstr "Изпрати"
379msgstr "Изпрати"
398
380
399−#: qml/Dash/Previews/PreviewRatingInput.qml:82
381+#: qml/Dash/Previews/PreviewRatingInput.qml:109
400msgid "Rate this"
382msgid "Rate this"
401msgstr "Оценете това"
383msgstr "Оценете това"
402
384
403−#: qml/Dash/Previews/PreviewRatingInput.qml:157
385+#: qml/Dash/Previews/PreviewRatingInput.qml:184
404msgid "Add a review"
386msgid "Add a review"
405msgstr "Добави отзив"
387msgstr "Добави отзив"
406
388
407−#: qml/Dash/PullToRefreshScopeStyle.qml:55
389+#: qml/Dash/PullToRefreshScopeStyle.qml:56
408msgid "Pull to refresh…"
390msgid "Pull to refresh…"
409msgstr ""
391msgstr ""
410
392
411−#: qml/Dash/PullToRefreshScopeStyle.qml:60
393+#: qml/Dash/PullToRefreshScopeStyle.qml:61
412msgid "Release to refresh…"
394msgid "Release to refresh…"
413msgstr ""
395msgstr ""
414
396
@@ -416,15 +398,15 @@ msgstr ""
416msgid "Enable location data"
398msgid "Enable location data"
417msgstr ""
399msgstr ""
418
400
419−#: qml/Dash/ScopesList.qml:55
401+#: qml/Dash/ScopesList.qml:57
420msgid "Manage"
402msgid "Manage"
421msgstr ""
403msgstr ""
422
404
423−#: qml/Dash/ScopesList.qml:102
405+#: qml/Dash/ScopesList.qml:104
424msgid "Home"
406msgid "Home"
425msgstr ""
407msgstr ""
426
408
427−#: qml/Dash/ScopesList.qml:103
409+#: qml/Dash/ScopesList.qml:105
428msgid "Also installed"
410msgid "Also installed"
429msgstr ""
411msgstr ""
430
412
@@ -438,79 +420,51 @@ msgstr ""
438msgid "Unlock"
420msgid "Unlock"
439msgstr ""
421msgstr ""
440
422
441−#: qml/Greeter/Greeter.qml:555
423+#: qml/Greeter/DelayedLockscreen.qml:43
442−msgid "Try again"
424+msgid "Device Locked"
443−msgstr ""
444−
445−#: qml/Greeter/LoginList.qml:63
446−msgid "Passphrase"
447−msgstr ""
448−
449−#: qml/Greeter/LoginList.qml:64
450−msgid "Passcode"
451−msgstr ""
452−
453−#: qml/Greeter/LoginList.qml:87
454−msgid "Retry"
455−msgstr ""
456−
457−#: qml/Greeter/LoginList.qml:88
458−msgid "Log In"
459−msgstr ""
460−
461−#: qml/Greeter/NarrowView.qml:55
462−msgid "Sorry, incorrect passphrase."
463−msgstr ""
464−
465−#: qml/Greeter/NarrowView.qml:56
466−msgid "Sorry, incorrect passcode."
467−msgstr ""
468−
469−#: qml/Greeter/NarrowView.qml:57
470−msgid "This will be your last attempt."
471msgstr ""
425msgstr ""
472
426
473−#: qml/Greeter/NarrowView.qml:59
427+#: qml/Greeter/DelayedLockscreen.qml:58
474−msgid ""
428+msgid "You have been locked out due to too many failed passphrase attempts."
475−"If passphrase is entered incorrectly, your phone will conduct a factory "
476−"reset and all personal data will be deleted."
477msgstr ""
429msgstr ""
478
430
479−#: qml/Greeter/NarrowView.qml:60
431+#: qml/Greeter/DelayedLockscreen.qml:59
480−msgid ""
432+msgid "You have been locked out due to too many failed passcode attempts."
481−"If passcode is entered incorrectly, your phone will conduct a factory reset "
482−"and all personal data will be deleted."
483msgstr ""
433msgstr ""
484
434
485−#: qml/Greeter/NarrowView.qml:129
435+#: qml/Greeter/DelayedLockscreen.qml:68
486#, qt-format
436#, qt-format
487−msgid "Enter %1"
437+msgid "Please wait %1 minute and then try again…"
438+msgid_plural "Please wait %1 minutes and then try again…"
439+msgstr[0] ""
440+msgstr[1] ""
441+
442+#: qml/Greeter/Greeter.qml:596
443+msgid "Try again"
488msgstr ""
444msgstr ""
489
445
490−#: qml/Greeter/NarrowView.qml:130
446+#: qml/Greeter/LoginList.qml:70
491−msgid "Enter passphrase"
447+msgid "Passphrase"
492msgstr ""
448msgstr ""
493
449
494−#: qml/Greeter/NarrowView.qml:131
450+#: qml/Greeter/LoginList.qml:71
495−msgid "Enter passcode"
451+msgid "Passcode"
496msgstr ""
452msgstr ""
497
453
498−#: qml/Greeter/NarrowView.qml:135
454+#: qml/Greeter/LoginList.qml:98
499−#, qt-format
455+msgid "Retry"
500−msgid "Sorry, incorrect %1"
501msgstr ""
456msgstr ""
502
457
503−#: qml/Greeter/NarrowView.qml:136
458+#: qml/Greeter/LoginList.qml:99
504−msgid "Sorry, incorrect passphrase"
459+msgid "Log In"
505msgstr ""
460msgstr ""
506
461
507−#: qml/Greeter/NarrowView.qml:137
462+#: qml/Greeter/NarrowView.qml:252
508−msgctxt "passphrase"
463+msgid "Emergency"
509−msgid "Please re-enter"
510msgstr ""
464msgstr ""
511
465
512−#: qml/Greeter/NarrowView.qml:138
466+#: qml/Greeter/SessionsList.qml:122
513−msgid "Sorry, incorrect passcode"
467+msgid "Select desktop environment"
514msgstr ""
468msgstr ""
515
469
516#: qml/Notifications/NotificationMenuItemFactory.qml:124
470#: qml/Notifications/NotificationMenuItemFactory.qml:124
@@ -525,62 +479,62 @@ msgstr ""
525msgid "Conference"
479msgid "Conference"
526msgstr ""
480msgstr ""
527
481
528−#: qml/Panel/Indicators/MenuItemFactory.qml:762
482+#: qml/Panel/Indicators/MenuItemFactory.qml:847
529msgid "Nothing is playing"
483msgid "Nothing is playing"
530msgstr ""
484msgstr ""
531
485
532−#: qml/Panel/Indicators/MenuItemFactory.qml:891
486+#: qml/Panel/Indicators/MenuItemFactory.qml:975
533#, qt-format
487#, qt-format
534msgid "%1 hour"
488msgid "%1 hour"
535msgid_plural "%1 hours"
489msgid_plural "%1 hours"
536msgstr[0] ""
490msgstr[0] ""
537msgstr[1] ""
491msgstr[1] ""
538
492
539−#: qml/Panel/Indicators/MenuItemFactory.qml:895
493+#: qml/Panel/Indicators/MenuItemFactory.qml:979
540#, qt-format
494#, qt-format
541msgid "%1 minute"
495msgid "%1 minute"
542msgid_plural "%1 minutes"
496msgid_plural "%1 minutes"
543msgstr[0] ""
497msgstr[0] ""
544msgstr[1] ""
498msgstr[1] ""
545
499
546−#: qml/Panel/Indicators/MenuItemFactory.qml:900
500+#: qml/Panel/Indicators/MenuItemFactory.qml:984
547#, qt-format
501#, qt-format
548msgid "%1 second"
502msgid "%1 second"
549msgid_plural "%1 seconds"
503msgid_plural "%1 seconds"
550msgstr[0] ""
504msgstr[0] ""
551msgstr[1] ""
505msgstr[1] ""
552
506
553−#: qml/Panel/Indicators/MenuItemFactory.qml:903
507+#: qml/Panel/Indicators/MenuItemFactory.qml:987
554msgid "0 seconds"
508msgid "0 seconds"
555msgstr ""
509msgstr ""
556
510
557#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
511#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
558−#: qml/Panel/Indicators/MenuItemFactory.qml:905
512+#: qml/Panel/Indicators/MenuItemFactory.qml:989
559#, qt-format
513#, qt-format
560msgid "%1 remaining"
514msgid "%1 remaining"
561msgstr ""
515msgstr ""
562
516
563−#: qml/Panel/Indicators/MenuItemFactory.qml:911
517+#: qml/Panel/Indicators/MenuItemFactory.qml:995
564msgid "In queue…"
518msgid "In queue…"
565msgstr ""
519msgstr ""
566
520
567−#: qml/Panel/Indicators/MenuItemFactory.qml:915
521+#: qml/Panel/Indicators/MenuItemFactory.qml:999
568msgid "Downloading"
522msgid "Downloading"
569msgstr ""
523msgstr ""
570
524
571−#: qml/Panel/Indicators/MenuItemFactory.qml:917
525+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
572msgid "Paused, tap to resume"
526msgid "Paused, tap to resume"
573msgstr ""
527msgstr ""
574
528
575−#: qml/Panel/Indicators/MenuItemFactory.qml:919
529+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
576msgid "Canceled"
530msgid "Canceled"
577msgstr ""
531msgstr ""
578
532
579−#: qml/Panel/Indicators/MenuItemFactory.qml:921
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
580msgid "Finished"
534msgid "Finished"
581msgstr ""
535msgstr ""
582
536
583−#: qml/Panel/Indicators/MenuItemFactory.qml:923
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
584msgid "Failed, tap to retry"
538msgid "Failed, tap to retry"
585msgstr ""
539msgstr ""
586
540
@@ -600,7 +554,7 @@ msgctxt "Button: Call back on phone"
600msgid "Call back"
554msgid "Call back"
601msgstr ""
555msgstr ""
602
556
603−#: qml/Stages/SideStage.qml:76
557+#: qml/Stage/SideStage.qml:76
604msgid "Drag using 3 fingers any application from one window to the other"
558msgid "Drag using 3 fingers any application from one window to the other"
605msgstr ""
559msgstr ""
606
560
@@ -629,40 +583,54 @@ msgctxt "Button: Go back one page in the Wizard"
629msgid "Back"
583msgid "Back"
630msgstr ""
584msgstr ""
631
585
632−#: qml/Wizard/Pages/10-welcome.qml:27
586+#: qml/Wizard/Pages/10-welcome.qml:28
633msgid "Language"
587msgid "Language"
634msgstr ""
588msgstr ""
635
589
636−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
590+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
637−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
591+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
592+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
638−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
593+#: qml/Wizard/Pages/70-passwd-type.qml:145
639#: qml/Wizard/Pages/75-report-check.qml:84
594#: qml/Wizard/Pages/75-report-check.qml:84
640−#: qml/Wizard/Pages/passcode-desktop.qml:141
595+#: qml/Wizard/Pages/passcode-desktop.qml:142
641−#: qml/Wizard/Pages/password-set.qml:141
596+#: qml/Wizard/Pages/password-set.qml:142
642msgid "Next"
597msgid "Next"
643msgstr ""
598msgstr ""
644
599
645−#: qml/Wizard/Pages/30-wifi.qml:29
600+#: qml/Wizard/Pages/20-keyboard.qml:31
601+msgid "Select Keyboard"
602+msgstr ""
603+
604+#: qml/Wizard/Pages/20-keyboard.qml:71
605+msgid "Keyboard language"
606+msgstr ""
607+
608+#: qml/Wizard/Pages/20-keyboard.qml:93
609+msgid "Keyboard layout"
610+msgstr ""
611+
612+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
613+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
614+#: qml/Wizard/Pages/sim.qml:101
615+msgid "Skip"
616+msgstr ""
617+
618+#: qml/Wizard/Pages/30-wifi.qml:31
646msgid "Connect to Wi‑Fi"
619msgid "Connect to Wi‑Fi"
647msgstr ""
620msgstr ""
648
621
649−#: qml/Wizard/Pages/30-wifi.qml:130
622+#: qml/Wizard/Pages/30-wifi.qml:132
650msgid "Connected"
623msgid "Connected"
651msgstr ""
624msgstr ""
652
625
653−#: qml/Wizard/Pages/30-wifi.qml:163
626+#: qml/Wizard/Pages/30-wifi.qml:165
654msgid "Available Wi-Fi networks"
627msgid "Available Wi-Fi networks"
655msgstr ""
628msgstr ""
656
629
657−#: qml/Wizard/Pages/30-wifi.qml:164
630+#: qml/Wizard/Pages/30-wifi.qml:166
658msgid "No available Wi-Fi networks"
631msgid "No available Wi-Fi networks"
659msgstr ""
632msgstr ""
660
633
661−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
662−#: qml/Wizard/Pages/sim.qml:101
663−msgid "Skip"
664−msgstr ""
665−
666#: qml/Wizard/Pages/40-location.qml:27
634#: qml/Wizard/Pages/40-location.qml:27
667msgid "Location Services"
635msgid "Location Services"
668msgstr ""
636msgstr ""
@@ -695,11 +663,11 @@ msgstr ""
695msgid "You can change it later in System Settings."
663msgid "You can change it later in System Settings."
696msgstr ""
664msgstr ""
697
665
698−#: qml/Wizard/Pages/50-timezone.qml:29
666+#: qml/Wizard/Pages/50-timezone.qml:30
699msgid "Time Zone"
667msgid "Time Zone"
700msgstr ""
668msgstr ""
701
669
702−#: qml/Wizard/Pages/50-timezone.qml:181
670+#: qml/Wizard/Pages/50-timezone.qml:182
703msgid "Enter your city"
671msgid "Enter your city"
704msgstr ""
672msgstr ""
705
673
@@ -711,21 +679,21 @@ msgstr ""
711msgid "Preferred Name"
679msgid "Preferred Name"
712msgstr ""
680msgstr ""
713
681
714−#: qml/Wizard/Pages/70-passwd-type.qml:39
682+#: qml/Wizard/Pages/70-passwd-type.qml:40
715msgid "Lock Screen"
683msgid "Lock Screen"
716msgstr ""
684msgstr ""
717
685
718−#: qml/Wizard/Pages/70-passwd-type.qml:101
686+#: qml/Wizard/Pages/70-passwd-type.qml:102
719msgctxt "Label: Type of security method"
687msgctxt "Label: Type of security method"
720msgid "Create new password"
688msgid "Create new password"
721msgstr ""
689msgstr ""
722
690
723−#: qml/Wizard/Pages/70-passwd-type.qml:103
691+#: qml/Wizard/Pages/70-passwd-type.qml:104
724msgctxt "Label: Type of security method"
692msgctxt "Label: Type of security method"
725msgid "Create passcode (numbers only)"
693msgid "Create passcode (numbers only)"
726msgstr ""
694msgstr ""
727
695
728−#: qml/Wizard/Pages/70-passwd-type.qml:105
696+#: qml/Wizard/Pages/70-passwd-type.qml:106
729msgctxt "Label: Type of security method"
697msgctxt "Label: Type of security method"
730msgid "No lock code"
698msgid "No lock code"
731msgstr ""
699msgstr ""
@@ -746,6 +714,35 @@ msgstr ""
746msgid "Privacy policy"
714msgid "Privacy policy"
747msgstr ""
715msgstr ""
748
716
717+#: qml/Wizard/Pages/77-system-update.qml:28
718+msgid "Update Device"
719+msgstr ""
720+
721+#: qml/Wizard/Pages/77-system-update.qml:55
722+msgid ""
723+"There is a system update available and ready to install. Afterwards, the "
724+"device will automatically restart."
725+msgstr ""
726+
727+#: qml/Wizard/Pages/77-system-update.qml:76
728+msgctxt "string identifying name of the update"
729+msgid "Ubuntu system"
730+msgstr ""
731+
732+#: qml/Wizard/Pages/77-system-update.qml:83
733+#, qt-format
734+msgctxt "version of the system update"
735+msgid "Version %1"
736+msgstr ""
737+
738+#: qml/Wizard/Pages/77-system-update.qml:102
739+msgid "This could take a few minutes..."
740+msgstr ""
741+
742+#: qml/Wizard/Pages/77-system-update.qml:116
743+msgid "Install and restart now"
744+msgstr ""
745+
749#: qml/Wizard/Pages/80-finished.qml:89
746#: qml/Wizard/Pages/80-finished.qml:89
750msgid "Welcome to Ubuntu"
747msgid "Welcome to Ubuntu"
751msgstr ""
748msgstr ""
@@ -789,7 +786,7 @@ msgid "Service Terms"
789msgstr ""
786msgstr ""
790
787
791#: qml/Wizard/Pages/passcode-confirm.qml:43
788#: qml/Wizard/Pages/passcode-confirm.qml:43
792−#: qml/Wizard/Pages/passcode-desktop.qml:96
789+#: qml/Wizard/Pages/passcode-desktop.qml:97
793msgid "Confirm passcode"
790msgid "Confirm passcode"
794msgstr ""
791msgstr ""
795
792
@@ -802,28 +799,28 @@ msgctxt "Enter the passcode again"
802msgid "Please re-enter."
799msgid "Please re-enter."
803msgstr ""
800msgstr ""
804
801
805−#: qml/Wizard/Pages/passcode-desktop.qml:30
802+#: qml/Wizard/Pages/passcode-desktop.qml:31
806msgid "Lock Screen Passcode"
803msgid "Lock Screen Passcode"
807msgstr ""
804msgstr ""
808
805
809−#: qml/Wizard/Pages/passcode-desktop.qml:60
806+#: qml/Wizard/Pages/passcode-desktop.qml:61
810msgid "Enter 4 numbers to setup your passcode"
807msgid "Enter 4 numbers to setup your passcode"
811msgstr ""
808msgstr ""
812
809
813−#: qml/Wizard/Pages/passcode-desktop.qml:76
810+#: qml/Wizard/Pages/passcode-desktop.qml:77
814#: qml/Wizard/Pages/passcode-set.qml:54
811#: qml/Wizard/Pages/passcode-set.qml:54
815msgid "Choose passcode"
812msgid "Choose passcode"
816msgstr ""
813msgstr ""
817
814
818−#: qml/Wizard/Pages/passcode-desktop.qml:126
815+#: qml/Wizard/Pages/passcode-desktop.qml:127
819msgid "Passcode too short"
816msgid "Passcode too short"
820msgstr ""
817msgstr ""
821
818
822−#: qml/Wizard/Pages/passcode-desktop.qml:128
819+#: qml/Wizard/Pages/passcode-desktop.qml:129
823msgid "Passcodes match"
820msgid "Passcodes match"
824msgstr ""
821msgstr ""
825
822
826−#: qml/Wizard/Pages/passcode-desktop.qml:130
823+#: qml/Wizard/Pages/passcode-desktop.qml:131
827msgid "Passcodes do not match"
824msgid "Passcodes do not match"
828msgstr ""
825msgstr ""
829
826
@@ -831,19 +828,19 @@ msgstr ""
831msgid "Passcode must be 4 characters long"
828msgid "Passcode must be 4 characters long"
832msgstr ""
829msgstr ""
833
830
834−#: qml/Wizard/Pages/password-set.qml:30
831+#: qml/Wizard/Pages/password-set.qml:31
835msgid "Lock Screen Password"
832msgid "Lock Screen Password"
836msgstr ""
833msgstr ""
837
834
838−#: qml/Wizard/Pages/password-set.qml:61
835+#: qml/Wizard/Pages/password-set.qml:62
839msgid "Enter at least 8 characters"
836msgid "Enter at least 8 characters"
840msgstr ""
837msgstr ""
841
838
842−#: qml/Wizard/Pages/password-set.qml:73
839+#: qml/Wizard/Pages/password-set.qml:74
843msgid "Choose password"
840msgid "Choose password"
844msgstr ""
841msgstr ""
845
842
846−#: qml/Wizard/Pages/password-set.qml:103
843+#: qml/Wizard/Pages/password-set.qml:104
847msgid "Confirm password"
844msgid "Confirm password"
848msgstr ""
845msgstr ""
849
846
po/bn.po+209−169
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -15,93 +15,75 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr "পাসওয়ার্ড: "
23msgstr "পাসওয়ার্ড: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "পিন"
28msgstr "পিন"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "আনপিন"
36msgstr "আনপিন"
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr "ডিভাইসটি লক করা"
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr "অধিকবার পাসফ্রেজ ভুল দেওয়ার কারনে আপনার আইডি লক করা হয়েছে"
45−
46−#: qml/Components/DelayedLockscreen.qml:66
47−msgid "You have been locked out due to too many failed passcode attempts."
48−msgstr "অধিকবার পাসকোড ভুল করার কারনে আপনার আইডি লক করা হয়েছে"
49−
50−#: qml/Components/DelayedLockscreen.qml:75
51−#, qt-format
52−msgid "Please wait %1 minute and then try again…"
53−msgid_plural "Please wait %1 minutes and then try again…"
54−msgstr[0] "অনুগ্রহ করে %1 মিনিট অপেক্ষা করুন এবং পরবর্তীতে চেষ্টা করুন..."
55−msgstr[1] "অনুগ্রহ করে %1 মিনিট অপেক্ষা করুন এবং পরবর্তীতে চেষ্টা করুন..."
56−
57−#: qml/Components/Dialogs.qml:144
58msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
40msgid "Log out"
60msgstr ""
41msgstr ""
61
42
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
63msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
64msgstr "আপনি কি লগ আউট করতে চান?"
45msgstr "আপনি কি লগ আউট করতে চান?"
65
46
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
67msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
68msgid "Lock"
49msgid "Lock"
69msgstr "লক করুন"
50msgstr "লক করুন"
70
51
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
72msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
73msgid "Log Out"
54msgid "Log Out"
74msgstr ""
55msgstr ""
75
56
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
61msgid "Cancel"
80msgstr "বাতিল"
62msgstr "বাতিল"
81
63
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
83msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
84msgid "Reboot"
66msgid "Reboot"
85msgstr "পুনরায় চালু"
67msgstr "পুনরায় চালু"
86
68
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
88msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
89msgstr "আপনি কি পুনরায় চালু করতে চান?"
71msgstr "আপনি কি পুনরায় চালু করতে চান?"
90
72
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
92msgid "No"
74msgid "No"
93msgstr "না"
75msgstr "না"
94
76
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
96msgid "Yes"
78msgid "Yes"
97msgstr "হ্যাঁ"
79msgstr "হ্যাঁ"
98
80
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
100msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
83msgid "Power"
102msgstr ""
84msgstr ""
103
85
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
105msgid ""
87msgid ""
106"Are you sure you would like\n"
88"Are you sure you would like\n"
107"to power off?"
89"to power off?"
@@ -109,12 +91,12 @@ msgstr ""
109"আপনি নিশ্চিত যে আপনি\n"
91"আপনি নিশ্চিত যে আপনি\n"
110"বন্ধ করতে চান?"
92"বন্ধ করতে চান?"
111
93
112−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
113msgctxt "Button: Power off the system"
95msgctxt "Button: Power off the system"
114msgid "Power off"
96msgid "Power off"
115msgstr "বন্ধ করুন"
97msgstr "বন্ধ করুন"
116
98
117−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
118msgctxt "Button: Restart the system"
100msgctxt "Button: Restart the system"
119msgid "Restart"
101msgid "Restart"
120msgstr "পুনরায় চালু"
102msgstr "পুনরায় চালু"
@@ -279,15 +261,15 @@ msgstr ""
279msgid "Closes the current window."
261msgid "Closes the current window."
280msgstr ""
262msgstr ""
281
263
282−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
283msgid "Return to Call"
265msgid "Return to Call"
284msgstr "কল এ ফিরে যান"
266msgstr "কল এ ফিরে যান"
285
267
286−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
287msgid "Emergency Call"
269msgid "Emergency Call"
288msgstr "জরুরী কল"
270msgstr "জরুরী কল"
289
271
290−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
291msgid "OK"
273msgid "OK"
292msgstr "ঠিক আছে"
274msgstr "ঠিক আছে"
293
275
@@ -331,84 +313,84 @@ msgstr ""
331msgid "Preview Share Item"
313msgid "Preview Share Item"
332msgstr ""
314msgstr ""
333
315
334−#: qml/Dash/DashPageHeader.qml:333
316+#: qml/Dash/DashPageHeader.qml:361
335msgctxt "Button: Open the Ubuntu Store"
317msgctxt "Button: Open the Ubuntu Store"
336msgid "Store"
318msgid "Store"
337msgstr "স্টোর"
319msgstr "স্টোর"
338
320
339−#: qml/Dash/DashPageHeader.qml:340
321+#: qml/Dash/DashPageHeader.qml:368
340msgctxt "Button: Start a search in the current dash scope"
322msgctxt "Button: Start a search in the current dash scope"
341msgid "Search"
323msgid "Search"
342msgstr "খুঁজুন"
324msgstr "খুঁজুন"
343
325
344−#: qml/Dash/DashPageHeader.qml:350
326+#: qml/Dash/DashPageHeader.qml:378
345msgctxt "Button: Show the current dash scope settings"
327msgctxt "Button: Show the current dash scope settings"
346msgid "Settings"
328msgid "Settings"
347msgstr "সেটিংস"
329msgstr "সেটিংস"
348
330
349−#: qml/Dash/DashPageHeader.qml:357
331+#: qml/Dash/DashPageHeader.qml:385
350msgid "Remove from Favorites"
332msgid "Remove from Favorites"
351msgstr "পছন্দ থেকে মুছে ফেলুন"
333msgstr "পছন্দ থেকে মুছে ফেলুন"
352
334
353−#: qml/Dash/DashPageHeader.qml:357
335+#: qml/Dash/DashPageHeader.qml:385
354msgid "Add to Favorites"
336msgid "Add to Favorites"
355msgstr "পছন্দতে যোগ করুন"
337msgstr "পছন্দতে যোগ করুন"
356
338
357−#: qml/Dash/FiltersPopover.qml:60
339+#: qml/Dash/FiltersPopover.qml:61
358msgid "Refine your results"
340msgid "Refine your results"
359msgstr ""
341msgstr ""
360
342
361−#: qml/Dash/FiltersPopover.qml:69
343+#: qml/Dash/FiltersPopover.qml:70
362msgid "Reset"
344msgid "Reset"
363msgstr ""
345msgstr ""
364
346
365−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
347+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
366msgid "Show less"
348msgid "Show less"
367msgstr ""
349msgstr ""
368
350
369−#: qml/Dash/GenericScopeView.qml:580
351+#: qml/Dash/GenericScopeView.qml:547
370msgid "Show all"
352msgid "Show all"
371msgstr ""
353msgstr ""
372
354
373−#: qml/Dash/GenericScopeView.qml:637
355+#: qml/Dash/GenericScopeView.qml:578
374msgctxt "Label: Hint for dash search line edit"
356msgctxt "Label: Hint for dash search line edit"
375msgid "Search"
357msgid "Search"
376msgstr "খুঁজুন"
358msgstr "খুঁজুন"
377
359
378−#: qml/Dash/PageHeaderExtraPanel.qml:56
360+#: qml/Dash/PageHeaderExtraPanel.qml:67
379msgid "Recent Searches"
361msgid "Recent Searches"
380msgstr ""
362msgstr ""
381
363
382−#: qml/Dash/PageHeaderExtraPanel.qml:67
364+#: qml/Dash/PageHeaderExtraPanel.qml:78
383msgid "Clear All"
365msgid "Clear All"
384msgstr ""
366msgstr ""
385
367
386−#: qml/Dash/Previews/PreviewActionCombo.qml:35
368+#: qml/Dash/Previews/PreviewActionCombo.qml:36
387msgid "More..."
369msgid "More..."
388msgstr "আরো..."
370msgstr "আরো..."
389
371
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
372+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391msgid "Less..."
373msgid "Less..."
392msgstr "কম..."
374msgstr "কম..."
393
375
394−#: qml/Dash/Previews/PreviewCommentInput.qml:68
376+#: qml/Dash/Previews/PreviewCommentInput.qml:83
395−#: qml/Dash/Previews/PreviewRatingInput.qml:175
377+#: qml/Dash/Previews/PreviewRatingInput.qml:202
396msgid "Send"
378msgid "Send"
397msgstr "পাঠান"
379msgstr "পাঠান"
398
380
399−#: qml/Dash/Previews/PreviewRatingInput.qml:82
381+#: qml/Dash/Previews/PreviewRatingInput.qml:109
400msgid "Rate this"
382msgid "Rate this"
401msgstr "রেটিং দিন"
383msgstr "রেটিং দিন"
402
384
403−#: qml/Dash/Previews/PreviewRatingInput.qml:157
385+#: qml/Dash/Previews/PreviewRatingInput.qml:184
404msgid "Add a review"
386msgid "Add a review"
405msgstr "আপনার মতামত দিন"
387msgstr "আপনার মতামত দিন"
406
388
407−#: qml/Dash/PullToRefreshScopeStyle.qml:55
389+#: qml/Dash/PullToRefreshScopeStyle.qml:56
408msgid "Pull to refresh…"
390msgid "Pull to refresh…"
409msgstr "রিফ্রেশ করার জন্য টানুন"
391msgstr "রিফ্রেশ করার জন্য টানুন"
410
392
411−#: qml/Dash/PullToRefreshScopeStyle.qml:60
393+#: qml/Dash/PullToRefreshScopeStyle.qml:61
412msgid "Release to refresh…"
394msgid "Release to refresh…"
413msgstr "রিফ্রেশ করার জন্য ছেড়ে দিন"
395msgstr "রিফ্রেশ করার জন্য ছেড়ে দিন"
414
396
@@ -416,15 +398,15 @@ msgstr "রিফ্রেশ করার জন্য ছেড়ে দিন"
416msgid "Enable location data"
398msgid "Enable location data"
417msgstr "অবস্থান নির্ণয় চালু করুন"
399msgstr "অবস্থান নির্ণয় চালু করুন"
418
400
419−#: qml/Dash/ScopesList.qml:55
401+#: qml/Dash/ScopesList.qml:57
420msgid "Manage"
402msgid "Manage"
421msgstr "ব্যবস্থাপনা"
403msgstr "ব্যবস্থাপনা"
422
404
423−#: qml/Dash/ScopesList.qml:102
405+#: qml/Dash/ScopesList.qml:104
424msgid "Home"
406msgid "Home"
425msgstr ""
407msgstr ""
426
408
427−#: qml/Dash/ScopesList.qml:103
409+#: qml/Dash/ScopesList.qml:105
428msgid "Also installed"
410msgid "Also installed"
429msgstr "আরও ইন্সটল করা রয়েছে..."
411msgstr "আরও ইন্সটল করা রয়েছে..."
430
412
@@ -438,81 +420,52 @@ msgstr ""
438msgid "Unlock"
420msgid "Unlock"
439msgstr "লক খুলুন"
421msgstr "লক খুলুন"
440
422
441−#: qml/Greeter/Greeter.qml:555
423+#: qml/Greeter/DelayedLockscreen.qml:43
424+msgid "Device Locked"
425+msgstr "ডিভাইসটি লক করা"
426+
427+#: qml/Greeter/DelayedLockscreen.qml:58
428+msgid "You have been locked out due to too many failed passphrase attempts."
429+msgstr "অধিকবার পাসফ্রেজ ভুল দেওয়ার কারনে আপনার আইডি লক করা হয়েছে"
430+
431+#: qml/Greeter/DelayedLockscreen.qml:59
432+msgid "You have been locked out due to too many failed passcode attempts."
433+msgstr "অধিকবার পাসকোড ভুল করার কারনে আপনার আইডি লক করা হয়েছে"
434+
435+#: qml/Greeter/DelayedLockscreen.qml:68
436+#, qt-format
437+msgid "Please wait %1 minute and then try again…"
438+msgid_plural "Please wait %1 minutes and then try again…"
439+msgstr[0] "অনুগ্রহ করে %1 মিনিট অপেক্ষা করুন এবং পরবর্তীতে চেষ্টা করুন..."
440+msgstr[1] "অনুগ্রহ করে %1 মিনিট অপেক্ষা করুন এবং পরবর্তীতে চেষ্টা করুন..."
441+
442+#: qml/Greeter/Greeter.qml:596
442msgid "Try again"
443msgid "Try again"
443msgstr ""
444msgstr ""
444
445
445−#: qml/Greeter/LoginList.qml:63
446+#: qml/Greeter/LoginList.qml:70
446msgid "Passphrase"
447msgid "Passphrase"
447msgstr ""
448msgstr ""
448
449
449−#: qml/Greeter/LoginList.qml:64
450+#: qml/Greeter/LoginList.qml:71
450msgid "Passcode"
451msgid "Passcode"
451msgstr ""
452msgstr ""
452
453
453−#: qml/Greeter/LoginList.qml:87
454+#: qml/Greeter/LoginList.qml:98
454msgid "Retry"
455msgid "Retry"
455msgstr ""
456msgstr ""
456
457
457−#: qml/Greeter/LoginList.qml:88
458+#: qml/Greeter/LoginList.qml:99
458msgid "Log In"
459msgid "Log In"
459msgstr ""
460msgstr ""
460
461
461−#: qml/Greeter/NarrowView.qml:55
462+#: qml/Greeter/NarrowView.qml:252
462−msgid "Sorry, incorrect passphrase."
463+msgid "Emergency"
463−msgstr "দুঃখিত, পাসওয়ার্ডটি ভুল হয়েছে।"
464−
465−#: qml/Greeter/NarrowView.qml:56
466−msgid "Sorry, incorrect passcode."
467−msgstr "দুঃখিত, পাসকোডটি ভুল হয়েছে।"
468−
469−#: qml/Greeter/NarrowView.qml:57
470−msgid "This will be your last attempt."
471−msgstr "এটিই আপনার সর্বশেষ সুযোগ।"
472−
473−#: qml/Greeter/NarrowView.qml:59
474−msgid ""
475−"If passphrase is entered incorrectly, your phone will conduct a factory "
476−"reset and all personal data will be deleted."
477msgstr ""
464msgstr ""
478−"ভুল পাসওয়ার্ড প্রদান করলে, আপনার ফোনটিতে থাকা সকল ব্যক্তিগত তথ্য মুছে যাবে।"
479−
480−#: qml/Greeter/NarrowView.qml:60
481−msgid ""
482−"If passcode is entered incorrectly, your phone will conduct a factory reset "
483−"and all personal data will be deleted."
484−msgstr "ভুল পাসকোড প্রদান করলে, আপনার ফোনটির সকল ব্যক্তিগত তথ্য মুছে যাবে।"
485−
486−#: qml/Greeter/NarrowView.qml:129
487−#, qt-format
488−msgid "Enter %1"
489−msgstr "%1 লিখুন"
490−
491−#: qml/Greeter/NarrowView.qml:130
492−msgid "Enter passphrase"
493−msgstr "পাসওয়ার্ড লিখুন"
494−
495−#: qml/Greeter/NarrowView.qml:131
496−msgid "Enter passcode"
497−msgstr "পাসকোড লিখুন"
498−
499−#: qml/Greeter/NarrowView.qml:135
500−#, qt-format
501−msgid "Sorry, incorrect %1"
502−msgstr "দুঃখিত, %1 ভুল হয়েছে"
503−
504−#: qml/Greeter/NarrowView.qml:136
505−msgid "Sorry, incorrect passphrase"
506−msgstr "দুঃখিত, পাসওয়ার্ড ভুল হয়েছে"
507−
508−#: qml/Greeter/NarrowView.qml:137
509−msgctxt "passphrase"
510−msgid "Please re-enter"
511−msgstr "অনুগ্রহ করে আবার লিখুন"
512
465
513−#: qml/Greeter/NarrowView.qml:138
466+#: qml/Greeter/SessionsList.qml:122
514−msgid "Sorry, incorrect passcode"
467+msgid "Select desktop environment"
515−msgstr "দুঃখিত, পাসকোড ভুল হয়েছে"
468+msgstr ""
516
469
517#: qml/Notifications/NotificationMenuItemFactory.qml:124
470#: qml/Notifications/NotificationMenuItemFactory.qml:124
518msgid "Show password"
471msgid "Show password"
@@ -526,62 +479,62 @@ msgstr "কলে ফিরে যেতে চাপ দিন..."
526msgid "Conference"
479msgid "Conference"
527msgstr "কনফারেন্স"
480msgstr "কনফারেন্স"
528
481
529−#: qml/Panel/Indicators/MenuItemFactory.qml:762
482+#: qml/Panel/Indicators/MenuItemFactory.qml:847
530msgid "Nothing is playing"
483msgid "Nothing is playing"
531msgstr "কোন কিছু বাজছে না।"
484msgstr "কোন কিছু বাজছে না।"
532
485
533−#: qml/Panel/Indicators/MenuItemFactory.qml:891
486+#: qml/Panel/Indicators/MenuItemFactory.qml:975
534#, qt-format
487#, qt-format
535msgid "%1 hour"
488msgid "%1 hour"
536msgid_plural "%1 hours"
489msgid_plural "%1 hours"
537msgstr[0] "%1 ঘণ্টা"
490msgstr[0] "%1 ঘণ্টা"
538msgstr[1] "%1 ঘণ্টা"
491msgstr[1] "%1 ঘণ্টা"
539
492
540−#: qml/Panel/Indicators/MenuItemFactory.qml:895
493+#: qml/Panel/Indicators/MenuItemFactory.qml:979
541#, qt-format
494#, qt-format
542msgid "%1 minute"
495msgid "%1 minute"
543msgid_plural "%1 minutes"
496msgid_plural "%1 minutes"
544msgstr[0] "%1 মিনিট"
497msgstr[0] "%1 মিনিট"
545msgstr[1] "%1 মিনিট"
498msgstr[1] "%1 মিনিট"
546
499
547−#: qml/Panel/Indicators/MenuItemFactory.qml:900
500+#: qml/Panel/Indicators/MenuItemFactory.qml:984
548#, qt-format
501#, qt-format
549msgid "%1 second"
502msgid "%1 second"
550msgid_plural "%1 seconds"
503msgid_plural "%1 seconds"
551msgstr[0] "%1 সেকেন্ড"
504msgstr[0] "%1 সেকেন্ড"
552msgstr[1] "%1 সেকেন্ড"
505msgstr[1] "%1 সেকেন্ড"
553
506
554−#: qml/Panel/Indicators/MenuItemFactory.qml:903
507+#: qml/Panel/Indicators/MenuItemFactory.qml:987
555msgid "0 seconds"
508msgid "0 seconds"
556msgstr "0 সেকেন্ড"
509msgstr "0 সেকেন্ড"
557
510
558#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
511#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
559−#: qml/Panel/Indicators/MenuItemFactory.qml:905
512+#: qml/Panel/Indicators/MenuItemFactory.qml:989
560#, qt-format
513#, qt-format
561msgid "%1 remaining"
514msgid "%1 remaining"
562msgstr "%1 বাকি"
515msgstr "%1 বাকি"
563
516
564−#: qml/Panel/Indicators/MenuItemFactory.qml:911
517+#: qml/Panel/Indicators/MenuItemFactory.qml:995
565msgid "In queue…"
518msgid "In queue…"
566msgstr "অপেক্ষায় রয়েছে..."
519msgstr "অপেক্ষায় রয়েছে..."
567
520
568−#: qml/Panel/Indicators/MenuItemFactory.qml:915
521+#: qml/Panel/Indicators/MenuItemFactory.qml:999
569msgid "Downloading"
522msgid "Downloading"
570msgstr "ডাউনলোড হচ্ছে"
523msgstr "ডাউনলোড হচ্ছে"
571
524
572−#: qml/Panel/Indicators/MenuItemFactory.qml:917
525+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
573msgid "Paused, tap to resume"
526msgid "Paused, tap to resume"
574msgstr "থামানো, শুরু করতে চাপ দিন"
527msgstr "থামানো, শুরু করতে চাপ দিন"
575
528
576−#: qml/Panel/Indicators/MenuItemFactory.qml:919
529+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
577msgid "Canceled"
530msgid "Canceled"
578msgstr "বাতিল হয়েছে"
531msgstr "বাতিল হয়েছে"
579
532
580−#: qml/Panel/Indicators/MenuItemFactory.qml:921
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
581msgid "Finished"
534msgid "Finished"
582msgstr "শেষ"
535msgstr "শেষ"
583
536
584−#: qml/Panel/Indicators/MenuItemFactory.qml:923
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
585msgid "Failed, tap to retry"
538msgid "Failed, tap to retry"
586msgstr "ব্যার্থ হয়েছে, পুনরায় চেষ্টা করতে চাপ দিন"
539msgstr "ব্যার্থ হয়েছে, পুনরায় চেষ্টা করতে চাপ দিন"
587
540
@@ -601,7 +554,7 @@ msgctxt "Button: Call back on phone"
601msgid "Call back"
554msgid "Call back"
602msgstr "কল ব্যাক"
555msgstr "কল ব্যাক"
603
556
604−#: qml/Stages/SideStage.qml:76
557+#: qml/Stage/SideStage.qml:76
605msgid "Drag using 3 fingers any application from one window to the other"
558msgid "Drag using 3 fingers any application from one window to the other"
606msgstr ""
559msgstr ""
607
560
@@ -630,40 +583,54 @@ msgctxt "Button: Go back one page in the Wizard"
630msgid "Back"
583msgid "Back"
631msgstr ""
584msgstr ""
632
585
633−#: qml/Wizard/Pages/10-welcome.qml:27
586+#: qml/Wizard/Pages/10-welcome.qml:28
634msgid "Language"
587msgid "Language"
635msgstr ""
588msgstr ""
636
589
637−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
590+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
638−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
591+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
592+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
639−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
593+#: qml/Wizard/Pages/70-passwd-type.qml:145
640#: qml/Wizard/Pages/75-report-check.qml:84
594#: qml/Wizard/Pages/75-report-check.qml:84
641−#: qml/Wizard/Pages/passcode-desktop.qml:141
595+#: qml/Wizard/Pages/passcode-desktop.qml:142
642−#: qml/Wizard/Pages/password-set.qml:141
596+#: qml/Wizard/Pages/password-set.qml:142
643msgid "Next"
597msgid "Next"
644msgstr ""
598msgstr ""
645
599
646−#: qml/Wizard/Pages/30-wifi.qml:29
600+#: qml/Wizard/Pages/20-keyboard.qml:31
601+msgid "Select Keyboard"
602+msgstr ""
603+
604+#: qml/Wizard/Pages/20-keyboard.qml:71
605+msgid "Keyboard language"
606+msgstr ""
607+
608+#: qml/Wizard/Pages/20-keyboard.qml:93
609+msgid "Keyboard layout"
610+msgstr ""
611+
612+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
613+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
614+#: qml/Wizard/Pages/sim.qml:101
615+msgid "Skip"
616+msgstr "এড়িয়ে যান"
617+
618+#: qml/Wizard/Pages/30-wifi.qml:31
647msgid "Connect to Wi‑Fi"
619msgid "Connect to Wi‑Fi"
648msgstr ""
620msgstr ""
649
621
650−#: qml/Wizard/Pages/30-wifi.qml:130
622+#: qml/Wizard/Pages/30-wifi.qml:132
651msgid "Connected"
623msgid "Connected"
652msgstr ""
624msgstr ""
653
625
654−#: qml/Wizard/Pages/30-wifi.qml:163
626+#: qml/Wizard/Pages/30-wifi.qml:165
655msgid "Available Wi-Fi networks"
627msgid "Available Wi-Fi networks"
656msgstr ""
628msgstr ""
657
629
658−#: qml/Wizard/Pages/30-wifi.qml:164
630+#: qml/Wizard/Pages/30-wifi.qml:166
659msgid "No available Wi-Fi networks"
631msgid "No available Wi-Fi networks"
660msgstr ""
632msgstr ""
661
633
662−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
663−#: qml/Wizard/Pages/sim.qml:101
664−msgid "Skip"
665−msgstr "এড়িয়ে যান"
666−
667#: qml/Wizard/Pages/40-location.qml:27
634#: qml/Wizard/Pages/40-location.qml:27
668msgid "Location Services"
635msgid "Location Services"
669msgstr ""
636msgstr ""
@@ -696,11 +663,11 @@ msgstr ""
696msgid "You can change it later in System Settings."
663msgid "You can change it later in System Settings."
697msgstr ""
664msgstr ""
698
665
699−#: qml/Wizard/Pages/50-timezone.qml:29
666+#: qml/Wizard/Pages/50-timezone.qml:30
700msgid "Time Zone"
667msgid "Time Zone"
701msgstr ""
668msgstr ""
702
669
703−#: qml/Wizard/Pages/50-timezone.qml:181
670+#: qml/Wizard/Pages/50-timezone.qml:182
704msgid "Enter your city"
671msgid "Enter your city"
705msgstr ""
672msgstr ""
706
673
@@ -712,21 +679,21 @@ msgstr ""
712msgid "Preferred Name"
679msgid "Preferred Name"
713msgstr ""
680msgstr ""
714
681
715−#: qml/Wizard/Pages/70-passwd-type.qml:39
682+#: qml/Wizard/Pages/70-passwd-type.qml:40
716msgid "Lock Screen"
683msgid "Lock Screen"
717msgstr ""
684msgstr ""
718
685
719−#: qml/Wizard/Pages/70-passwd-type.qml:101
686+#: qml/Wizard/Pages/70-passwd-type.qml:102
720msgctxt "Label: Type of security method"
687msgctxt "Label: Type of security method"
721msgid "Create new password"
688msgid "Create new password"
722msgstr ""
689msgstr ""
723
690
724−#: qml/Wizard/Pages/70-passwd-type.qml:103
691+#: qml/Wizard/Pages/70-passwd-type.qml:104
725msgctxt "Label: Type of security method"
692msgctxt "Label: Type of security method"
726msgid "Create passcode (numbers only)"
693msgid "Create passcode (numbers only)"
727msgstr ""
694msgstr ""
728
695
729−#: qml/Wizard/Pages/70-passwd-type.qml:105
696+#: qml/Wizard/Pages/70-passwd-type.qml:106
730msgctxt "Label: Type of security method"
697msgctxt "Label: Type of security method"
731msgid "No lock code"
698msgid "No lock code"
732msgstr ""
699msgstr ""
@@ -747,6 +714,35 @@ msgstr ""
747msgid "Privacy policy"
714msgid "Privacy policy"
748msgstr ""
715msgstr ""
749
716
717+#: qml/Wizard/Pages/77-system-update.qml:28
718+msgid "Update Device"
719+msgstr ""
720+
721+#: qml/Wizard/Pages/77-system-update.qml:55
722+msgid ""
723+"There is a system update available and ready to install. Afterwards, the "
724+"device will automatically restart."
725+msgstr ""
726+
727+#: qml/Wizard/Pages/77-system-update.qml:76
728+msgctxt "string identifying name of the update"
729+msgid "Ubuntu system"
730+msgstr ""
731+
732+#: qml/Wizard/Pages/77-system-update.qml:83
733+#, qt-format
734+msgctxt "version of the system update"
735+msgid "Version %1"
736+msgstr ""
737+
738+#: qml/Wizard/Pages/77-system-update.qml:102
739+msgid "This could take a few minutes..."
740+msgstr ""
741+
742+#: qml/Wizard/Pages/77-system-update.qml:116
743+msgid "Install and restart now"
744+msgstr ""
745+
750#: qml/Wizard/Pages/80-finished.qml:89
746#: qml/Wizard/Pages/80-finished.qml:89
751msgid "Welcome to Ubuntu"
747msgid "Welcome to Ubuntu"
752msgstr ""
748msgstr ""
@@ -790,7 +786,7 @@ msgid "Service Terms"
790msgstr ""
786msgstr ""
791
787
792#: qml/Wizard/Pages/passcode-confirm.qml:43
788#: qml/Wizard/Pages/passcode-confirm.qml:43
793−#: qml/Wizard/Pages/passcode-desktop.qml:96
789+#: qml/Wizard/Pages/passcode-desktop.qml:97
794msgid "Confirm passcode"
790msgid "Confirm passcode"
795msgstr ""
791msgstr ""
796
792
@@ -803,28 +799,28 @@ msgctxt "Enter the passcode again"
803msgid "Please re-enter."
799msgid "Please re-enter."
804msgstr ""
800msgstr ""
805
801
806−#: qml/Wizard/Pages/passcode-desktop.qml:30
802+#: qml/Wizard/Pages/passcode-desktop.qml:31
807msgid "Lock Screen Passcode"
803msgid "Lock Screen Passcode"
808msgstr ""
804msgstr ""
809
805
810−#: qml/Wizard/Pages/passcode-desktop.qml:60
806+#: qml/Wizard/Pages/passcode-desktop.qml:61
811msgid "Enter 4 numbers to setup your passcode"
807msgid "Enter 4 numbers to setup your passcode"
812msgstr ""
808msgstr ""
813
809
814−#: qml/Wizard/Pages/passcode-desktop.qml:76
810+#: qml/Wizard/Pages/passcode-desktop.qml:77
815#: qml/Wizard/Pages/passcode-set.qml:54
811#: qml/Wizard/Pages/passcode-set.qml:54
816msgid "Choose passcode"
812msgid "Choose passcode"
817msgstr ""
813msgstr ""
818
814
819−#: qml/Wizard/Pages/passcode-desktop.qml:126
815+#: qml/Wizard/Pages/passcode-desktop.qml:127
820msgid "Passcode too short"
816msgid "Passcode too short"
821msgstr ""
817msgstr ""
822
818
823−#: qml/Wizard/Pages/passcode-desktop.qml:128
819+#: qml/Wizard/Pages/passcode-desktop.qml:129
824msgid "Passcodes match"
820msgid "Passcodes match"
825msgstr ""
821msgstr ""
826
822
827−#: qml/Wizard/Pages/passcode-desktop.qml:130
823+#: qml/Wizard/Pages/passcode-desktop.qml:131
828msgid "Passcodes do not match"
824msgid "Passcodes do not match"
829msgstr ""
825msgstr ""
830
826
@@ -832,19 +828,19 @@ msgstr ""
832msgid "Passcode must be 4 characters long"
828msgid "Passcode must be 4 characters long"
833msgstr ""
829msgstr ""
834
830
835−#: qml/Wizard/Pages/password-set.qml:30
831+#: qml/Wizard/Pages/password-set.qml:31
836msgid "Lock Screen Password"
832msgid "Lock Screen Password"
837msgstr ""
833msgstr ""
838
834
839−#: qml/Wizard/Pages/password-set.qml:61
835+#: qml/Wizard/Pages/password-set.qml:62
840msgid "Enter at least 8 characters"
836msgid "Enter at least 8 characters"
841msgstr ""
837msgstr ""
842
838
843−#: qml/Wizard/Pages/password-set.qml:73
839+#: qml/Wizard/Pages/password-set.qml:74
844msgid "Choose password"
840msgid "Choose password"
845msgstr ""
841msgstr ""
846
842
847−#: qml/Wizard/Pages/password-set.qml:103
843+#: qml/Wizard/Pages/password-set.qml:104
848msgid "Confirm password"
844msgid "Confirm password"
849msgstr ""
845msgstr ""
850
846
@@ -910,6 +906,19 @@ msgstr ""
910#~ msgid "See less"
906#~ msgid "See less"
911#~ msgstr "কম দেখুন"
907#~ msgstr "কম দেখুন"
912
908
909+#~ msgid "Sorry, incorrect passcode."
910+#~ msgstr "দুঃখিত, পাসকোডটি ভুল হয়েছে।"
911+
912+#~ msgid "This will be your last attempt."
913+#~ msgstr "এটিই আপনার সর্বশেষ সুযোগ।"
914+
915+#, qt-format
916+#~ msgid "Sorry, incorrect %1"
917+#~ msgstr "দুঃখিত, %1 ভুল হয়েছে"
918+
919+#~ msgid "Sorry, incorrect passcode"
920+#~ msgstr "দুঃখিত, পাসকোড ভুল হয়েছে"
921+
913#~ msgid "This action does different things for different apps"
922#~ msgid "This action does different things for different apps"
914#~ msgstr "এই কাজটি বিভিন্ন অ্যাপের জন্য ভিন্ন ভিন্ন ভাবে কাজ করে।"
923#~ msgstr "এই কাজটি বিভিন্ন অ্যাপের জন্য ভিন্ন ভিন্ন ভাবে কাজ করে।"
915
924
@@ -1011,9 +1020,36 @@ msgstr ""
1011#~ msgid "Roaming"
1020#~ msgid "Roaming"
1012#~ msgstr "রোমিং"
1021#~ msgstr "রোমিং"
1013
1022
1023+#~ msgid "Enter passphrase"
1024+#~ msgstr "পাসওয়ার্ড লিখুন"
1025+
1026+#~ msgid "Sorry, incorrect passphrase"
1027+#~ msgstr "দুঃখিত, পাসওয়ার্ড ভুল হয়েছে"
1028+
1029+#, qt-format
1030+#~ msgid "Enter %1"
1031+#~ msgstr "%1 লিখুন"
1032+
1033+#~ msgid "Sorry, incorrect passphrase."
1034+#~ msgstr "দুঃখিত, পাসওয়ার্ডটি ভুল হয়েছে।"
1035+
1014#~ msgid "Please re-enter"
1036#~ msgid "Please re-enter"
1015#~ msgstr "অনুগ্রহ করে আবার লিখুন"
1037#~ msgstr "অনুগ্রহ করে আবার লিখুন"
1016
1038
1039+#~ msgid "Enter passcode"
1040+#~ msgstr "পাসকোড লিখুন"
1041+
1042+#~ msgid ""
1043+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
1044+#~ "and all personal data will be deleted."
1045+#~ msgstr "ভুল পাসকোড প্রদান করলে, আপনার ফোনটির সকল ব্যক্তিগত তথ্য মুছে যাবে।"
1046+
1047+#~ msgid ""
1048+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1049+#~ "reset and all personal data will be deleted."
1050+#~ msgstr ""
1051+#~ "ভুল পাসওয়ার্ড প্রদান করলে, আপনার ফোনটিতে থাকা সকল ব্যক্তিগত তথ্য মুছে যাবে।"
1052+
1017#~ msgctxt "Button: Shut down the system"
1053#~ msgctxt "Button: Shut down the system"
1018#~ msgid "Shut down"
1054#~ msgid "Shut down"
1019#~ msgstr "বন্ধ করুন"
1055#~ msgstr "বন্ধ করুন"
@@ -1025,6 +1061,10 @@ msgstr ""
1025#~ msgid "Tap to unlock"
1061#~ msgid "Tap to unlock"
1026#~ msgstr "লক খোলার জন্য চাপ দিন"
1062#~ msgstr "লক খোলার জন্য চাপ দিন"
1027
1063
1064+#~ msgctxt "passphrase"
1065+#~ msgid "Please re-enter"
1066+#~ msgstr "অনুগ্রহ করে আবার লিখুন"
1067+
1028#~ msgid "Let’s get started."
1068#~ msgid "Let’s get started."
1029#~ msgstr "আসুন শুরু করা যাক।"
1069#~ msgstr "আসুন শুরু করা যাক।"
1030
1070
po/br.po+245−204
@@ -7,105 +7,83 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11−"PO-Revision-Date: 2016-04-27 12:20+0000\n"
11+"PO-Revision-Date: 2016-08-29 11:37+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"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr "Ger-tremen : "
23msgstr "Ger-tremen : "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Spilhennañ ar verradenn"
28msgstr "Spilhennañ ar verradenn"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr "Mont kuit"
32msgstr "Mont kuit"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Dispilhennañ ar verradenn"
36msgstr "Dispilhennañ ar verradenn"
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr "Benveg prennet"
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−"Prennet eo bet ho penveg abalamour da re a daolioù-esae c'hwitet evit merkañ "
46−"ho frazenn-dremen."
47−
48−#: qml/Components/DelayedLockscreen.qml:66
49−msgid "You have been locked out due to too many failed passcode attempts."
50−msgstr ""
51−"Prennet eo bet ho penveg abalamour da re a daolioù-esae evit merkañ ho kod-"
52−"tremen."
53−
54−#: qml/Components/DelayedLockscreen.qml:75
55−#, qt-format
56−msgid "Please wait %1 minute and then try again…"
57−msgid_plural "Please wait %1 minutes and then try again…"
58−msgstr[0] "Gortozit %1 vunutenn, mar plij, hag esaeit en-dro..."
59−msgstr[1] "Gortozit %1 a vunutoù, mar plij, hag esaeit en-dro..."
60−
61−#: qml/Components/Dialogs.qml:144
62msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
40msgid "Log out"
64msgstr "Digevreañ"
41msgstr "Digevreañ"
65
42
66−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
67msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
68msgstr "Ha sur oc'h e fell deoc'h digevreañ ?"
45msgstr "Ha sur oc'h e fell deoc'h digevreañ ?"
69
46
70−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
71msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
72msgid "Lock"
49msgid "Lock"
73msgstr "Prennañ"
50msgstr "Prennañ"
74
51
75−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
76msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
77msgid "Log Out"
54msgid "Log Out"
78msgstr "Digevreañ"
55msgstr "Digevreañ"
79
56
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
61msgid "Cancel"
84msgstr "Nullañ"
62msgstr "Nullañ"
85
63
86−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
87msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
88msgid "Reboot"
66msgid "Reboot"
89msgstr "Adloc'hañ"
67msgstr "Adloc'hañ"
90
68
91−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
92msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
93msgstr "Ha sur oc'h e fell deoc'h adloc'hañ ?"
71msgstr "Ha sur oc'h e fell deoc'h adloc'hañ ?"
94
72
95−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
96msgid "No"
74msgid "No"
97msgstr "N'on ket"
75msgstr "N'on ket"
98
76
99−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
100msgid "Yes"
78msgid "Yes"
101msgstr "Ya"
79msgstr "Ya"
102
80
103−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
104msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
83msgid "Power"
106msgstr "Enaouiñ"
84msgstr "Enaouiñ"
107
85
108−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
109msgid ""
87msgid ""
110"Are you sure you would like\n"
88"Are you sure you would like\n"
111"to power off?"
89"to power off?"
@@ -113,31 +91,31 @@ msgstr ""
113"Ha sur oc'h e fell deoc'h\n"
91"Ha sur oc'h e fell deoc'h\n"
114"troc'hañ an tredan ?"
92"troc'hañ an tredan ?"
115
93
116−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
117msgctxt "Button: Power off the system"
95msgctxt "Button: Power off the system"
118msgid "Power off"
96msgid "Power off"
119msgstr "Lazhañ"
97msgstr "Lazhañ"
120
98
121−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
122msgctxt "Button: Restart the system"
100msgctxt "Button: Restart the system"
123msgid "Restart"
101msgid "Restart"
124msgstr "Adloc'hañ"
102msgstr "Adloc'hañ"
125
103
126#: qml/Components/KeyboardShortcutsOverlay.qml:41
104#: qml/Components/KeyboardShortcutsOverlay.qml:41
127msgid "Keyboard Shortcuts"
105msgid "Keyboard Shortcuts"
128−msgstr ""
106+msgstr "Berradennoù klavier"
129
107
130#: qml/Components/KeyboardShortcutsOverlay.qml:55
108#: qml/Components/KeyboardShortcutsOverlay.qml:55
131msgid "Unity 8"
109msgid "Unity 8"
132−msgstr ""
110+msgstr "Unity 8"
133
111
134#: qml/Components/KeyboardShortcutsOverlay.qml:62
112#: qml/Components/KeyboardShortcutsOverlay.qml:62
135msgid "PrtScr"
113msgid "PrtScr"
136−msgstr ""
114+msgstr "Moulsk"
137
115
138#: qml/Components/KeyboardShortcutsOverlay.qml:67
116#: qml/Components/KeyboardShortcutsOverlay.qml:67
139msgid "Takes a screenshot."
117msgid "Takes a screenshot."
140−msgstr ""
118+msgstr "Tapout ur skeudenn eus ar skramm"
141
119
142#: qml/Components/KeyboardShortcutsOverlay.qml:75
120#: qml/Components/KeyboardShortcutsOverlay.qml:75
143msgid "Alt + PrtScr"
121msgid "Alt + PrtScr"
@@ -145,7 +123,7 @@ msgstr ""
145
123
146#: qml/Components/KeyboardShortcutsOverlay.qml:80
124#: qml/Components/KeyboardShortcutsOverlay.qml:80
147msgid "Takes a screenshot of a window."
125msgid "Takes a screenshot of a window."
148−msgstr ""
126+msgstr "Tapout ur skeudenn eus ur prenestr"
149
127
150#: qml/Components/KeyboardShortcutsOverlay.qml:88
128#: qml/Components/KeyboardShortcutsOverlay.qml:88
151msgid "Super + Space"
129msgid "Super + Space"
@@ -165,7 +143,7 @@ msgstr ""
165
143
166#: qml/Components/KeyboardShortcutsOverlay.qml:118
144#: qml/Components/KeyboardShortcutsOverlay.qml:118
167msgid "Launcher"
145msgid "Launcher"
168−msgstr ""
146+msgstr "Lañser"
169
147
170#: qml/Components/KeyboardShortcutsOverlay.qml:125
148#: qml/Components/KeyboardShortcutsOverlay.qml:125
171msgid "Super (Hold)"
149msgid "Super (Hold)"
@@ -173,11 +151,11 @@ msgstr ""
173
151
174#: qml/Components/KeyboardShortcutsOverlay.qml:130
152#: qml/Components/KeyboardShortcutsOverlay.qml:130
175msgid "Opens the launcher, displays shortcuts."
153msgid "Opens the launcher, displays shortcuts."
176−msgstr ""
154+msgstr "Digeriñ al lañser, diskouez ar berradurioù"
177
155
178#: qml/Components/KeyboardShortcutsOverlay.qml:138
156#: qml/Components/KeyboardShortcutsOverlay.qml:138
179msgid "Alt + F1"
157msgid "Alt + F1"
180−msgstr ""
158+msgstr "Erl + F1"
181
159
182#: qml/Components/KeyboardShortcutsOverlay.qml:143
160#: qml/Components/KeyboardShortcutsOverlay.qml:143
183msgid "Opens launcher keyboard navigation mode."
161msgid "Opens launcher keyboard navigation mode."
@@ -197,11 +175,11 @@ msgstr ""
197
175
198#: qml/Components/KeyboardShortcutsOverlay.qml:169
176#: qml/Components/KeyboardShortcutsOverlay.qml:169
199msgid "Same as clicking on a launcher icon."
177msgid "Same as clicking on a launcher icon."
200−msgstr ""
178+msgstr "Ar memes tra ha klikañ war un arlun lañser"
201
179
202#: qml/Components/KeyboardShortcutsOverlay.qml:181
180#: qml/Components/KeyboardShortcutsOverlay.qml:181
203msgid "Scopes"
181msgid "Scopes"
204−msgstr ""
182+msgstr "Kefluskerioù enklask"
205
183
206#: qml/Components/KeyboardShortcutsOverlay.qml:188
184#: qml/Components/KeyboardShortcutsOverlay.qml:188
207msgid "Super (Tap)"
185msgid "Super (Tap)"
@@ -209,15 +187,15 @@ msgstr ""
209
187
210#: qml/Components/KeyboardShortcutsOverlay.qml:193
188#: qml/Components/KeyboardShortcutsOverlay.qml:193
211msgid "Opens the Scopes home."
189msgid "Opens the Scopes home."
212−msgstr ""
190+msgstr "Digeriñ pajenn degemer ar c'hefluskerioù enklask."
213
191
214#: qml/Components/KeyboardShortcutsOverlay.qml:209
192#: qml/Components/KeyboardShortcutsOverlay.qml:209
215msgid "Switching"
193msgid "Switching"
216−msgstr ""
194+msgstr "Cheñch"
217
195
218#: qml/Components/KeyboardShortcutsOverlay.qml:216
196#: qml/Components/KeyboardShortcutsOverlay.qml:216
219msgid "Alt + Tab"
197msgid "Alt + Tab"
220−msgstr ""
198+msgstr "Erl + Taolenn"
221
199
222#: qml/Components/KeyboardShortcutsOverlay.qml:221
200#: qml/Components/KeyboardShortcutsOverlay.qml:221
223msgid "Switches between applications."
201msgid "Switches between applications."
@@ -241,7 +219,7 @@ msgstr ""
241
219
242#: qml/Components/KeyboardShortcutsOverlay.qml:259
220#: qml/Components/KeyboardShortcutsOverlay.qml:259
243msgid "Windows"
221msgid "Windows"
244−msgstr ""
222+msgstr "Windows"
245
223
246#: qml/Components/KeyboardShortcutsOverlay.qml:266
224#: qml/Components/KeyboardShortcutsOverlay.qml:266
247msgid "Ctrl + Super + D"
225msgid "Ctrl + Super + D"
@@ -249,7 +227,7 @@ msgstr ""
249
227
250#: qml/Components/KeyboardShortcutsOverlay.qml:271
228#: qml/Components/KeyboardShortcutsOverlay.qml:271
251msgid "Minimizes all windows."
229msgid "Minimizes all windows."
252−msgstr ""
230+msgstr "Bihanaat an holl brenestroù."
253
231
254#: qml/Components/KeyboardShortcutsOverlay.qml:279
232#: qml/Components/KeyboardShortcutsOverlay.qml:279
255msgid "Ctrl + Super + Up"
233msgid "Ctrl + Super + Up"
@@ -277,33 +255,33 @@ msgstr ""
277
255
278#: qml/Components/KeyboardShortcutsOverlay.qml:318
256#: qml/Components/KeyboardShortcutsOverlay.qml:318
279msgid "Alt + F4"
257msgid "Alt + F4"
280−msgstr ""
258+msgstr "Erl + F4"
281
259
282#: qml/Components/KeyboardShortcutsOverlay.qml:323
260#: qml/Components/KeyboardShortcutsOverlay.qml:323
283msgid "Closes the current window."
261msgid "Closes the current window."
284msgstr ""
262msgstr ""
285
263
286−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287msgid "Return to Call"
265msgid "Return to Call"
288msgstr "Distreiñ d'ar bellgomzadenn"
266msgstr "Distreiñ d'ar bellgomzadenn"
289
267
290−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
291msgid "Emergency Call"
269msgid "Emergency Call"
292msgstr "Pellgomzadenn vallus"
270msgstr "Pellgomzadenn vallus"
293
271
294−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
295msgid "OK"
273msgid "OK"
296msgstr "Mat eo"
274msgstr "Mat eo"
297
275
298#: qml/Components/MediaServices/VideoPlayerControls.qml:44
276#: qml/Components/MediaServices/VideoPlayerControls.qml:44
299#, qt-format
277#, qt-format
300msgid "%1:%2:%3"
278msgid "%1:%2:%3"
301−msgstr ""
279+msgstr "%1:%2:%3"
302
280
303#: qml/Components/MediaServices/VideoPlayerControls.qml:49
281#: qml/Components/MediaServices/VideoPlayerControls.qml:49
304#, qt-format
282#, qt-format
305msgid "%1:%2"
283msgid "%1:%2"
306−msgstr ""
284+msgstr "%1:%2"
307
285
308#: qml/Components/ModeSwitchWarningDialog.qml:32
286#: qml/Components/ModeSwitchWarningDialog.qml:32
309msgid "Apps may have unsaved data:"
287msgid "Apps may have unsaved data:"
@@ -338,84 +316,84 @@ msgstr "Serriñ pep tra"
338msgid "Preview Share Item"
316msgid "Preview Share Item"
339msgstr "Rakwelet an elfenn lodet"
317msgstr "Rakwelet an elfenn lodet"
340
318
341−#: qml/Dash/DashPageHeader.qml:333
319+#: qml/Dash/DashPageHeader.qml:361
342msgctxt "Button: Open the Ubuntu Store"
320msgctxt "Button: Open the Ubuntu Store"
343msgid "Store"
321msgid "Store"
344msgstr "Stal"
322msgstr "Stal"
345
323
346−#: qml/Dash/DashPageHeader.qml:340
324+#: qml/Dash/DashPageHeader.qml:368
347msgctxt "Button: Start a search in the current dash scope"
325msgctxt "Button: Start a search in the current dash scope"
348msgid "Search"
326msgid "Search"
349msgstr "Klask"
327msgstr "Klask"
350
328
351−#: qml/Dash/DashPageHeader.qml:350
329+#: qml/Dash/DashPageHeader.qml:378
352msgctxt "Button: Show the current dash scope settings"
330msgctxt "Button: Show the current dash scope settings"
353msgid "Settings"
331msgid "Settings"
354msgstr "Arventennoù"
332msgstr "Arventennoù"
355
333
356−#: qml/Dash/DashPageHeader.qml:357
334+#: qml/Dash/DashPageHeader.qml:385
357msgid "Remove from Favorites"
335msgid "Remove from Favorites"
358msgstr "Lemel eus ar sinedoù"
336msgstr "Lemel eus ar sinedoù"
359
337
360−#: qml/Dash/DashPageHeader.qml:357
338+#: qml/Dash/DashPageHeader.qml:385
361msgid "Add to Favorites"
339msgid "Add to Favorites"
362msgstr "Ouzhpennañ d'ar sinedoù"
340msgstr "Ouzhpennañ d'ar sinedoù"
363
341
364−#: qml/Dash/FiltersPopover.qml:60
342+#: qml/Dash/FiltersPopover.qml:61
365msgid "Refine your results"
343msgid "Refine your results"
366msgstr "Purañ ho tisoc'hoù"
344msgstr "Purañ ho tisoc'hoù"
367
345
368−#: qml/Dash/FiltersPopover.qml:69
346+#: qml/Dash/FiltersPopover.qml:70
369msgid "Reset"
347msgid "Reset"
370msgstr "Adderaouekaat"
348msgstr "Adderaouekaat"
371
349
372−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
350+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
373msgid "Show less"
351msgid "Show less"
374−msgstr ""
352+msgstr "Diskouez nebeutoc'h"
375
353
376−#: qml/Dash/GenericScopeView.qml:580
354+#: qml/Dash/GenericScopeView.qml:547
377msgid "Show all"
355msgid "Show all"
378−msgstr ""
356+msgstr "Diskouez pep tra"
379
357
380−#: qml/Dash/GenericScopeView.qml:637
358+#: qml/Dash/GenericScopeView.qml:578
381msgctxt "Label: Hint for dash search line edit"
359msgctxt "Label: Hint for dash search line edit"
382msgid "Search"
360msgid "Search"
383msgstr "Klask"
361msgstr "Klask"
384
362
385−#: qml/Dash/PageHeaderExtraPanel.qml:56
363+#: qml/Dash/PageHeaderExtraPanel.qml:67
386msgid "Recent Searches"
364msgid "Recent Searches"
387msgstr "Enklaskoù graet nevez zo"
365msgstr "Enklaskoù graet nevez zo"
388
366
389−#: qml/Dash/PageHeaderExtraPanel.qml:67
367+#: qml/Dash/PageHeaderExtraPanel.qml:78
390msgid "Clear All"
368msgid "Clear All"
391msgstr "Diverkañ pep tra"
369msgstr "Diverkañ pep tra"
392
370
393−#: qml/Dash/Previews/PreviewActionCombo.qml:35
371+#: qml/Dash/Previews/PreviewActionCombo.qml:36
394msgid "More..."
372msgid "More..."
395msgstr "Muioc'h..."
373msgstr "Muioc'h..."
396
374
397−#: qml/Dash/Previews/PreviewActionCombo.qml:35
375+#: qml/Dash/Previews/PreviewActionCombo.qml:36
398msgid "Less..."
376msgid "Less..."
399msgstr "Nebeutoc'h..."
377msgstr "Nebeutoc'h..."
400
378
401−#: qml/Dash/Previews/PreviewCommentInput.qml:68
379+#: qml/Dash/Previews/PreviewCommentInput.qml:83
402−#: qml/Dash/Previews/PreviewRatingInput.qml:175
380+#: qml/Dash/Previews/PreviewRatingInput.qml:202
403msgid "Send"
381msgid "Send"
404msgstr "Kas"
382msgstr "Kas"
405
383
406−#: qml/Dash/Previews/PreviewRatingInput.qml:82
384+#: qml/Dash/Previews/PreviewRatingInput.qml:109
407msgid "Rate this"
385msgid "Rate this"
408msgstr "Priziit an dra-mañ"
386msgstr "Priziit an dra-mañ"
409
387
410−#: qml/Dash/Previews/PreviewRatingInput.qml:157
388+#: qml/Dash/Previews/PreviewRatingInput.qml:184
411msgid "Add a review"
389msgid "Add a review"
412msgstr "Ouzhpennañ un ali"
390msgstr "Ouzhpennañ un ali"
413
391
414−#: qml/Dash/PullToRefreshScopeStyle.qml:55
392+#: qml/Dash/PullToRefreshScopeStyle.qml:56
415msgid "Pull to refresh…"
393msgid "Pull to refresh…"
416msgstr "Tennañ evit freskaat..."
394msgstr "Tennañ evit freskaat..."
417
395
418−#: qml/Dash/PullToRefreshScopeStyle.qml:60
396+#: qml/Dash/PullToRefreshScopeStyle.qml:61
419msgid "Release to refresh…"
397msgid "Release to refresh…"
420msgstr "Lezel da vont evit freskaat..."
398msgstr "Lezel da vont evit freskaat..."
421
399
@@ -423,15 +401,15 @@ msgstr "Lezel da vont evit freskaat..."
423msgid "Enable location data"
401msgid "Enable location data"
424msgstr "Gweredekaat ar roadennoù lec'hiañ"
402msgstr "Gweredekaat ar roadennoù lec'hiañ"
425
403
426−#: qml/Dash/ScopesList.qml:55
404+#: qml/Dash/ScopesList.qml:57
427msgid "Manage"
405msgid "Manage"
428msgstr "Merañ"
406msgstr "Merañ"
429
407
430−#: qml/Dash/ScopesList.qml:102
408+#: qml/Dash/ScopesList.qml:104
431msgid "Home"
409msgid "Home"
432msgstr "Er gêr"
410msgstr "Er gêr"
433
411
434−#: qml/Dash/ScopesList.qml:103
412+#: qml/Dash/ScopesList.qml:105
435msgid "Also installed"
413msgid "Also installed"
436msgstr "Staliet ivez"
414msgstr "Staliet ivez"
437
415
@@ -445,84 +423,56 @@ msgstr ""
445msgid "Unlock"
423msgid "Unlock"
446msgstr "Dibrennañ"
424msgstr "Dibrennañ"
447
425
448−#: qml/Greeter/Greeter.qml:555
426+#: qml/Greeter/DelayedLockscreen.qml:43
449−msgid "Try again"
427+msgid "Device Locked"
428+msgstr "Benveg prennet"
429+
430+#: qml/Greeter/DelayedLockscreen.qml:58
431+msgid "You have been locked out due to too many failed passphrase attempts."
450msgstr ""
432msgstr ""
433+"Prennet eo bet ho penveg abalamour da re a daolioù-esae c'hwitet evit merkañ "
434+"ho frazenn-dremen."
451
435
452−#: qml/Greeter/LoginList.qml:63
436+#: qml/Greeter/DelayedLockscreen.qml:59
453−msgid "Passphrase"
437+msgid "You have been locked out due to too many failed passcode attempts."
454msgstr ""
438msgstr ""
439+"Prennet eo bet ho penveg abalamour da re a daolioù-esae evit merkañ ho kod-"
440+"tremen."
441+
442+#: qml/Greeter/DelayedLockscreen.qml:68
443+#, qt-format
444+msgid "Please wait %1 minute and then try again…"
445+msgid_plural "Please wait %1 minutes and then try again…"
446+msgstr[0] "Gortozit %1 vunutenn, mar plij, hag esaeit en-dro..."
447+msgstr[1] "Gortozit %1 a vunutoù, mar plij, hag esaeit en-dro..."
448+
449+#: qml/Greeter/Greeter.qml:596
450+msgid "Try again"
451+msgstr "Esaeañ adarre"
452+
453+#: qml/Greeter/LoginList.qml:70
454+msgid "Passphrase"
455+msgstr "Lavarenn-dremen"
455
456
456−#: qml/Greeter/LoginList.qml:64
457+#: qml/Greeter/LoginList.qml:71
457msgid "Passcode"
458msgid "Passcode"
458−msgstr ""
459+msgstr "Kod-tremen"
459
460
460−#: qml/Greeter/LoginList.qml:87
461+#: qml/Greeter/LoginList.qml:98
461msgid "Retry"
462msgid "Retry"
462msgstr "Esaeañ en-dro"
463msgstr "Esaeañ en-dro"
463
464
464−#: qml/Greeter/LoginList.qml:88
465+#: qml/Greeter/LoginList.qml:99
465msgid "Log In"
466msgid "Log In"
466−msgstr ""
467+msgstr "Kevreañ"
467−
468−#: qml/Greeter/NarrowView.qml:55
469−msgid "Sorry, incorrect passphrase."
470−msgstr "Siwazh, frazenn-dremen direizh"
471
468
472−#: qml/Greeter/NarrowView.qml:56
469+#: qml/Greeter/NarrowView.qml:252
473−msgid "Sorry, incorrect passcode."
474−msgstr "Siwazh, kod-tremen direizh"
475−
476−#: qml/Greeter/NarrowView.qml:57
477−msgid "This will be your last attempt."
478−msgstr "Ho taol-esae diwezhañ e vo."
479−
480−#: qml/Greeter/NarrowView.qml:59
481−msgid ""
470+msgid "Emergency"
482−"If passphrase is entered incorrectly, your phone will conduct a factory "
483−"reset and all personal data will be deleted."
484msgstr ""
471msgstr ""
485−"Ma vez ebarzhet ur frazenn-dremen direizh, e vo adderaouekaet ho pellgomzer "
486−"gant arventennoù al labouradeg hag e vo diverket an holl roadennoù personel"
487
472
488−#: qml/Greeter/NarrowView.qml:60
473+#: qml/Greeter/SessionsList.qml:122
489−msgid ""
474+msgid "Select desktop environment"
490−"If passcode is entered incorrectly, your phone will conduct a factory reset "
491−"and all personal data will be deleted."
492msgstr ""
475msgstr ""
493−"Ma vez ebarzhet ur c'hod-tremen direizh, e vo adderaouekaet ho pellgomzer "
494−"gant arventennoù al labouradeg hag e vo diverket an holl roadennoù personel."
495−
496−#: qml/Greeter/NarrowView.qml:129
497−#, qt-format
498−msgid "Enter %1"
499−msgstr "Merkañ %1"
500−
501−#: qml/Greeter/NarrowView.qml:130
502−msgid "Enter passphrase"
503−msgstr "Merkañ ar frazenn-dremen"
504−
505−#: qml/Greeter/NarrowView.qml:131
506−msgid "Enter passcode"
507−msgstr "Merkañ ar c'hod-tremen"
508−
509−#: qml/Greeter/NarrowView.qml:135
510−#, qt-format
511−msgid "Sorry, incorrect %1"
512−msgstr "Siwazh, %1 direizh"
513−
514−#: qml/Greeter/NarrowView.qml:136
515−msgid "Sorry, incorrect passphrase"
516−msgstr "Siwazh, frazenn-dremen direizh"
517−
518−#: qml/Greeter/NarrowView.qml:137
519−msgctxt "passphrase"
520−msgid "Please re-enter"
521−msgstr "Adverkañ, mar plij"
522−
523−#: qml/Greeter/NarrowView.qml:138
524−msgid "Sorry, incorrect passcode"
525−msgstr "Digarezit, kod-tremen direizh"
526
476
527#: qml/Notifications/NotificationMenuItemFactory.qml:124
477#: qml/Notifications/NotificationMenuItemFactory.qml:124
528msgid "Show password"
478msgid "Show password"
@@ -536,62 +486,62 @@ msgstr "Touchit evit distreiñ d'ar bellgomzadenn..."
536msgid "Conference"
486msgid "Conference"
537msgstr "Kendiviz"
487msgstr "Kendiviz"
538
488
539−#: qml/Panel/Indicators/MenuItemFactory.qml:762
489+#: qml/Panel/Indicators/MenuItemFactory.qml:847
540msgid "Nothing is playing"
490msgid "Nothing is playing"
541msgstr "Ne lenner netra bremañ"
491msgstr "Ne lenner netra bremañ"
542
492
543−#: qml/Panel/Indicators/MenuItemFactory.qml:891
493+#: qml/Panel/Indicators/MenuItemFactory.qml:975
544#, qt-format
494#, qt-format
545msgid "%1 hour"
495msgid "%1 hour"
546msgid_plural "%1 hours"
496msgid_plural "%1 hours"
547msgstr[0] "%1 eur"
497msgstr[0] "%1 eur"
548msgstr[1] "%1 eur"
498msgstr[1] "%1 eur"
549
499
550−#: qml/Panel/Indicators/MenuItemFactory.qml:895
500+#: qml/Panel/Indicators/MenuItemFactory.qml:979
551#, qt-format
501#, qt-format
552msgid "%1 minute"
502msgid "%1 minute"
553msgid_plural "%1 minutes"
503msgid_plural "%1 minutes"
554msgstr[0] "%1 vunutenn"
504msgstr[0] "%1 vunutenn"
555msgstr[1] "%1 vunutenn"
505msgstr[1] "%1 vunutenn"
556
506
557−#: qml/Panel/Indicators/MenuItemFactory.qml:900
507+#: qml/Panel/Indicators/MenuItemFactory.qml:984
558#, qt-format
508#, qt-format
559msgid "%1 second"
509msgid "%1 second"
560msgid_plural "%1 seconds"
510msgid_plural "%1 seconds"
561msgstr[0] "%1 eilenn"
511msgstr[0] "%1 eilenn"
562msgstr[1] "%1 eilenn"
512msgstr[1] "%1 eilenn"
563
513
564−#: qml/Panel/Indicators/MenuItemFactory.qml:903
514+#: qml/Panel/Indicators/MenuItemFactory.qml:987
565msgid "0 seconds"
515msgid "0 seconds"
566msgstr "0 eilenn"
516msgstr "0 eilenn"
567
517
568#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
518#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
569−#: qml/Panel/Indicators/MenuItemFactory.qml:905
519+#: qml/Panel/Indicators/MenuItemFactory.qml:989
570#, qt-format
520#, qt-format
571msgid "%1 remaining"
521msgid "%1 remaining"
572msgstr "%1 o chom"
522msgstr "%1 o chom"
573
523
574−#: qml/Panel/Indicators/MenuItemFactory.qml:911
524+#: qml/Panel/Indicators/MenuItemFactory.qml:995
575msgid "In queue…"
525msgid "In queue…"
576msgstr "El lostennad..."
526msgstr "El lostennad..."
577
527
578−#: qml/Panel/Indicators/MenuItemFactory.qml:915
528+#: qml/Panel/Indicators/MenuItemFactory.qml:999
579msgid "Downloading"
529msgid "Downloading"
580msgstr "O pellgargañ"
530msgstr "O pellgargañ"
581
531
582−#: qml/Panel/Indicators/MenuItemFactory.qml:917
532+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
583msgid "Paused, tap to resume"
533msgid "Paused, tap to resume"
584msgstr "Ehanet, touchit evit adkregiñ"
534msgstr "Ehanet, touchit evit adkregiñ"
585
535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:919
536+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
587msgid "Canceled"
537msgid "Canceled"
588msgstr "Nullet"
538msgstr "Nullet"
589
539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:921
540+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
591msgid "Finished"
541msgid "Finished"
592msgstr "Echu"
542msgstr "Echu"
593
543
594−#: qml/Panel/Indicators/MenuItemFactory.qml:923
544+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
595msgid "Failed, tap to retry"
545msgid "Failed, tap to retry"
596msgstr "C'hwitet, touchit evit adkregiñ"
546msgstr "C'hwitet, touchit evit adkregiñ"
597
547
@@ -611,7 +561,7 @@ msgctxt "Button: Call back on phone"
611msgid "Call back"
561msgid "Call back"
612msgstr "Gervel en-dro"
562msgstr "Gervel en-dro"
613
563
614−#: qml/Stages/SideStage.qml:76
564+#: qml/Stage/SideStage.qml:76
615msgid "Drag using 3 fingers any application from one window to the other"
565msgid "Drag using 3 fingers any application from one window to the other"
616msgstr ""
566msgstr ""
617
567
@@ -626,6 +576,7 @@ msgstr ""
626#: qml/Tutorial/TutorialRight.qml:55
576#: qml/Tutorial/TutorialRight.qml:55
627msgid "Push your mouse against the right edge to view your open apps"
577msgid "Push your mouse against the right edge to view your open apps"
628msgstr ""
578msgstr ""
579+"Dilec'hiit ho logodenn betek ar bord dehoù evit gwelet hoc'h arloadoù digor"
629
580
630#: qml/Tutorial/TutorialRight.qml:56
581#: qml/Tutorial/TutorialRight.qml:56
631msgid "Swipe from the right edge to view your open apps"
582msgid "Swipe from the right edge to view your open apps"
@@ -640,40 +591,54 @@ msgctxt "Button: Go back one page in the Wizard"
640msgid "Back"
591msgid "Back"
641msgstr "Distreiñ"
592msgstr "Distreiñ"
642
593
643−#: qml/Wizard/Pages/10-welcome.qml:27
594+#: qml/Wizard/Pages/10-welcome.qml:28
644msgid "Language"
595msgid "Language"
645msgstr "Yezh"
596msgstr "Yezh"
646
597
647−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
598+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
648−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
599+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
600+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
649−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
601+#: qml/Wizard/Pages/70-passwd-type.qml:145
650#: qml/Wizard/Pages/75-report-check.qml:84
602#: qml/Wizard/Pages/75-report-check.qml:84
651−#: qml/Wizard/Pages/passcode-desktop.qml:141
603+#: qml/Wizard/Pages/passcode-desktop.qml:142
652−#: qml/Wizard/Pages/password-set.qml:141
604+#: qml/Wizard/Pages/password-set.qml:142
653msgid "Next"
605msgid "Next"
654msgstr "War-lerc'h"
606msgstr "War-lerc'h"
655
607
656−#: qml/Wizard/Pages/30-wifi.qml:29
608+#: qml/Wizard/Pages/20-keyboard.qml:31
609+msgid "Select Keyboard"
610+msgstr "Diuzañ ar c'hlavier"
611+
612+#: qml/Wizard/Pages/20-keyboard.qml:71
613+msgid "Keyboard language"
614+msgstr "Yezh ar c'hlavier"
615+
616+#: qml/Wizard/Pages/20-keyboard.qml:93
617+msgid "Keyboard layout"
618+msgstr "Aozadur ar c'hlavier"
619+
620+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
621+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
622+#: qml/Wizard/Pages/sim.qml:101
623+msgid "Skip"
624+msgstr "Tremen hebiou"
625+
626+#: qml/Wizard/Pages/30-wifi.qml:31
657msgid "Connect to Wi‑Fi"
627msgid "Connect to Wi‑Fi"
658msgstr "Kevreañ ouzh ar Wi-Fi"
628msgstr "Kevreañ ouzh ar Wi-Fi"
659
629
660−#: qml/Wizard/Pages/30-wifi.qml:130
630+#: qml/Wizard/Pages/30-wifi.qml:132
661msgid "Connected"
631msgid "Connected"
662msgstr "Kevreet"
632msgstr "Kevreet"
663
633
664−#: qml/Wizard/Pages/30-wifi.qml:163
634+#: qml/Wizard/Pages/30-wifi.qml:165
665msgid "Available Wi-Fi networks"
635msgid "Available Wi-Fi networks"
666msgstr "Rouedadoù Wi-Fi da gaout"
636msgstr "Rouedadoù Wi-Fi da gaout"
667
637
668−#: qml/Wizard/Pages/30-wifi.qml:164
638+#: qml/Wizard/Pages/30-wifi.qml:166
669msgid "No available Wi-Fi networks"
639msgid "No available Wi-Fi networks"
670msgstr "N'eus ket rouedadoù Wi-Fi da gaout"
640msgstr "N'eus ket rouedadoù Wi-Fi da gaout"
671
641
672−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
673−#: qml/Wizard/Pages/sim.qml:101
674−msgid "Skip"
675−msgstr "Tremen hebiou"
676−
677#: qml/Wizard/Pages/40-location.qml:27
642#: qml/Wizard/Pages/40-location.qml:27
678msgid "Location Services"
643msgid "Location Services"
679msgstr "Servijoù lec'hiañ"
644msgstr "Servijoù lec'hiañ"
@@ -704,13 +669,13 @@ msgstr "Arabat implijout ma lec'h"
704
669
705#: qml/Wizard/Pages/40-location.qml:260
670#: qml/Wizard/Pages/40-location.qml:260
706msgid "You can change it later in System Settings."
671msgid "You can change it later in System Settings."
707−msgstr ""
672+msgstr "Gallout a rit cheñch se diwezhatoc'h en arventennoù ar reizhiad."
708
673
709−#: qml/Wizard/Pages/50-timezone.qml:29
674+#: qml/Wizard/Pages/50-timezone.qml:30
710msgid "Time Zone"
675msgid "Time Zone"
711msgstr "Gwerzhid-eur"
676msgstr "Gwerzhid-eur"
712
677
713−#: qml/Wizard/Pages/50-timezone.qml:181
678+#: qml/Wizard/Pages/50-timezone.qml:182
714msgid "Enter your city"
679msgid "Enter your city"
715msgstr "Skrivit ho kêr"
680msgstr "Skrivit ho kêr"
716
681
@@ -722,21 +687,21 @@ msgstr "Personelaat ho penveg"
722msgid "Preferred Name"
687msgid "Preferred Name"
723msgstr ""
688msgstr ""
724
689
725−#: qml/Wizard/Pages/70-passwd-type.qml:39
690+#: qml/Wizard/Pages/70-passwd-type.qml:40
726msgid "Lock Screen"
691msgid "Lock Screen"
727msgstr "Prennañ ar skramm"
692msgstr "Prennañ ar skramm"
728
693
729−#: qml/Wizard/Pages/70-passwd-type.qml:101
694+#: qml/Wizard/Pages/70-passwd-type.qml:102
730msgctxt "Label: Type of security method"
695msgctxt "Label: Type of security method"
731msgid "Create new password"
696msgid "Create new password"
732msgstr "Krouiñ ur ger-tremen nevez"
697msgstr "Krouiñ ur ger-tremen nevez"
733
698
734−#: qml/Wizard/Pages/70-passwd-type.qml:103
699+#: qml/Wizard/Pages/70-passwd-type.qml:104
735msgctxt "Label: Type of security method"
700msgctxt "Label: Type of security method"
736msgid "Create passcode (numbers only)"
701msgid "Create passcode (numbers only)"
737msgstr "Krouiñ ur c'hod (difroù hepken)"
702msgstr "Krouiñ ur c'hod (difroù hepken)"
738
703
739−#: qml/Wizard/Pages/70-passwd-type.qml:105
704+#: qml/Wizard/Pages/70-passwd-type.qml:106
740msgctxt "Label: Type of security method"
705msgctxt "Label: Type of security method"
741msgid "No lock code"
706msgid "No lock code"
742msgstr "N'eus kod prennañ ebet"
707msgstr "N'eus kod prennañ ebet"
@@ -757,6 +722,35 @@ msgstr ""
757msgid "Privacy policy"
722msgid "Privacy policy"
758msgstr "Reolennoù buhez prevez"
723msgstr "Reolennoù buhez prevez"
759
724
725+#: qml/Wizard/Pages/77-system-update.qml:28
726+msgid "Update Device"
727+msgstr "Hizivaat ar benveg"
728+
729+#: qml/Wizard/Pages/77-system-update.qml:55
730+msgid ""
731+"There is a system update available and ready to install. Afterwards, the "
732+"device will automatically restart."
733+msgstr ""
734+
735+#: qml/Wizard/Pages/77-system-update.qml:76
736+msgctxt "string identifying name of the update"
737+msgid "Ubuntu system"
738+msgstr "Reizhiad Ubuntu"
739+
740+#: qml/Wizard/Pages/77-system-update.qml:83
741+#, qt-format
742+msgctxt "version of the system update"
743+msgid "Version %1"
744+msgstr "Stumm %1"
745+
746+#: qml/Wizard/Pages/77-system-update.qml:102
747+msgid "This could take a few minutes..."
748+msgstr "Gallout a ra padout un nebeud munutennoù..."
749+
750+#: qml/Wizard/Pages/77-system-update.qml:116
751+msgid "Install and restart now"
752+msgstr "Staliañ hag adloc'hañ bremañ"
753+
760#: qml/Wizard/Pages/80-finished.qml:89
754#: qml/Wizard/Pages/80-finished.qml:89
761msgid "Welcome to Ubuntu"
755msgid "Welcome to Ubuntu"
762msgstr "Donemat en Ubuntu"
756msgstr "Donemat en Ubuntu"
@@ -800,7 +794,7 @@ msgid "Service Terms"
800msgstr "Divizoù servij"
794msgstr "Divizoù servij"
801
795
802#: qml/Wizard/Pages/passcode-confirm.qml:43
796#: qml/Wizard/Pages/passcode-confirm.qml:43
803−#: qml/Wizard/Pages/passcode-desktop.qml:96
797+#: qml/Wizard/Pages/passcode-desktop.qml:97
804msgid "Confirm passcode"
798msgid "Confirm passcode"
805msgstr "Kadarnaat ar c'hod-tremen"
799msgstr "Kadarnaat ar c'hod-tremen"
806
800
@@ -813,28 +807,28 @@ msgctxt "Enter the passcode again"
813msgid "Please re-enter."
807msgid "Please re-enter."
814msgstr "Skrivit adarre, mar plij."
808msgstr "Skrivit adarre, mar plij."
815
809
816−#: qml/Wizard/Pages/passcode-desktop.qml:30
810+#: qml/Wizard/Pages/passcode-desktop.qml:31
817msgid "Lock Screen Passcode"
811msgid "Lock Screen Passcode"
818msgstr "Kod da brennañ ar skramm"
812msgstr "Kod da brennañ ar skramm"
819
813
820−#: qml/Wizard/Pages/passcode-desktop.qml:60
814+#: qml/Wizard/Pages/passcode-desktop.qml:61
821msgid "Enter 4 numbers to setup your passcode"
815msgid "Enter 4 numbers to setup your passcode"
822msgstr "Skrivit 4 sifr evit lakaat ho kod"
816msgstr "Skrivit 4 sifr evit lakaat ho kod"
823
817
824−#: qml/Wizard/Pages/passcode-desktop.qml:76
818+#: qml/Wizard/Pages/passcode-desktop.qml:77
825#: qml/Wizard/Pages/passcode-set.qml:54
819#: qml/Wizard/Pages/passcode-set.qml:54
826msgid "Choose passcode"
820msgid "Choose passcode"
827msgstr "Choaz ur c'hod"
821msgstr "Choaz ur c'hod"
828
822
829−#: qml/Wizard/Pages/passcode-desktop.qml:126
823+#: qml/Wizard/Pages/passcode-desktop.qml:127
830msgid "Passcode too short"
824msgid "Passcode too short"
831msgstr "Kod re verr"
825msgstr "Kod re verr"
832
826
833−#: qml/Wizard/Pages/passcode-desktop.qml:128
827+#: qml/Wizard/Pages/passcode-desktop.qml:129
834msgid "Passcodes match"
828msgid "Passcodes match"
835msgstr "klotañ a ra ar c'hodoù an eil gant egile"
829msgstr "klotañ a ra ar c'hodoù an eil gant egile"
836
830
837−#: qml/Wizard/Pages/passcode-desktop.qml:130
831+#: qml/Wizard/Pages/passcode-desktop.qml:131
838msgid "Passcodes do not match"
832msgid "Passcodes do not match"
839msgstr "Ne glot ket ar c'hodoù an eil gant egile"
833msgstr "Ne glot ket ar c'hodoù an eil gant egile"
840
834
@@ -842,19 +836,19 @@ msgstr "Ne glot ket ar c'hodoù an eil gant egile"
842msgid "Passcode must be 4 characters long"
836msgid "Passcode must be 4 characters long"
843msgstr "4 arouezenn a rank bezañ ar c'hod"
837msgstr "4 arouezenn a rank bezañ ar c'hod"
844
838
845−#: qml/Wizard/Pages/password-set.qml:30
839+#: qml/Wizard/Pages/password-set.qml:31
846msgid "Lock Screen Password"
840msgid "Lock Screen Password"
847msgstr "Ger-tremen da brennañ ar skramm"
841msgstr "Ger-tremen da brennañ ar skramm"
848
842
849−#: qml/Wizard/Pages/password-set.qml:61
843+#: qml/Wizard/Pages/password-set.qml:62
850msgid "Enter at least 8 characters"
844msgid "Enter at least 8 characters"
851msgstr "Skrivit 8 arouezenn da vihanañ"
845msgstr "Skrivit 8 arouezenn da vihanañ"
852
846
853−#: qml/Wizard/Pages/password-set.qml:73
847+#: qml/Wizard/Pages/password-set.qml:74
854msgid "Choose password"
848msgid "Choose password"
855msgstr "Choaz ur ger-tremen"
849msgstr "Choaz ur ger-tremen"
856
850
857−#: qml/Wizard/Pages/password-set.qml:103
851+#: qml/Wizard/Pages/password-set.qml:104
858msgid "Confirm password"
852msgid "Confirm password"
859msgstr "Kadarnaat ar ger-tremen"
853msgstr "Kadarnaat ar ger-tremen"
860
854
@@ -868,7 +862,7 @@ msgstr "Lakaet ez eus bet ur gartenn SIM"
868
862
869#: qml/Wizard/Pages/sim.qml:55
863#: qml/Wizard/Pages/sim.qml:55
870msgid "You must restart the device to access the mobile network."
864msgid "You must restart the device to access the mobile network."
871−msgstr ""
865+msgstr "Ret eo deoc'h adloc'hañ ar benveg evit mont d'ar rouedad hezoug."
872
866
873#: qml/Wizard/Pages/sim.qml:59
867#: qml/Wizard/Pages/sim.qml:59
874msgid "Restart"
868msgid "Restart"
@@ -876,7 +870,7 @@ msgstr "Adloc'hañ"
876
870
877#: qml/Wizard/Pages/sim.qml:78
871#: qml/Wizard/Pages/sim.qml:78
878msgid "You won’t be able to make calls or use text messaging without a SIM."
872msgid "You won’t be able to make calls or use text messaging without a SIM."
879−msgstr ""
873+msgstr "Ne c'halloc'h ket pellgomz na kas kemennadennoù hep kartenn SIM."
880
874
881#: qml/Wizard/Pages/sim.qml:90
875#: qml/Wizard/Pages/sim.qml:90
882msgid "To proceed with no SIM tap Skip."
876msgid "To proceed with no SIM tap Skip."
@@ -884,7 +878,7 @@ msgstr ""
884
878
885#: qml/Wizard/PasswordMeter.qml:87
879#: qml/Wizard/PasswordMeter.qml:87
886msgid "Password too short"
880msgid "Password too short"
887−msgstr ""
881+msgstr "Re verr eo ar ger-tremen"
888
882
889#: qml/Wizard/PasswordMeter.qml:89
883#: qml/Wizard/PasswordMeter.qml:89
890msgid "Passwords match"
884msgid "Passwords match"
@@ -985,6 +979,9 @@ msgstr "Ger-tremen diasur-kenañ"
985#~ msgid "Done"
979#~ msgid "Done"
986#~ msgstr "Graet eo"
980#~ msgstr "Graet eo"
987
981
982+#~ msgid "Sorry, incorrect passphrase"
983+#~ msgstr "Siwazh, frazenn-dremen direizh"
984+
988#~ msgid "All"
985#~ msgid "All"
989#~ msgstr "An holl anezho"
986#~ msgstr "An holl anezho"
990
987
@@ -997,6 +994,33 @@ msgstr "Ger-tremen diasur-kenañ"
997#~ msgid "Favorites"
994#~ msgid "Favorites"
998#~ msgstr "Gwellañ deuet"
995#~ msgstr "Gwellañ deuet"
999
996
997+#, qt-format
998+#~ msgid "Sorry, incorrect %1"
999+#~ msgstr "Siwazh, %1 direizh"
1000+
1001+#~ msgid "Sorry, incorrect passphrase."
1002+#~ msgstr "Siwazh, frazenn-dremen direizh"
1003+
1004+#~ msgid "Sorry, incorrect passcode."
1005+#~ msgstr "Siwazh, kod-tremen direizh"
1006+
1007+#~ msgid ""
1008+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
1009+#~ "and all personal data will be deleted."
1010+#~ msgstr ""
1011+#~ "Ma vez ebarzhet ur c'hod-tremen direizh, e vo adderaouekaet ho pellgomzer "
1012+#~ "gant arventennoù al labouradeg hag e vo diverket an holl roadennoù personel."
1013+
1014+#~ msgid ""
1015+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1016+#~ "reset and all personal data will be deleted."
1017+#~ msgstr ""
1018+#~ "Ma vez ebarzhet ur frazenn-dremen direizh, e vo adderaouekaet ho pellgomzer "
1019+#~ "gant arventennoù al labouradeg hag e vo diverket an holl roadennoù personel"
1020+
1021+#~ msgid "This will be your last attempt."
1022+#~ msgstr "Ho taol-esae diwezhañ e vo."
1023+
1000#~ msgid "Power"
1024#~ msgid "Power"
1001#~ msgstr "Tredan"
1025#~ msgstr "Tredan"
1002
1026
@@ -1015,12 +1039,25 @@ msgstr "Ger-tremen diasur-kenañ"
1015#~ msgid "Settings"
1039#~ msgid "Settings"
1016#~ msgstr "Arventennoù"
1040#~ msgstr "Arventennoù"
1017
1041
1042+#~ msgid "Sorry, incorrect passcode"
1043+#~ msgstr "Digarezit, kod-tremen direizh"
1044+
1018#~ msgid "Manage Scopes"
1045#~ msgid "Manage Scopes"
1019#~ msgstr "Merañ ar c'hefluskerioù enklask"
1046#~ msgstr "Merañ ar c'hefluskerioù enklask"
1020
1047
1048+#, qt-format
1049+#~ msgid "Enter %1"
1050+#~ msgstr "Merkañ %1"
1051+
1052+#~ msgid "Enter passphrase"
1053+#~ msgstr "Merkañ ar frazenn-dremen"
1054+
1021#~ msgid "Please re-enter"
1055#~ msgid "Please re-enter"
1022#~ msgstr "Adverkañ, mar plij"
1056#~ msgstr "Adverkañ, mar plij"
1023
1057
1058+#~ msgid "Enter passcode"
1059+#~ msgstr "Merkañ ar c'hod-tremen"
1060+
1024#~ msgid "Lock security"
1061#~ msgid "Lock security"
1025#~ msgstr "Surentez ar prennañ"
1062#~ msgstr "Surentez ar prennañ"
1026
1063
@@ -1235,6 +1272,10 @@ msgstr "Ger-tremen diasur-kenañ"
1235#~ msgid "Tomorrow %H:%M"
1272#~ msgid "Tomorrow %H:%M"
1236#~ msgstr "Warc'hoazh %H:%M"
1273#~ msgstr "Warc'hoazh %H:%M"
1237
1274
1275+#~ msgctxt "passphrase"
1276+#~ msgid "Please re-enter"
1277+#~ msgstr "Adverkañ, mar plij"
1278+
1238#~ msgid "Call back"
1279#~ msgid "Call back"
1239#~ msgstr "Gervel en-dro"
1280#~ msgstr "Gervel en-dro"
1240
1281
po/bs.po+212−172
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -16,94 +16,75 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
20−"X-Generator: Launchpad (build 18147)\n"
20+"X-Generator: Launchpad (build 18282)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:123
22#: plugins/LightDM/Greeter.cpp:123
23msgid "Password: "
23msgid "Password: "
24msgstr "Šifra: "
24msgstr "Šifra: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "Prikačite prečicu"
29msgstr "Prikačite prečicu"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
32msgid "Quit"
32msgid "Quit"
33msgstr "Napusti"
33msgstr "Napusti"
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "Otkačite prečicu"
37msgstr "Otkačite prečicu"
38
38
39−#: qml/Components/DelayedLockscreen.qml:50
39+#: qml/Components/Dialogs.qml:149
40−msgid "Device Locked"
41−msgstr "Uređaj zaključan"
42−
43−#: qml/Components/DelayedLockscreen.qml:65
44−msgid "You have been locked out due to too many failed passphrase attempts."
45−msgstr "Izbačeni ste zbog previše neuspjelih pokušaja unosa pristupne fraze."
46−
47−#: qml/Components/DelayedLockscreen.qml:66
48−msgid "You have been locked out due to too many failed passcode attempts."
49−msgstr "Izbačeni ste zbog previše neuspjelih pokušaja unosa pristupnog koda."
50−
51−#: qml/Components/DelayedLockscreen.qml:75
52−#, qt-format
53−msgid "Please wait %1 minute and then try again…"
54−msgid_plural "Please wait %1 minutes and then try again…"
55−msgstr[0] "Molim pričekajte %1 minutu i onda pokušajte ponovo..."
56−msgstr[1] "Molim pričekajte %1 minute i onda pokušajte ponovo..."
57−msgstr[2] "Molim pričekajte %1 minuta i onda pokušajte ponovo"
58−
59−#: qml/Components/Dialogs.qml:144
60msgctxt "Title: Lock/Log out dialog"
40msgctxt "Title: Lock/Log out dialog"
61msgid "Log out"
41msgid "Log out"
62msgstr "Odjavite se"
42msgstr "Odjavite se"
63
43
64−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
65msgid "Are you sure you want to log out?"
45msgid "Are you sure you want to log out?"
66msgstr "Da li ste sigurni da se želite odjaviti?"
46msgstr "Da li ste sigurni da se želite odjaviti?"
67
47
68−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
69msgctxt "Button: Lock the system"
49msgctxt "Button: Lock the system"
70msgid "Lock"
50msgid "Lock"
71msgstr "Zaključaj"
51msgstr "Zaključaj"
72
52
73−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
74msgctxt "Button: Log out from the system"
54msgctxt "Button: Log out from the system"
75msgid "Log Out"
55msgid "Log Out"
76msgstr "Odjavi se"
56msgstr "Odjavi se"
77
57
78−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
79−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
80#: qml/Wizard/Pages/passcode-set.qml:32
61#: qml/Wizard/Pages/passcode-set.qml:32
81msgid "Cancel"
62msgid "Cancel"
82msgstr "Otkaži"
63msgstr "Otkaži"
83
64
84−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
85msgctxt "Title: Reboot dialog"
66msgctxt "Title: Reboot dialog"
86msgid "Reboot"
67msgid "Reboot"
87msgstr "Ponovo pokreni"
68msgstr "Ponovo pokreni"
88
69
89−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
90msgid "Are you sure you want to reboot?"
71msgid "Are you sure you want to reboot?"
91msgstr "Da li ste sigurni da želite ponovo pokrenuti?"
72msgstr "Da li ste sigurni da želite ponovo pokrenuti?"
92
73
93−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
94msgid "No"
75msgid "No"
95msgstr "Ne"
76msgstr "Ne"
96
77
97−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
98msgid "Yes"
79msgid "Yes"
99msgstr "Da"
80msgstr "Da"
100
81
101−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
102msgctxt "Title: Power off/Restart dialog"
83msgctxt "Title: Power off/Restart dialog"
103msgid "Power"
84msgid "Power"
104msgstr "Napajanje"
85msgstr "Napajanje"
105
86
106−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
107msgid ""
88msgid ""
108"Are you sure you would like\n"
89"Are you sure you would like\n"
109"to power off?"
90"to power off?"
@@ -111,12 +92,12 @@ msgstr ""
111"Da li ste sigurni da želite\n"
92"Da li ste sigurni da želite\n"
112"isključiti?"
93"isključiti?"
113
94
114−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
115msgctxt "Button: Power off the system"
96msgctxt "Button: Power off the system"
116msgid "Power off"
97msgid "Power off"
117msgstr "Isključi"
98msgstr "Isključi"
118
99
119−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
120msgctxt "Button: Restart the system"
101msgctxt "Button: Restart the system"
121msgid "Restart"
102msgid "Restart"
122msgstr "Restartuj"
103msgstr "Restartuj"
@@ -281,15 +262,15 @@ msgstr ""
281msgid "Closes the current window."
262msgid "Closes the current window."
282msgstr ""
263msgstr ""
283
264
284−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
285msgid "Return to Call"
266msgid "Return to Call"
286msgstr "Povratak na Poziv"
267msgstr "Povratak na Poziv"
287
268
288−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
289msgid "Emergency Call"
270msgid "Emergency Call"
290msgstr "Hitan Poziv"
271msgstr "Hitan Poziv"
291
272
292−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
293msgid "OK"
274msgid "OK"
294msgstr "U redu"
275msgstr "U redu"
295
276
@@ -335,84 +316,84 @@ msgstr "Zatvori sve"
335msgid "Preview Share Item"
316msgid "Preview Share Item"
336msgstr "Pogledaj stavku koja se dijeli"
317msgstr "Pogledaj stavku koja se dijeli"
337
318
338−#: qml/Dash/DashPageHeader.qml:333
319+#: qml/Dash/DashPageHeader.qml:361
339msgctxt "Button: Open the Ubuntu Store"
320msgctxt "Button: Open the Ubuntu Store"
340msgid "Store"
321msgid "Store"
341msgstr "Trgovina"
322msgstr "Trgovina"
342
323
343−#: qml/Dash/DashPageHeader.qml:340
324+#: qml/Dash/DashPageHeader.qml:368
344msgctxt "Button: Start a search in the current dash scope"
325msgctxt "Button: Start a search in the current dash scope"
345msgid "Search"
326msgid "Search"
346msgstr "Pretraživanje"
327msgstr "Pretraživanje"
347
328
348−#: qml/Dash/DashPageHeader.qml:350
329+#: qml/Dash/DashPageHeader.qml:378
349msgctxt "Button: Show the current dash scope settings"
330msgctxt "Button: Show the current dash scope settings"
350msgid "Settings"
331msgid "Settings"
351msgstr "Podešavanja"
332msgstr "Podešavanja"
352
333
353−#: qml/Dash/DashPageHeader.qml:357
334+#: qml/Dash/DashPageHeader.qml:385
354msgid "Remove from Favorites"
335msgid "Remove from Favorites"
355msgstr "Ukloni iz Omiljenih"
336msgstr "Ukloni iz Omiljenih"
356
337
357−#: qml/Dash/DashPageHeader.qml:357
338+#: qml/Dash/DashPageHeader.qml:385
358msgid "Add to Favorites"
339msgid "Add to Favorites"
359msgstr "Dodaj u Omiljene"
340msgstr "Dodaj u Omiljene"
360
341
361−#: qml/Dash/FiltersPopover.qml:60
342+#: qml/Dash/FiltersPopover.qml:61
362msgid "Refine your results"
343msgid "Refine your results"
363msgstr ""
344msgstr ""
364
345
365−#: qml/Dash/FiltersPopover.qml:69
346+#: qml/Dash/FiltersPopover.qml:70
366msgid "Reset"
347msgid "Reset"
367msgstr ""
348msgstr ""
368
349
369−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
350+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
370msgid "Show less"
351msgid "Show less"
371msgstr ""
352msgstr ""
372
353
373−#: qml/Dash/GenericScopeView.qml:580
354+#: qml/Dash/GenericScopeView.qml:547
374msgid "Show all"
355msgid "Show all"
375msgstr ""
356msgstr ""
376
357
377−#: qml/Dash/GenericScopeView.qml:637
358+#: qml/Dash/GenericScopeView.qml:578
378msgctxt "Label: Hint for dash search line edit"
359msgctxt "Label: Hint for dash search line edit"
379msgid "Search"
360msgid "Search"
380msgstr "Pretraži"
361msgstr "Pretraži"
381
362
382−#: qml/Dash/PageHeaderExtraPanel.qml:56
363+#: qml/Dash/PageHeaderExtraPanel.qml:67
383msgid "Recent Searches"
364msgid "Recent Searches"
384msgstr ""
365msgstr ""
385
366
386−#: qml/Dash/PageHeaderExtraPanel.qml:67
367+#: qml/Dash/PageHeaderExtraPanel.qml:78
387msgid "Clear All"
368msgid "Clear All"
388msgstr ""
369msgstr ""
389
370
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
371+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391msgid "More..."
372msgid "More..."
392msgstr "Više..."
373msgstr "Više..."
393
374
394−#: qml/Dash/Previews/PreviewActionCombo.qml:35
375+#: qml/Dash/Previews/PreviewActionCombo.qml:36
395msgid "Less..."
376msgid "Less..."
396msgstr "Manje..."
377msgstr "Manje..."
397
378
398−#: qml/Dash/Previews/PreviewCommentInput.qml:68
379+#: qml/Dash/Previews/PreviewCommentInput.qml:83
399−#: qml/Dash/Previews/PreviewRatingInput.qml:175
380+#: qml/Dash/Previews/PreviewRatingInput.qml:202
400msgid "Send"
381msgid "Send"
401msgstr "Pošalji"
382msgstr "Pošalji"
402
383
403−#: qml/Dash/Previews/PreviewRatingInput.qml:82
384+#: qml/Dash/Previews/PreviewRatingInput.qml:109
404msgid "Rate this"
385msgid "Rate this"
405msgstr "Ocijeni ovo"
386msgstr "Ocijeni ovo"
406
387
407−#: qml/Dash/Previews/PreviewRatingInput.qml:157
388+#: qml/Dash/Previews/PreviewRatingInput.qml:184
408msgid "Add a review"
389msgid "Add a review"
409msgstr "Dodaj recenziju"
390msgstr "Dodaj recenziju"
410
391
411−#: qml/Dash/PullToRefreshScopeStyle.qml:55
392+#: qml/Dash/PullToRefreshScopeStyle.qml:56
412msgid "Pull to refresh…"
393msgid "Pull to refresh…"
413msgstr "Povući za osvježavanje..."
394msgstr "Povući za osvježavanje..."
414
395
415−#: qml/Dash/PullToRefreshScopeStyle.qml:60
396+#: qml/Dash/PullToRefreshScopeStyle.qml:61
416msgid "Release to refresh…"
397msgid "Release to refresh…"
417msgstr "Pustiti za osvježavanje..."
398msgstr "Pustiti za osvježavanje..."
418
399
@@ -420,15 +401,15 @@ msgstr "Pustiti za osvježavanje..."
420msgid "Enable location data"
401msgid "Enable location data"
421msgstr "Omogućiti podatke o lokaciji"
402msgstr "Omogućiti podatke o lokaciji"
422
403
423−#: qml/Dash/ScopesList.qml:55
404+#: qml/Dash/ScopesList.qml:57
424msgid "Manage"
405msgid "Manage"
425msgstr "Upravljanje"
406msgstr "Upravljanje"
426
407
427−#: qml/Dash/ScopesList.qml:102
408+#: qml/Dash/ScopesList.qml:104
428msgid "Home"
409msgid "Home"
429msgstr "Početna"
410msgstr "Početna"
430
411
431−#: qml/Dash/ScopesList.qml:103
412+#: qml/Dash/ScopesList.qml:105
432msgid "Also installed"
413msgid "Also installed"
433msgstr "Također instalirano"
414msgstr "Također instalirano"
434
415
@@ -442,84 +423,53 @@ msgstr ""
442msgid "Unlock"
423msgid "Unlock"
443msgstr "Otključaj"
424msgstr "Otključaj"
444
425
445−#: qml/Greeter/Greeter.qml:555
426+#: qml/Greeter/DelayedLockscreen.qml:43
427+msgid "Device Locked"
428+msgstr "Uređaj zaključan"
429+
430+#: qml/Greeter/DelayedLockscreen.qml:58
431+msgid "You have been locked out due to too many failed passphrase attempts."
432+msgstr "Izbačeni ste zbog previše neuspjelih pokušaja unosa pristupne fraze."
433+
434+#: qml/Greeter/DelayedLockscreen.qml:59
435+msgid "You have been locked out due to too many failed passcode attempts."
436+msgstr "Izbačeni ste zbog previše neuspjelih pokušaja unosa pristupnog koda."
437+
438+#: qml/Greeter/DelayedLockscreen.qml:68
439+#, qt-format
440+msgid "Please wait %1 minute and then try again…"
441+msgid_plural "Please wait %1 minutes and then try again…"
442+msgstr[0] "Molim pričekajte %1 minutu i onda pokušajte ponovo..."
443+msgstr[1] "Molim pričekajte %1 minute i onda pokušajte ponovo..."
444+msgstr[2] "Molim pričekajte %1 minuta i onda pokušajte ponovo"
445+
446+#: qml/Greeter/Greeter.qml:596
446msgid "Try again"
447msgid "Try again"
447msgstr ""
448msgstr ""
448
449
449−#: qml/Greeter/LoginList.qml:63
450+#: qml/Greeter/LoginList.qml:70
450msgid "Passphrase"
451msgid "Passphrase"
451msgstr ""
452msgstr ""
452
453
453−#: qml/Greeter/LoginList.qml:64
454+#: qml/Greeter/LoginList.qml:71
454msgid "Passcode"
455msgid "Passcode"
455msgstr ""
456msgstr ""
456
457
457−#: qml/Greeter/LoginList.qml:87
458+#: qml/Greeter/LoginList.qml:98
458msgid "Retry"
459msgid "Retry"
459msgstr "Ponovi"
460msgstr "Ponovi"
460
461
461−#: qml/Greeter/LoginList.qml:88
462+#: qml/Greeter/LoginList.qml:99
462msgid "Log In"
463msgid "Log In"
463msgstr ""
464msgstr ""
464
465
465−#: qml/Greeter/NarrowView.qml:55
466+#: qml/Greeter/NarrowView.qml:252
466−msgid "Sorry, incorrect passphrase."
467+msgid "Emergency"
467−msgstr "Izvinite, pogrešna pristupna fraza."
468−
469−#: qml/Greeter/NarrowView.qml:56
470−msgid "Sorry, incorrect passcode."
471−msgstr "Izvinite, pogrešan pristupni kod."
472−
473−#: qml/Greeter/NarrowView.qml:57
474−msgid "This will be your last attempt."
475−msgstr "Ovo će biti vaš posljednji pokušaj."
476−
477−#: qml/Greeter/NarrowView.qml:59
478−msgid ""
479−"If passphrase is entered incorrectly, your phone will conduct a factory "
480−"reset and all personal data will be deleted."
481msgstr ""
468msgstr ""
482−"Ako je pristupna fraza unesena pogrešno, vaš telefon će sprovesti reset na "
483−"fabričke postavke i svi osobni podaci će biti izbrisani."
484
469
485−#: qml/Greeter/NarrowView.qml:60
470+#: qml/Greeter/SessionsList.qml:122
486−msgid ""
471+msgid "Select desktop environment"
487−"If passcode is entered incorrectly, your phone will conduct a factory reset "
488−"and all personal data will be deleted."
489msgstr ""
472msgstr ""
490−"Ako je pristupni kod unesen netačno, vaš telefon će sprovesti reset na "
491−"fabričke postavke i svi osobni podaci će biti izbrisani."
492−
493−#: qml/Greeter/NarrowView.qml:129
494−#, qt-format
495−msgid "Enter %1"
496−msgstr "Unesite %1"
497−
498−#: qml/Greeter/NarrowView.qml:130
499−msgid "Enter passphrase"
500−msgstr "Unesite propusnu frazu"
501−
502−#: qml/Greeter/NarrowView.qml:131
503−msgid "Enter passcode"
504−msgstr "Unesite pristupni kod"
505−
506−#: qml/Greeter/NarrowView.qml:135
507−#, qt-format
508−msgid "Sorry, incorrect %1"
509−msgstr "Izvinite, netačno %1"
510−
511−#: qml/Greeter/NarrowView.qml:136
512−msgid "Sorry, incorrect passphrase"
513−msgstr "Izvinite, netačna propusna fraza"
514−
515−#: qml/Greeter/NarrowView.qml:137
516−msgctxt "passphrase"
517−msgid "Please re-enter"
518−msgstr "Molim ponovo unesite"
519−
520−#: qml/Greeter/NarrowView.qml:138
521−msgid "Sorry, incorrect passcode"
522−msgstr "Izvinite, netačan pristupni kod"
523
473
524#: qml/Notifications/NotificationMenuItemFactory.qml:124
474#: qml/Notifications/NotificationMenuItemFactory.qml:124
525msgid "Show password"
475msgid "Show password"
@@ -533,11 +483,11 @@ msgstr "Kucnite da uzvratite poziv..."
533msgid "Conference"
483msgid "Conference"
534msgstr "Savjetovanje"
484msgstr "Savjetovanje"
535
485
536−#: qml/Panel/Indicators/MenuItemFactory.qml:762
486+#: qml/Panel/Indicators/MenuItemFactory.qml:847
537msgid "Nothing is playing"
487msgid "Nothing is playing"
538msgstr "Ništa nije pokrenuto"
488msgstr "Ništa nije pokrenuto"
539
489
540−#: qml/Panel/Indicators/MenuItemFactory.qml:891
490+#: qml/Panel/Indicators/MenuItemFactory.qml:975
541#, qt-format
491#, qt-format
542msgid "%1 hour"
492msgid "%1 hour"
543msgid_plural "%1 hours"
493msgid_plural "%1 hours"
@@ -545,7 +495,7 @@ msgstr[0] "%1 sat"
545msgstr[1] "%1 sata"
495msgstr[1] "%1 sata"
546msgstr[2] "%1 sati"
496msgstr[2] "%1 sati"
547
497
548−#: qml/Panel/Indicators/MenuItemFactory.qml:895
498+#: qml/Panel/Indicators/MenuItemFactory.qml:979
549#, qt-format
499#, qt-format
550msgid "%1 minute"
500msgid "%1 minute"
551msgid_plural "%1 minutes"
501msgid_plural "%1 minutes"
@@ -553,7 +503,7 @@ msgstr[0] "%1 minut"
553msgstr[1] "%1 minuta"
503msgstr[1] "%1 minuta"
554msgstr[2] "%1 minuta"
504msgstr[2] "%1 minuta"
555
505
556−#: qml/Panel/Indicators/MenuItemFactory.qml:900
506+#: qml/Panel/Indicators/MenuItemFactory.qml:984
557#, qt-format
507#, qt-format
558msgid "%1 second"
508msgid "%1 second"
559msgid_plural "%1 seconds"
509msgid_plural "%1 seconds"
@@ -561,37 +511,37 @@ msgstr[0] "%1 sekunda"
561msgstr[1] "%1 sekunde"
511msgstr[1] "%1 sekunde"
562msgstr[2] "%1 sekundi"
512msgstr[2] "%1 sekundi"
563
513
564−#: qml/Panel/Indicators/MenuItemFactory.qml:903
514+#: qml/Panel/Indicators/MenuItemFactory.qml:987
565msgid "0 seconds"
515msgid "0 seconds"
566msgstr "0 sekundi"
516msgstr "0 sekundi"
567
517
568#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
518#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
569−#: qml/Panel/Indicators/MenuItemFactory.qml:905
519+#: qml/Panel/Indicators/MenuItemFactory.qml:989
570#, qt-format
520#, qt-format
571msgid "%1 remaining"
521msgid "%1 remaining"
572msgstr "%1 preostalo"
522msgstr "%1 preostalo"
573
523
574−#: qml/Panel/Indicators/MenuItemFactory.qml:911
524+#: qml/Panel/Indicators/MenuItemFactory.qml:995
575msgid "In queue…"
525msgid "In queue…"
576msgstr "U red..."
526msgstr "U red..."
577
527
578−#: qml/Panel/Indicators/MenuItemFactory.qml:915
528+#: qml/Panel/Indicators/MenuItemFactory.qml:999
579msgid "Downloading"
529msgid "Downloading"
580msgstr "Preuzimanje"
530msgstr "Preuzimanje"
581
531
582−#: qml/Panel/Indicators/MenuItemFactory.qml:917
532+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
583msgid "Paused, tap to resume"
533msgid "Paused, tap to resume"
584msgstr "Pauzirano, kucnuti za nastavak"
534msgstr "Pauzirano, kucnuti za nastavak"
585
535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:919
536+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
587msgid "Canceled"
537msgid "Canceled"
588msgstr "Otkazano"
538msgstr "Otkazano"
589
539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:921
540+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
591msgid "Finished"
541msgid "Finished"
592msgstr "Završeno"
542msgstr "Završeno"
593
543
594−#: qml/Panel/Indicators/MenuItemFactory.qml:923
544+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
595msgid "Failed, tap to retry"
545msgid "Failed, tap to retry"
596msgstr "Neuspjelo, kucnuti za ponavljanje"
546msgstr "Neuspjelo, kucnuti za ponavljanje"
597
547
@@ -611,7 +561,7 @@ msgctxt "Button: Call back on phone"
611msgid "Call back"
561msgid "Call back"
612msgstr "Uzvrati poziv"
562msgstr "Uzvrati poziv"
613
563
614−#: qml/Stages/SideStage.qml:76
564+#: qml/Stage/SideStage.qml:76
615msgid "Drag using 3 fingers any application from one window to the other"
565msgid "Drag using 3 fingers any application from one window to the other"
616msgstr ""
566msgstr ""
617
567
@@ -640,40 +590,54 @@ msgctxt "Button: Go back one page in the Wizard"
640msgid "Back"
590msgid "Back"
641msgstr "Nazad"
591msgstr "Nazad"
642
592
643−#: qml/Wizard/Pages/10-welcome.qml:27
593+#: qml/Wizard/Pages/10-welcome.qml:28
644msgid "Language"
594msgid "Language"
645msgstr ""
595msgstr ""
646
596
647−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
597+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
648−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
598+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
599+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
649−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
600+#: qml/Wizard/Pages/70-passwd-type.qml:145
650#: qml/Wizard/Pages/75-report-check.qml:84
601#: qml/Wizard/Pages/75-report-check.qml:84
651−#: qml/Wizard/Pages/passcode-desktop.qml:141
602+#: qml/Wizard/Pages/passcode-desktop.qml:142
652−#: qml/Wizard/Pages/password-set.qml:141
603+#: qml/Wizard/Pages/password-set.qml:142
653msgid "Next"
604msgid "Next"
654msgstr ""
605msgstr ""
655
606
656−#: qml/Wizard/Pages/30-wifi.qml:29
607+#: qml/Wizard/Pages/20-keyboard.qml:31
608+msgid "Select Keyboard"
609+msgstr ""
610+
611+#: qml/Wizard/Pages/20-keyboard.qml:71
612+msgid "Keyboard language"
613+msgstr ""
614+
615+#: qml/Wizard/Pages/20-keyboard.qml:93
616+msgid "Keyboard layout"
617+msgstr ""
618+
619+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
620+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
621+#: qml/Wizard/Pages/sim.qml:101
622+msgid "Skip"
623+msgstr "Preskočite"
624+
625+#: qml/Wizard/Pages/30-wifi.qml:31
657msgid "Connect to Wi‑Fi"
626msgid "Connect to Wi‑Fi"
658msgstr "Povezati na Wi-Fi"
627msgstr "Povezati na Wi-Fi"
659
628
660−#: qml/Wizard/Pages/30-wifi.qml:130
629+#: qml/Wizard/Pages/30-wifi.qml:132
661msgid "Connected"
630msgid "Connected"
662msgstr ""
631msgstr ""
663
632
664−#: qml/Wizard/Pages/30-wifi.qml:163
633+#: qml/Wizard/Pages/30-wifi.qml:165
665msgid "Available Wi-Fi networks"
634msgid "Available Wi-Fi networks"
666msgstr ""
635msgstr ""
667
636
668−#: qml/Wizard/Pages/30-wifi.qml:164
637+#: qml/Wizard/Pages/30-wifi.qml:166
669msgid "No available Wi-Fi networks"
638msgid "No available Wi-Fi networks"
670msgstr ""
639msgstr ""
671
640
672−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
673−#: qml/Wizard/Pages/sim.qml:101
674−msgid "Skip"
675−msgstr "Preskočite"
676−
677#: qml/Wizard/Pages/40-location.qml:27
641#: qml/Wizard/Pages/40-location.qml:27
678msgid "Location Services"
642msgid "Location Services"
679msgstr ""
643msgstr ""
@@ -706,11 +670,11 @@ msgstr ""
706msgid "You can change it later in System Settings."
670msgid "You can change it later in System Settings."
707msgstr ""
671msgstr ""
708
672
709−#: qml/Wizard/Pages/50-timezone.qml:29
673+#: qml/Wizard/Pages/50-timezone.qml:30
710msgid "Time Zone"
674msgid "Time Zone"
711msgstr ""
675msgstr ""
712
676
713−#: qml/Wizard/Pages/50-timezone.qml:181
677+#: qml/Wizard/Pages/50-timezone.qml:182
714msgid "Enter your city"
678msgid "Enter your city"
715msgstr ""
679msgstr ""
716
680
@@ -722,21 +686,21 @@ msgstr ""
722msgid "Preferred Name"
686msgid "Preferred Name"
723msgstr ""
687msgstr ""
724
688
725−#: qml/Wizard/Pages/70-passwd-type.qml:39
689+#: qml/Wizard/Pages/70-passwd-type.qml:40
726msgid "Lock Screen"
690msgid "Lock Screen"
727msgstr ""
691msgstr ""
728
692
729−#: qml/Wizard/Pages/70-passwd-type.qml:101
693+#: qml/Wizard/Pages/70-passwd-type.qml:102
730msgctxt "Label: Type of security method"
694msgctxt "Label: Type of security method"
731msgid "Create new password"
695msgid "Create new password"
732msgstr ""
696msgstr ""
733
697
734−#: qml/Wizard/Pages/70-passwd-type.qml:103
698+#: qml/Wizard/Pages/70-passwd-type.qml:104
735msgctxt "Label: Type of security method"
699msgctxt "Label: Type of security method"
736msgid "Create passcode (numbers only)"
700msgid "Create passcode (numbers only)"
737msgstr ""
701msgstr ""
738
702
739−#: qml/Wizard/Pages/70-passwd-type.qml:105
703+#: qml/Wizard/Pages/70-passwd-type.qml:106
740msgctxt "Label: Type of security method"
704msgctxt "Label: Type of security method"
741msgid "No lock code"
705msgid "No lock code"
742msgstr ""
706msgstr ""
@@ -757,6 +721,35 @@ msgstr ""
757msgid "Privacy policy"
721msgid "Privacy policy"
758msgstr ""
722msgstr ""
759
723
724+#: qml/Wizard/Pages/77-system-update.qml:28
725+msgid "Update Device"
726+msgstr ""
727+
728+#: qml/Wizard/Pages/77-system-update.qml:55
729+msgid ""
730+"There is a system update available and ready to install. Afterwards, the "
731+"device will automatically restart."
732+msgstr ""
733+
734+#: qml/Wizard/Pages/77-system-update.qml:76
735+msgctxt "string identifying name of the update"
736+msgid "Ubuntu system"
737+msgstr ""
738+
739+#: qml/Wizard/Pages/77-system-update.qml:83
740+#, qt-format
741+msgctxt "version of the system update"
742+msgid "Version %1"
743+msgstr ""
744+
745+#: qml/Wizard/Pages/77-system-update.qml:102
746+msgid "This could take a few minutes..."
747+msgstr ""
748+
749+#: qml/Wizard/Pages/77-system-update.qml:116
750+msgid "Install and restart now"
751+msgstr ""
752+
760#: qml/Wizard/Pages/80-finished.qml:89
753#: qml/Wizard/Pages/80-finished.qml:89
761msgid "Welcome to Ubuntu"
754msgid "Welcome to Ubuntu"
762msgstr ""
755msgstr ""
@@ -800,7 +793,7 @@ msgid "Service Terms"
800msgstr ""
793msgstr ""
801
794
802#: qml/Wizard/Pages/passcode-confirm.qml:43
795#: qml/Wizard/Pages/passcode-confirm.qml:43
803−#: qml/Wizard/Pages/passcode-desktop.qml:96
796+#: qml/Wizard/Pages/passcode-desktop.qml:97
804msgid "Confirm passcode"
797msgid "Confirm passcode"
805msgstr "Potvrdi pristupni kod"
798msgstr "Potvrdi pristupni kod"
806
799
@@ -813,28 +806,28 @@ msgctxt "Enter the passcode again"
813msgid "Please re-enter."
806msgid "Please re-enter."
814msgstr ""
807msgstr ""
815
808
816−#: qml/Wizard/Pages/passcode-desktop.qml:30
809+#: qml/Wizard/Pages/passcode-desktop.qml:31
817msgid "Lock Screen Passcode"
810msgid "Lock Screen Passcode"
818msgstr ""
811msgstr ""
819
812
820−#: qml/Wizard/Pages/passcode-desktop.qml:60
813+#: qml/Wizard/Pages/passcode-desktop.qml:61
821msgid "Enter 4 numbers to setup your passcode"
814msgid "Enter 4 numbers to setup your passcode"
822msgstr ""
815msgstr ""
823
816
824−#: qml/Wizard/Pages/passcode-desktop.qml:76
817+#: qml/Wizard/Pages/passcode-desktop.qml:77
825#: qml/Wizard/Pages/passcode-set.qml:54
818#: qml/Wizard/Pages/passcode-set.qml:54
826msgid "Choose passcode"
819msgid "Choose passcode"
827msgstr ""
820msgstr ""
828
821
829−#: qml/Wizard/Pages/passcode-desktop.qml:126
822+#: qml/Wizard/Pages/passcode-desktop.qml:127
830msgid "Passcode too short"
823msgid "Passcode too short"
831msgstr ""
824msgstr ""
832
825
833−#: qml/Wizard/Pages/passcode-desktop.qml:128
826+#: qml/Wizard/Pages/passcode-desktop.qml:129
834msgid "Passcodes match"
827msgid "Passcodes match"
835msgstr ""
828msgstr ""
836
829
837−#: qml/Wizard/Pages/passcode-desktop.qml:130
830+#: qml/Wizard/Pages/passcode-desktop.qml:131
838msgid "Passcodes do not match"
831msgid "Passcodes do not match"
839msgstr ""
832msgstr ""
840
833
@@ -842,19 +835,19 @@ msgstr ""
842msgid "Passcode must be 4 characters long"
835msgid "Passcode must be 4 characters long"
843msgstr ""
836msgstr ""
844
837
845−#: qml/Wizard/Pages/password-set.qml:30
838+#: qml/Wizard/Pages/password-set.qml:31
846msgid "Lock Screen Password"
839msgid "Lock Screen Password"
847msgstr ""
840msgstr ""
848
841
849−#: qml/Wizard/Pages/password-set.qml:61
842+#: qml/Wizard/Pages/password-set.qml:62
850msgid "Enter at least 8 characters"
843msgid "Enter at least 8 characters"
851msgstr ""
844msgstr ""
852
845
853−#: qml/Wizard/Pages/password-set.qml:73
846+#: qml/Wizard/Pages/password-set.qml:74
854msgid "Choose password"
847msgid "Choose password"
855msgstr ""
848msgstr ""
856
849
857−#: qml/Wizard/Pages/password-set.qml:103
850+#: qml/Wizard/Pages/password-set.qml:104
858msgid "Confirm password"
851msgid "Confirm password"
859msgstr ""
852msgstr ""
860
853
@@ -938,9 +931,52 @@ msgstr ""
938#~ msgid "Tap to unlock"
931#~ msgid "Tap to unlock"
939#~ msgstr "Kucnite za otključavanje"
932#~ msgstr "Kucnite za otključavanje"
940
933
934+#~ msgid "Sorry, incorrect passphrase."
935+#~ msgstr "Izvinite, pogrešna pristupna fraza."
936+
937+#, qt-format
938+#~ msgid "Enter %1"
939+#~ msgstr "Unesite %1"
940+
941+#~ msgid "Sorry, incorrect passphrase"
942+#~ msgstr "Izvinite, netačna propusna fraza"
943+
944+#, qt-format
945+#~ msgid "Sorry, incorrect %1"
946+#~ msgstr "Izvinite, netačno %1"
947+
948+#~ msgid "Sorry, incorrect passcode."
949+#~ msgstr "Izvinite, pogrešan pristupni kod."
950+
951+#~ msgid "Enter passphrase"
952+#~ msgstr "Unesite propusnu frazu"
953+
941#~ msgid "Please re-enter"
954#~ msgid "Please re-enter"
942#~ msgstr "Molimo ponovo unesite"
955#~ msgstr "Molimo ponovo unesite"
943
956
957+#~ msgid "Enter passcode"
958+#~ msgstr "Unesite pristupni kod"
959+
960+#~ msgid ""
961+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
962+#~ "and all personal data will be deleted."
963+#~ msgstr ""
964+#~ "Ako je pristupni kod unesen netačno, vaš telefon će sprovesti reset na "
965+#~ "fabričke postavke i svi osobni podaci će biti izbrisani."
966+
967+#~ msgid ""
968+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
969+#~ "reset and all personal data will be deleted."
970+#~ msgstr ""
971+#~ "Ako je pristupna fraza unesena pogrešno, vaš telefon će sprovesti reset na "
972+#~ "fabričke postavke i svi osobni podaci će biti izbrisani."
973+
974+#~ msgid "This will be your last attempt."
975+#~ msgstr "Ovo će biti vaš posljednji pokušaj."
976+
977+#~ msgid "Sorry, incorrect passcode"
978+#~ msgstr "Izvinite, netačan pristupni kod"
979+
944#~ msgid "This action does different things for different apps"
980#~ msgid "This action does different things for different apps"
945#~ msgstr "Ova radnja čini različite stvari za različite aplikacije"
981#~ msgstr "Ova radnja čini različite stvari za različite aplikacije"
946
982
@@ -1123,3 +1159,7 @@ msgstr ""
1123#~ msgctxt "Button: Reboot the system"
1159#~ msgctxt "Button: Reboot the system"
1124#~ msgid "Reboot"
1160#~ msgid "Reboot"
1125#~ msgstr "Ponovo pokreni"
1161#~ msgstr "Ponovo pokreni"
1162+
1163+#~ msgctxt "passphrase"
1164+#~ msgid "Please re-enter"
1165+#~ msgstr "Molim ponovo unesite"
po/ca.po+278−230
@@ -7,105 +7,83 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11−"PO-Revision-Date: 2015-07-04 09:48+0000\n"
11+"PO-Revision-Date: 2016-11-11 06:30+0000\n"
12−"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
12+"Last-Translator: Walter Garcia-Fontes <walter.garcia@upf.edu>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr "Contrasenya: "
23msgstr "Contrasenya: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Enganxa la drecera"
28msgstr "Enganxa la drecera"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr "Surt"
32msgstr "Surt"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Desenganxa la drecera"
36msgstr "Desenganxa la drecera"
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr "Dispositiu bloquejat"
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−"Se us ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
46−"d'intents d'introducció de la contrasenya."
47−
48−#: qml/Components/DelayedLockscreen.qml:66
49−msgid "You have been locked out due to too many failed passcode attempts."
50−msgstr ""
51−"Se us ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
52−"d'intents d'introducció del codi d'accés."
53−
54−#: qml/Components/DelayedLockscreen.qml:75
55−#, qt-format
56−msgid "Please wait %1 minute and then try again…"
57−msgid_plural "Please wait %1 minutes and then try again…"
58−msgstr[0] "Espereu %1 minut i torneu-ho a intentar..."
59−msgstr[1] "Espereu %1 minuts i torneu-ho a intentar..."
60−
61−#: qml/Components/Dialogs.qml:144
62msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
40msgid "Log out"
64msgstr "Surt"
41msgstr "Surt"
65
42
66−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
67msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
68msgstr "Segur que voleu sortir?"
45msgstr "Segur que voleu sortir?"
69
46
70−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
71msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
72msgid "Lock"
49msgid "Lock"
73msgstr "Bloca"
50msgstr "Bloca"
74
51
75−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
76msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
77msgid "Log Out"
54msgid "Log Out"
78msgstr "Surt"
55msgstr "Surt"
79
56
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
61msgid "Cancel"
84msgstr "Cancel·la"
62msgstr "Cancel·la"
85
63
86−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
87msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
88msgid "Reboot"
66msgid "Reboot"
89msgstr "Reinicia"
67msgstr "Reinicia"
90
68
91−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
92msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
93msgstr "Segur que voleu reiniciar?"
71msgstr "Segur que voleu reiniciar?"
94
72
95−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
96msgid "No"
74msgid "No"
97msgstr "No"
75msgstr "No"
98
76
99−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
100msgid "Yes"
78msgid "Yes"
101msgstr "Sí"
79msgstr "Sí"
102
80
103−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
104msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
83msgid "Power"
106msgstr "Energia"
84msgstr "Energia"
107
85
108−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
109msgid ""
87msgid ""
110"Are you sure you would like\n"
88"Are you sure you would like\n"
111"to power off?"
89"to power off?"
@@ -113,197 +91,197 @@ msgstr ""
113"Segur que voleu\n"
91"Segur que voleu\n"
114"apagar?"
92"apagar?"
115
93
116−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
117msgctxt "Button: Power off the system"
95msgctxt "Button: Power off the system"
118msgid "Power off"
96msgid "Power off"
119msgstr "Apaga"
97msgstr "Apaga"
120
98
121−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
122msgctxt "Button: Restart the system"
100msgctxt "Button: Restart the system"
123msgid "Restart"
101msgid "Restart"
124msgstr "Reinicia"
102msgstr "Reinicia"
125
103
126#: qml/Components/KeyboardShortcutsOverlay.qml:41
104#: qml/Components/KeyboardShortcutsOverlay.qml:41
127msgid "Keyboard Shortcuts"
105msgid "Keyboard Shortcuts"
128−msgstr ""
106+msgstr "Dreceres de teclat"
129
107
130#: qml/Components/KeyboardShortcutsOverlay.qml:55
108#: qml/Components/KeyboardShortcutsOverlay.qml:55
131msgid "Unity 8"
109msgid "Unity 8"
132−msgstr ""
110+msgstr "Unity 8"
133
111
134#: qml/Components/KeyboardShortcutsOverlay.qml:62
112#: qml/Components/KeyboardShortcutsOverlay.qml:62
135msgid "PrtScr"
113msgid "PrtScr"
136−msgstr ""
114+msgstr "ImprPant"
137
115
138#: qml/Components/KeyboardShortcutsOverlay.qml:67
116#: qml/Components/KeyboardShortcutsOverlay.qml:67
139msgid "Takes a screenshot."
117msgid "Takes a screenshot."
140−msgstr ""
118+msgstr "Crea una captura de pantalla"
141
119
142#: qml/Components/KeyboardShortcutsOverlay.qml:75
120#: qml/Components/KeyboardShortcutsOverlay.qml:75
143msgid "Alt + PrtScr"
121msgid "Alt + PrtScr"
144−msgstr ""
122+msgstr "Alt + ImprPant"
145
123
146#: qml/Components/KeyboardShortcutsOverlay.qml:80
124#: qml/Components/KeyboardShortcutsOverlay.qml:80
147msgid "Takes a screenshot of a window."
125msgid "Takes a screenshot of a window."
148−msgstr ""
126+msgstr "Crea una captura de pantalla d'una finestra"
149
127
150#: qml/Components/KeyboardShortcutsOverlay.qml:88
128#: qml/Components/KeyboardShortcutsOverlay.qml:88
151msgid "Super + Space"
129msgid "Super + Space"
152−msgstr ""
130+msgstr "Super + Espai"
153
131
154#: qml/Components/KeyboardShortcutsOverlay.qml:93
132#: qml/Components/KeyboardShortcutsOverlay.qml:93
155msgid "Switches to next keyboard layout."
133msgid "Switches to next keyboard layout."
156−msgstr ""
134+msgstr "Canvia a la següent disposició de teclat."
157
135
158#: qml/Components/KeyboardShortcutsOverlay.qml:101
136#: qml/Components/KeyboardShortcutsOverlay.qml:101
159msgid "Super + Shift + Space"
137msgid "Super + Shift + Space"
160−msgstr ""
138+msgstr "Super + Maj + Espai"
161
139
162#: qml/Components/KeyboardShortcutsOverlay.qml:106
140#: qml/Components/KeyboardShortcutsOverlay.qml:106
163msgid "Switches to previous keyboard layout."
141msgid "Switches to previous keyboard layout."
164−msgstr ""
142+msgstr "Canvia a la disposició prèvia de teclat."
165
143
166#: qml/Components/KeyboardShortcutsOverlay.qml:118
144#: qml/Components/KeyboardShortcutsOverlay.qml:118
167msgid "Launcher"
145msgid "Launcher"
168−msgstr ""
146+msgstr "Llançador"
169
147
170#: qml/Components/KeyboardShortcutsOverlay.qml:125
148#: qml/Components/KeyboardShortcutsOverlay.qml:125
171msgid "Super (Hold)"
149msgid "Super (Hold)"
172−msgstr ""
150+msgstr "Super (Mantingut)"
173
151
174#: qml/Components/KeyboardShortcutsOverlay.qml:130
152#: qml/Components/KeyboardShortcutsOverlay.qml:130
175msgid "Opens the launcher, displays shortcuts."
153msgid "Opens the launcher, displays shortcuts."
176−msgstr ""
154+msgstr "Obre el llançador, mostre les dreceres."
177
155
178#: qml/Components/KeyboardShortcutsOverlay.qml:138
156#: qml/Components/KeyboardShortcutsOverlay.qml:138
179msgid "Alt + F1"
157msgid "Alt + F1"
180−msgstr ""
158+msgstr "Alt + F1"
181
159
182#: qml/Components/KeyboardShortcutsOverlay.qml:143
160#: qml/Components/KeyboardShortcutsOverlay.qml:143
183msgid "Opens launcher keyboard navigation mode."
161msgid "Opens launcher keyboard navigation mode."
184−msgstr ""
162+msgstr "Obre el mode de navegació de teclat del llançador."
185
163
186#: qml/Components/KeyboardShortcutsOverlay.qml:151
164#: qml/Components/KeyboardShortcutsOverlay.qml:151
187msgid "Super + Tab"
165msgid "Super + Tab"
188−msgstr ""
166+msgstr "Super + Tab"
189
167
190#: qml/Components/KeyboardShortcutsOverlay.qml:156
168#: qml/Components/KeyboardShortcutsOverlay.qml:156
191msgid "Switches applications via the launcher."
169msgid "Switches applications via the launcher."
192−msgstr ""
170+msgstr "Commuta les aplicacions mitjançant el llançador."
193
171
194#: qml/Components/KeyboardShortcutsOverlay.qml:164
172#: qml/Components/KeyboardShortcutsOverlay.qml:164
195msgid "Super + 0 to 9"
173msgid "Super + 0 to 9"
196−msgstr ""
174+msgstr "Super + 0 a 9"
197
175
198#: qml/Components/KeyboardShortcutsOverlay.qml:169
176#: qml/Components/KeyboardShortcutsOverlay.qml:169
199msgid "Same as clicking on a launcher icon."
177msgid "Same as clicking on a launcher icon."
200−msgstr ""
178+msgstr "El mateix que clicar sobre una icona del llançador."
201
179
202#: qml/Components/KeyboardShortcutsOverlay.qml:181
180#: qml/Components/KeyboardShortcutsOverlay.qml:181
203msgid "Scopes"
181msgid "Scopes"
204−msgstr ""
182+msgstr "Lents"
205
183
206#: qml/Components/KeyboardShortcutsOverlay.qml:188
184#: qml/Components/KeyboardShortcutsOverlay.qml:188
207msgid "Super (Tap)"
185msgid "Super (Tap)"
208−msgstr ""
186+msgstr "Super (Toc)"
209
187
210#: qml/Components/KeyboardShortcutsOverlay.qml:193
188#: qml/Components/KeyboardShortcutsOverlay.qml:193
211msgid "Opens the Scopes home."
189msgid "Opens the Scopes home."
212−msgstr ""
190+msgstr "Obre la pàgina d'inici dels lents."
213
191
214#: qml/Components/KeyboardShortcutsOverlay.qml:209
192#: qml/Components/KeyboardShortcutsOverlay.qml:209
215msgid "Switching"
193msgid "Switching"
216−msgstr ""
194+msgstr "Commutació"
217
195
218#: qml/Components/KeyboardShortcutsOverlay.qml:216
196#: qml/Components/KeyboardShortcutsOverlay.qml:216
219msgid "Alt + Tab"
197msgid "Alt + Tab"
220−msgstr ""
198+msgstr "Alt + Tab"
221
199
222#: qml/Components/KeyboardShortcutsOverlay.qml:221
200#: qml/Components/KeyboardShortcutsOverlay.qml:221
223msgid "Switches between applications."
201msgid "Switches between applications."
224−msgstr ""
202+msgstr "Commuta entre aplicacions."
225
203
226#: qml/Components/KeyboardShortcutsOverlay.qml:229
204#: qml/Components/KeyboardShortcutsOverlay.qml:229
227msgid "Super + W"
205msgid "Super + W"
228−msgstr ""
206+msgstr "Super + W"
229
207
230#: qml/Components/KeyboardShortcutsOverlay.qml:234
208#: qml/Components/KeyboardShortcutsOverlay.qml:234
231msgid "Opens the desktop spread."
209msgid "Opens the desktop spread."
232−msgstr ""
210+msgstr "Obre la distribució de l'escriptori."
233
211
234#: qml/Components/KeyboardShortcutsOverlay.qml:242
212#: qml/Components/KeyboardShortcutsOverlay.qml:242
235msgid "Cursor Left or Right"
213msgid "Cursor Left or Right"
236−msgstr ""
214+msgstr "Cursor dreta o esquerra"
237
215
238#: qml/Components/KeyboardShortcutsOverlay.qml:247
216#: qml/Components/KeyboardShortcutsOverlay.qml:247
239msgid "Moves the focus."
217msgid "Moves the focus."
240−msgstr ""
218+msgstr "Mou el focus"
241
219
242#: qml/Components/KeyboardShortcutsOverlay.qml:259
220#: qml/Components/KeyboardShortcutsOverlay.qml:259
243msgid "Windows"
221msgid "Windows"
244−msgstr ""
222+msgstr "Finestres"
245
223
246#: qml/Components/KeyboardShortcutsOverlay.qml:266
224#: qml/Components/KeyboardShortcutsOverlay.qml:266
247msgid "Ctrl + Super + D"
225msgid "Ctrl + Super + D"
248−msgstr ""
226+msgstr "Ctrl + Super + D"
249
227
250#: qml/Components/KeyboardShortcutsOverlay.qml:271
228#: qml/Components/KeyboardShortcutsOverlay.qml:271
251msgid "Minimizes all windows."
229msgid "Minimizes all windows."
252−msgstr ""
230+msgstr "Minimitza totes les finestres."
253
231
254#: qml/Components/KeyboardShortcutsOverlay.qml:279
232#: qml/Components/KeyboardShortcutsOverlay.qml:279
255msgid "Ctrl + Super + Up"
233msgid "Ctrl + Super + Up"
256−msgstr ""
234+msgstr "Ctrl + Super + Amunt"
257
235
258#: qml/Components/KeyboardShortcutsOverlay.qml:284
236#: qml/Components/KeyboardShortcutsOverlay.qml:284
259msgid "Maximizes the current window."
237msgid "Maximizes the current window."
260−msgstr ""
238+msgstr "Maximitza la finestra actual."
261
239
262#: qml/Components/KeyboardShortcutsOverlay.qml:292
240#: qml/Components/KeyboardShortcutsOverlay.qml:292
263msgid "Ctrl + Super + Down"
241msgid "Ctrl + Super + Down"
264−msgstr ""
242+msgstr "Ctrl + Super + Avall"
265
243
266#: qml/Components/KeyboardShortcutsOverlay.qml:297
244#: qml/Components/KeyboardShortcutsOverlay.qml:297
267msgid "Minimizes or restores the current window."
245msgid "Minimizes or restores the current window."
268−msgstr ""
246+msgstr "Minimitza o restaura la finestra actual."
269
247
270#: qml/Components/KeyboardShortcutsOverlay.qml:305
248#: qml/Components/KeyboardShortcutsOverlay.qml:305
271msgid "Ctrl + Super + Left or Right"
249msgid "Ctrl + Super + Left or Right"
272−msgstr ""
250+msgstr "Ctrl + Super + Esquerra o Dreta"
273
251
274#: qml/Components/KeyboardShortcutsOverlay.qml:310
252#: qml/Components/KeyboardShortcutsOverlay.qml:310
275msgid "Semi-maximizes the current window."
253msgid "Semi-maximizes the current window."
276−msgstr ""
254+msgstr "Semi-maximitza la finestra actual."
277
255
278#: qml/Components/KeyboardShortcutsOverlay.qml:318
256#: qml/Components/KeyboardShortcutsOverlay.qml:318
279msgid "Alt + F4"
257msgid "Alt + F4"
280−msgstr ""
258+msgstr "Alt + F4"
281
259
282#: qml/Components/KeyboardShortcutsOverlay.qml:323
260#: qml/Components/KeyboardShortcutsOverlay.qml:323
283msgid "Closes the current window."
261msgid "Closes the current window."
284−msgstr ""
262+msgstr "Tanca la finestra actual."
285
263
286−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287msgid "Return to Call"
265msgid "Return to Call"
288msgstr "Torna a la trucada"
266msgstr "Torna a la trucada"
289
267
290−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
291msgid "Emergency Call"
269msgid "Emergency Call"
292msgstr "Trucada d'emergència"
270msgstr "Trucada d'emergència"
293
271
294−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
295msgid "OK"
273msgid "OK"
296msgstr "D'acord"
274msgstr "D'acord"
297
275
298#: qml/Components/MediaServices/VideoPlayerControls.qml:44
276#: qml/Components/MediaServices/VideoPlayerControls.qml:44
299#, qt-format
277#, qt-format
300msgid "%1:%2:%3"
278msgid "%1:%2:%3"
301−msgstr ""
279+msgstr "%1:%2:%3"
302
280
303#: qml/Components/MediaServices/VideoPlayerControls.qml:49
281#: qml/Components/MediaServices/VideoPlayerControls.qml:49
304#, qt-format
282#, qt-format
305msgid "%1:%2"
283msgid "%1:%2"
306−msgstr ""
284+msgstr "%1:%2"
307
285
308#: qml/Components/ModeSwitchWarningDialog.qml:32
286#: qml/Components/ModeSwitchWarningDialog.qml:32
309msgid "Apps may have unsaved data:"
287msgid "Apps may have unsaved data:"
@@ -337,84 +315,84 @@ msgstr "Tanca-ho tot"
337msgid "Preview Share Item"
315msgid "Preview Share Item"
338msgstr "Previsualitzeu l'element a compartir"
316msgstr "Previsualitzeu l'element a compartir"
339
317
340−#: qml/Dash/DashPageHeader.qml:333
318+#: qml/Dash/DashPageHeader.qml:361
341msgctxt "Button: Open the Ubuntu Store"
319msgctxt "Button: Open the Ubuntu Store"
342msgid "Store"
320msgid "Store"
343msgstr "Botiga"
321msgstr "Botiga"
344
322
345−#: qml/Dash/DashPageHeader.qml:340
323+#: qml/Dash/DashPageHeader.qml:368
346msgctxt "Button: Start a search in the current dash scope"
324msgctxt "Button: Start a search in the current dash scope"
347msgid "Search"
325msgid "Search"
348msgstr "Cerca"
326msgstr "Cerca"
349
327
350−#: qml/Dash/DashPageHeader.qml:350
328+#: qml/Dash/DashPageHeader.qml:378
351msgctxt "Button: Show the current dash scope settings"
329msgctxt "Button: Show the current dash scope settings"
352msgid "Settings"
330msgid "Settings"
353msgstr "Paràmetres"
331msgstr "Paràmetres"
354
332
355−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
356msgid "Remove from Favorites"
334msgid "Remove from Favorites"
357msgstr "Suprimeix dels preferits"
335msgstr "Suprimeix dels preferits"
358
336
359−#: qml/Dash/DashPageHeader.qml:357
337+#: qml/Dash/DashPageHeader.qml:385
360msgid "Add to Favorites"
338msgid "Add to Favorites"
361msgstr "Afegeix als preferits"
339msgstr "Afegeix als preferits"
362
340
363−#: qml/Dash/FiltersPopover.qml:60
341+#: qml/Dash/FiltersPopover.qml:61
364msgid "Refine your results"
342msgid "Refine your results"
365msgstr "Refineu els resultats"
343msgstr "Refineu els resultats"
366
344
367−#: qml/Dash/FiltersPopover.qml:69
345+#: qml/Dash/FiltersPopover.qml:70
368msgid "Reset"
346msgid "Reset"
369msgstr "Restableix"
347msgstr "Restableix"
370
348
371−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
349+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
372msgid "Show less"
350msgid "Show less"
373−msgstr ""
351+msgstr "Mostra menys"
374
352
375−#: qml/Dash/GenericScopeView.qml:580
353+#: qml/Dash/GenericScopeView.qml:547
376msgid "Show all"
354msgid "Show all"
377−msgstr ""
355+msgstr "Mostra-ho tot"
378
356
379−#: qml/Dash/GenericScopeView.qml:637
357+#: qml/Dash/GenericScopeView.qml:578
380msgctxt "Label: Hint for dash search line edit"
358msgctxt "Label: Hint for dash search line edit"
381msgid "Search"
359msgid "Search"
382msgstr "Cerca"
360msgstr "Cerca"
383
361
384−#: qml/Dash/PageHeaderExtraPanel.qml:56
362+#: qml/Dash/PageHeaderExtraPanel.qml:67
385msgid "Recent Searches"
363msgid "Recent Searches"
386msgstr "Cerques recents"
364msgstr "Cerques recents"
387
365
388−#: qml/Dash/PageHeaderExtraPanel.qml:67
366+#: qml/Dash/PageHeaderExtraPanel.qml:78
389msgid "Clear All"
367msgid "Clear All"
390msgstr "Neteja-ho tot"
368msgstr "Neteja-ho tot"
391
369
392−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
393msgid "More..."
371msgid "More..."
394msgstr "Més..."
372msgstr "Més..."
395
373
396−#: qml/Dash/Previews/PreviewActionCombo.qml:35
374+#: qml/Dash/Previews/PreviewActionCombo.qml:36
397msgid "Less..."
375msgid "Less..."
398msgstr "Menys..."
376msgstr "Menys..."
399
377
400−#: qml/Dash/Previews/PreviewCommentInput.qml:68
378+#: qml/Dash/Previews/PreviewCommentInput.qml:83
401−#: qml/Dash/Previews/PreviewRatingInput.qml:175
379+#: qml/Dash/Previews/PreviewRatingInput.qml:202
402msgid "Send"
380msgid "Send"
403msgstr "Envia"
381msgstr "Envia"
404
382
405−#: qml/Dash/Previews/PreviewRatingInput.qml:82
383+#: qml/Dash/Previews/PreviewRatingInput.qml:109
406msgid "Rate this"
384msgid "Rate this"
407msgstr "Puntueu-ho"
385msgstr "Puntueu-ho"
408
386
409−#: qml/Dash/Previews/PreviewRatingInput.qml:157
387+#: qml/Dash/Previews/PreviewRatingInput.qml:184
410msgid "Add a review"
388msgid "Add a review"
411msgstr "Afegiu una ressenya"
389msgstr "Afegiu una ressenya"
412
390
413−#: qml/Dash/PullToRefreshScopeStyle.qml:55
391+#: qml/Dash/PullToRefreshScopeStyle.qml:56
414msgid "Pull to refresh…"
392msgid "Pull to refresh…"
415msgstr "Estireu per actualitzar..."
393msgstr "Estireu per actualitzar..."
416
394
417−#: qml/Dash/PullToRefreshScopeStyle.qml:60
395+#: qml/Dash/PullToRefreshScopeStyle.qml:61
418msgid "Release to refresh…"
396msgid "Release to refresh…"
419msgstr "Deixeu anar per actualitzar..."
397msgstr "Deixeu anar per actualitzar..."
420
398
@@ -422,15 +400,15 @@ msgstr "Deixeu anar per actualitzar..."
422msgid "Enable location data"
400msgid "Enable location data"
423msgstr "Habilita les dades d'ubicació"
401msgstr "Habilita les dades d'ubicació"
424
402
425−#: qml/Dash/ScopesList.qml:55
403+#: qml/Dash/ScopesList.qml:57
426msgid "Manage"
404msgid "Manage"
427msgstr "Gestiona"
405msgstr "Gestiona"
428
406
429−#: qml/Dash/ScopesList.qml:102
407+#: qml/Dash/ScopesList.qml:104
430msgid "Home"
408msgid "Home"
431msgstr "Inici"
409msgstr "Inici"
432
410
433−#: qml/Dash/ScopesList.qml:103
411+#: qml/Dash/ScopesList.qml:105
434msgid "Also installed"
412msgid "Also installed"
435msgstr "També instal·lat"
413msgstr "També instal·lat"
436
414
@@ -446,86 +424,56 @@ msgstr ""
446msgid "Unlock"
424msgid "Unlock"
447msgstr "Desbloca"
425msgstr "Desbloca"
448
426
449−#: qml/Greeter/Greeter.qml:555
427+#: qml/Greeter/DelayedLockscreen.qml:43
450−msgid "Try again"
428+msgid "Device Locked"
451−msgstr ""
429+msgstr "Dispositiu bloquejat"
452−
453−#: qml/Greeter/LoginList.qml:63
454−msgid "Passphrase"
455−msgstr ""
456−
457−#: qml/Greeter/LoginList.qml:64
458−msgid "Passcode"
459−msgstr ""
460−
461−#: qml/Greeter/LoginList.qml:87
462−msgid "Retry"
463−msgstr "Torna-ho a provar"
464−
465−#: qml/Greeter/LoginList.qml:88
466−msgid "Log In"
467−msgstr ""
468−
469−#: qml/Greeter/NarrowView.qml:55
470−msgid "Sorry, incorrect passphrase."
471−msgstr "La contrasenya és incorrecta"
472−
473−#: qml/Greeter/NarrowView.qml:56
474−msgid "Sorry, incorrect passcode."
475−msgstr "El codi d'accés no és correcte"
476−
477−#: qml/Greeter/NarrowView.qml:57
478−msgid "This will be your last attempt."
479−msgstr "Aquest serà el darrer intent."
480
430
481−#: qml/Greeter/NarrowView.qml:59
431+#: qml/Greeter/DelayedLockscreen.qml:58
482−msgid ""
432+msgid "You have been locked out due to too many failed passphrase attempts."
483−"If passphrase is entered incorrectly, your phone will conduct a factory "
484−"reset and all personal data will be deleted."
485msgstr ""
433msgstr ""
486−"Si la contrasenya s'introdueix de manera incorrecta, el telèfon es "
434+"Se us ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
487−"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
435+"d'intents d'introducció de la contrasenya."
488−"personals."
489
436
490−#: qml/Greeter/NarrowView.qml:60
437+#: qml/Greeter/DelayedLockscreen.qml:59
491−msgid ""
438+msgid "You have been locked out due to too many failed passcode attempts."
492−"If passcode is entered incorrectly, your phone will conduct a factory reset "
493−"and all personal data will be deleted."
494msgstr ""
439msgstr ""
495−"Si el codi d'accés s'introdueix de manera incorrecta, el telèfon es "
440+"Se us ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
496−"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
441+"d'intents d'introducció del codi d'accés."
497−"personals."
498
442
499−#: qml/Greeter/NarrowView.qml:129
443+#: qml/Greeter/DelayedLockscreen.qml:68
500#, qt-format
444#, qt-format
501−msgid "Enter %1"
445+msgid "Please wait %1 minute and then try again…"
502−msgstr "Introduïu: %1"
446+msgid_plural "Please wait %1 minutes and then try again…"
447+msgstr[0] "Espereu %1 minut i torneu-ho a intentar..."
448+msgstr[1] "Espereu %1 minuts i torneu-ho a intentar..."
503
449
504−#: qml/Greeter/NarrowView.qml:130
450+#: qml/Greeter/Greeter.qml:596
505−msgid "Enter passphrase"
451+msgid "Try again"
506−msgstr "Introduïu la contrasenya"
452+msgstr "Torna-ho a provar"
507
453
508−#: qml/Greeter/NarrowView.qml:131
454+#: qml/Greeter/LoginList.qml:70
509−msgid "Enter passcode"
455+msgid "Passphrase"
510−msgstr "Introduïu el codi d'accés"
456+msgstr "Contrasenya"
511
457
512−#: qml/Greeter/NarrowView.qml:135
458+#: qml/Greeter/LoginList.qml:71
513−#, qt-format
459+msgid "Passcode"
514−msgid "Sorry, incorrect %1"
460+msgstr "Codi d'accés"
515−msgstr "Incorrecte (%1)"
516
461
517−#: qml/Greeter/NarrowView.qml:136
462+#: qml/Greeter/LoginList.qml:98
518−msgid "Sorry, incorrect passphrase"
463+msgid "Retry"
519−msgstr "La contrasenya no és correcta"
464+msgstr "Torna-ho a provar"
520
465
521−#: qml/Greeter/NarrowView.qml:137
466+#: qml/Greeter/LoginList.qml:99
522−msgctxt "passphrase"
467+msgid "Log In"
523−msgid "Please re-enter"
468+msgstr "Inici de sessió"
524−msgstr "Torneu-ho a introduir"
525
469
526−#: qml/Greeter/NarrowView.qml:138
470+#: qml/Greeter/NarrowView.qml:252
527−msgid "Sorry, incorrect passcode"
471+msgid "Emergency"
528−msgstr "El codi d'accés no és correcte"
472+msgstr "Emergència"
473+
474+#: qml/Greeter/SessionsList.qml:122
475+msgid "Select desktop environment"
476+msgstr "Seleccioneu l'entorn d'escriptori"
529
477
530#: qml/Notifications/NotificationMenuItemFactory.qml:124
478#: qml/Notifications/NotificationMenuItemFactory.qml:124
531msgid "Show password"
479msgid "Show password"
@@ -539,62 +487,62 @@ msgstr "Feu un toc per tornar a la trucada..."
539msgid "Conference"
487msgid "Conference"
540msgstr "Conferència"
488msgstr "Conferència"
541
489
542−#: qml/Panel/Indicators/MenuItemFactory.qml:762
490+#: qml/Panel/Indicators/MenuItemFactory.qml:847
543msgid "Nothing is playing"
491msgid "Nothing is playing"
544msgstr "No s'està reproduint res"
492msgstr "No s'està reproduint res"
545
493
546−#: qml/Panel/Indicators/MenuItemFactory.qml:891
494+#: qml/Panel/Indicators/MenuItemFactory.qml:975
547#, qt-format
495#, qt-format
548msgid "%1 hour"
496msgid "%1 hour"
549msgid_plural "%1 hours"
497msgid_plural "%1 hours"
550msgstr[0] "%1 hora"
498msgstr[0] "%1 hora"
551msgstr[1] "%1 hores"
499msgstr[1] "%1 hores"
552
500
553−#: qml/Panel/Indicators/MenuItemFactory.qml:895
501+#: qml/Panel/Indicators/MenuItemFactory.qml:979
554#, qt-format
502#, qt-format
555msgid "%1 minute"
503msgid "%1 minute"
556msgid_plural "%1 minutes"
504msgid_plural "%1 minutes"
557msgstr[0] "%1 minut"
505msgstr[0] "%1 minut"
558msgstr[1] "%1 minuts"
506msgstr[1] "%1 minuts"
559
507
560−#: qml/Panel/Indicators/MenuItemFactory.qml:900
508+#: qml/Panel/Indicators/MenuItemFactory.qml:984
561#, qt-format
509#, qt-format
562msgid "%1 second"
510msgid "%1 second"
563msgid_plural "%1 seconds"
511msgid_plural "%1 seconds"
564msgstr[0] "%1 segon"
512msgstr[0] "%1 segon"
565msgstr[1] "%1 segons"
513msgstr[1] "%1 segons"
566
514
567−#: qml/Panel/Indicators/MenuItemFactory.qml:903
515+#: qml/Panel/Indicators/MenuItemFactory.qml:987
568msgid "0 seconds"
516msgid "0 seconds"
569msgstr "0 segons"
517msgstr "0 segons"
570
518
571#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
519#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
572−#: qml/Panel/Indicators/MenuItemFactory.qml:905
520+#: qml/Panel/Indicators/MenuItemFactory.qml:989
573#, qt-format
521#, qt-format
574msgid "%1 remaining"
522msgid "%1 remaining"
575msgstr "Resta %1"
523msgstr "Resta %1"
576
524
577−#: qml/Panel/Indicators/MenuItemFactory.qml:911
525+#: qml/Panel/Indicators/MenuItemFactory.qml:995
578msgid "In queue…"
526msgid "In queue…"
579msgstr "A la cua..."
527msgstr "A la cua..."
580
528
581−#: qml/Panel/Indicators/MenuItemFactory.qml:915
529+#: qml/Panel/Indicators/MenuItemFactory.qml:999
582msgid "Downloading"
530msgid "Downloading"
583msgstr "S'està baixant"
531msgstr "S'està baixant"
584
532
585−#: qml/Panel/Indicators/MenuItemFactory.qml:917
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
586msgid "Paused, tap to resume"
534msgid "Paused, tap to resume"
587msgstr "En pausa, feu un toc per continuar"
535msgstr "En pausa, feu un toc per continuar"
588
536
589−#: qml/Panel/Indicators/MenuItemFactory.qml:919
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
590msgid "Canceled"
538msgid "Canceled"
591msgstr "S'ha cancel·lat"
539msgstr "S'ha cancel·lat"
592
540
593−#: qml/Panel/Indicators/MenuItemFactory.qml:921
541+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
594msgid "Finished"
542msgid "Finished"
595msgstr "S'ha finalitzat"
543msgstr "S'ha finalitzat"
596
544
597−#: qml/Panel/Indicators/MenuItemFactory.qml:923
545+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
598msgid "Failed, tap to retry"
546msgid "Failed, tap to retry"
599msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
547msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
600
548
@@ -614,7 +562,7 @@ msgctxt "Button: Call back on phone"
614msgid "Call back"
562msgid "Call back"
615msgstr "Retorna la trucada"
563msgstr "Retorna la trucada"
616
564
617−#: qml/Stages/SideStage.qml:76
565+#: qml/Stage/SideStage.qml:76
618msgid "Drag using 3 fingers any application from one window to the other"
566msgid "Drag using 3 fingers any application from one window to the other"
619msgstr ""
567msgstr ""
620"Arrossegueu usant 3 dits qualsevol aplicació d'una finestra a una altra"
568"Arrossegueu usant 3 dits qualsevol aplicació d'una finestra a una altra"
@@ -627,58 +575,78 @@ msgstr ""
627#: qml/Tutorial/TutorialLeft.qml:47
575#: qml/Tutorial/TutorialLeft.qml:47
628msgid "Short swipe from the left edge to open the launcher"
576msgid "Short swipe from the left edge to open the launcher"
629msgstr ""
577msgstr ""
578+"Passeu el dit breument des de la vora esquerra per obrir el llançador"
630
579
631#: qml/Tutorial/TutorialRight.qml:55
580#: qml/Tutorial/TutorialRight.qml:55
632msgid "Push your mouse against the right edge to view your open apps"
581msgid "Push your mouse against the right edge to view your open apps"
633msgstr ""
582msgstr ""
583+"Empenyeu el ratolí contra la vora dreta per veure les vostres aplicacions "
584+"obertes"
634
585
635#: qml/Tutorial/TutorialRight.qml:56
586#: qml/Tutorial/TutorialRight.qml:56
636msgid "Swipe from the right edge to view your open apps"
587msgid "Swipe from the right edge to view your open apps"
637msgstr ""
588msgstr ""
589+"Passeu el dit des de la vora dreta per veure les vostres aplicacions obertes"
638
590
639#: qml/Tutorial/TutorialTop.qml:53
591#: qml/Tutorial/TutorialTop.qml:53
640msgid "Swipe from the top edge to access notifications and quick settings"
592msgid "Swipe from the top edge to access notifications and quick settings"
641msgstr ""
593msgstr ""
594+"Passeu el dit des de la vora superior per accedir les notificacions i les "
595+"configuracions ràpides"
642
596
643#: qml/Wizard/Page.qml:54
597#: qml/Wizard/Page.qml:54
644msgctxt "Button: Go back one page in the Wizard"
598msgctxt "Button: Go back one page in the Wizard"
645msgid "Back"
599msgid "Back"
646msgstr "Enrere"
600msgstr "Enrere"
647
601
648−#: qml/Wizard/Pages/10-welcome.qml:27
602+#: qml/Wizard/Pages/10-welcome.qml:28
649msgid "Language"
603msgid "Language"
650msgstr "Llengua"
604msgstr "Llengua"
651
605
652−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
606+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
653−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
607+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
608+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
654−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
609+#: qml/Wizard/Pages/70-passwd-type.qml:145
655#: qml/Wizard/Pages/75-report-check.qml:84
610#: qml/Wizard/Pages/75-report-check.qml:84
656−#: qml/Wizard/Pages/passcode-desktop.qml:141
611+#: qml/Wizard/Pages/passcode-desktop.qml:142
657−#: qml/Wizard/Pages/password-set.qml:141
612+#: qml/Wizard/Pages/password-set.qml:142
658msgid "Next"
613msgid "Next"
659msgstr "Següent"
614msgstr "Següent"
660
615
661−#: qml/Wizard/Pages/30-wifi.qml:29
616+#: qml/Wizard/Pages/20-keyboard.qml:31
617+msgid "Select Keyboard"
618+msgstr "Seleccioneu el teclat"
619+
620+#: qml/Wizard/Pages/20-keyboard.qml:71
621+msgid "Keyboard language"
622+msgstr "Llengua del teclat"
623+
624+#: qml/Wizard/Pages/20-keyboard.qml:93
625+msgid "Keyboard layout"
626+msgstr "Disposició del teclat"
627+
628+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
629+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
630+#: qml/Wizard/Pages/sim.qml:101
631+msgid "Skip"
632+msgstr "Omet"
633+
634+#: qml/Wizard/Pages/30-wifi.qml:31
662msgid "Connect to Wi‑Fi"
635msgid "Connect to Wi‑Fi"
663msgstr "Connecta't a la Wi-Fi"
636msgstr "Connecta't a la Wi-Fi"
664
637
665−#: qml/Wizard/Pages/30-wifi.qml:130
638+#: qml/Wizard/Pages/30-wifi.qml:132
666msgid "Connected"
639msgid "Connected"
667msgstr "Connectat"
640msgstr "Connectat"
668
641
669−#: qml/Wizard/Pages/30-wifi.qml:163
642+#: qml/Wizard/Pages/30-wifi.qml:165
670msgid "Available Wi-Fi networks"
643msgid "Available Wi-Fi networks"
671msgstr "Xarxes Wi-Fi disponibles"
644msgstr "Xarxes Wi-Fi disponibles"
672
645
673−#: qml/Wizard/Pages/30-wifi.qml:164
646+#: qml/Wizard/Pages/30-wifi.qml:166
674msgid "No available Wi-Fi networks"
647msgid "No available Wi-Fi networks"
675msgstr "No hi ha xarxes Wi-Fi disponibles"
648msgstr "No hi ha xarxes Wi-Fi disponibles"
676
649
677−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
678−#: qml/Wizard/Pages/sim.qml:101
679−msgid "Skip"
680−msgstr "Omet"
681−
682#: qml/Wizard/Pages/40-location.qml:27
650#: qml/Wizard/Pages/40-location.qml:27
683msgid "Location Services"
651msgid "Location Services"
684msgstr "Serveis d'ubicació"
652msgstr "Serveis d'ubicació"
@@ -713,11 +681,11 @@ msgstr "No usis la meva ubicació"
713msgid "You can change it later in System Settings."
681msgid "You can change it later in System Settings."
714msgstr "Podeu canviar-ho més tard a Paràmetres del sistema."
682msgstr "Podeu canviar-ho més tard a Paràmetres del sistema."
715
683
716−#: qml/Wizard/Pages/50-timezone.qml:29
684+#: qml/Wizard/Pages/50-timezone.qml:30
717msgid "Time Zone"
685msgid "Time Zone"
718msgstr "Fus horari"
686msgstr "Fus horari"
719
687
720−#: qml/Wizard/Pages/50-timezone.qml:181
688+#: qml/Wizard/Pages/50-timezone.qml:182
721msgid "Enter your city"
689msgid "Enter your city"
722msgstr "Entreu la vostra ciutat"
690msgstr "Entreu la vostra ciutat"
723
691
@@ -729,21 +697,21 @@ msgstr "Personalitzeu el vostre dispositiu"
729msgid "Preferred Name"
697msgid "Preferred Name"
730msgstr "Nom preferit"
698msgstr "Nom preferit"
731
699
732−#: qml/Wizard/Pages/70-passwd-type.qml:39
700+#: qml/Wizard/Pages/70-passwd-type.qml:40
733msgid "Lock Screen"
701msgid "Lock Screen"
734msgstr "Bloca la pantalla"
702msgstr "Bloca la pantalla"
735
703
736−#: qml/Wizard/Pages/70-passwd-type.qml:101
704+#: qml/Wizard/Pages/70-passwd-type.qml:102
737msgctxt "Label: Type of security method"
705msgctxt "Label: Type of security method"
738msgid "Create new password"
706msgid "Create new password"
739msgstr "Crea una contrasenya nova"
707msgstr "Crea una contrasenya nova"
740
708
741−#: qml/Wizard/Pages/70-passwd-type.qml:103
709+#: qml/Wizard/Pages/70-passwd-type.qml:104
742msgctxt "Label: Type of security method"
710msgctxt "Label: Type of security method"
743msgid "Create passcode (numbers only)"
711msgid "Create passcode (numbers only)"
744msgstr "Creeu un codi d'accés (sols números)"
712msgstr "Creeu un codi d'accés (sols números)"
745
713
746−#: qml/Wizard/Pages/70-passwd-type.qml:105
714+#: qml/Wizard/Pages/70-passwd-type.qml:106
747msgctxt "Label: Type of security method"
715msgctxt "Label: Type of security method"
748msgid "No lock code"
716msgid "No lock code"
749msgstr "No hi ha codi de bloqueig"
717msgstr "No hi ha codi de bloqueig"
@@ -765,6 +733,37 @@ msgstr ""
765msgid "Privacy policy"
733msgid "Privacy policy"
766msgstr "Política de privacitat"
734msgstr "Política de privacitat"
767
735
736+#: qml/Wizard/Pages/77-system-update.qml:28
737+msgid "Update Device"
738+msgstr "Actualitza el dispositiu"
739+
740+#: qml/Wizard/Pages/77-system-update.qml:55
741+msgid ""
742+"There is a system update available and ready to install. Afterwards, the "
743+"device will automatically restart."
744+msgstr ""
745+"Hi ha una actualització del sistema disponible i llesta per instal·lar. "
746+"Després, el dispositiu es reiniciarà automàticament."
747+
748+#: qml/Wizard/Pages/77-system-update.qml:76
749+msgctxt "string identifying name of the update"
750+msgid "Ubuntu system"
751+msgstr "Sistema de l'Ubuntu"
752+
753+#: qml/Wizard/Pages/77-system-update.qml:83
754+#, qt-format
755+msgctxt "version of the system update"
756+msgid "Version %1"
757+msgstr "Versió %1"
758+
759+#: qml/Wizard/Pages/77-system-update.qml:102
760+msgid "This could take a few minutes..."
761+msgstr "Això pot trigar uns pocs minuts..."
762+
763+#: qml/Wizard/Pages/77-system-update.qml:116
764+msgid "Install and restart now"
765+msgstr "Instal·la i reinicia ara"
766+
768#: qml/Wizard/Pages/80-finished.qml:89
767#: qml/Wizard/Pages/80-finished.qml:89
769msgid "Welcome to Ubuntu"
768msgid "Welcome to Ubuntu"
770msgstr "Us donem la benvinguda a l'Ubuntu"
769msgstr "Us donem la benvinguda a l'Ubuntu"
@@ -815,7 +814,7 @@ msgid "Service Terms"
815msgstr "Termes del servei"
814msgstr "Termes del servei"
816
815
817#: qml/Wizard/Pages/passcode-confirm.qml:43
816#: qml/Wizard/Pages/passcode-confirm.qml:43
818−#: qml/Wizard/Pages/passcode-desktop.qml:96
817+#: qml/Wizard/Pages/passcode-desktop.qml:97
819msgid "Confirm passcode"
818msgid "Confirm passcode"
820msgstr "Confirmeu el codi d'accés"
819msgstr "Confirmeu el codi d'accés"
821
820
@@ -828,28 +827,28 @@ msgctxt "Enter the passcode again"
828msgid "Please re-enter."
827msgid "Please re-enter."
829msgstr "Si us plau torneu a introduir-lo."
828msgstr "Si us plau torneu a introduir-lo."
830
829
831−#: qml/Wizard/Pages/passcode-desktop.qml:30
830+#: qml/Wizard/Pages/passcode-desktop.qml:31
832msgid "Lock Screen Passcode"
831msgid "Lock Screen Passcode"
833msgstr "Codi d'accés al bloqueig de pantalla"
832msgstr "Codi d'accés al bloqueig de pantalla"
834
833
835−#: qml/Wizard/Pages/passcode-desktop.qml:60
834+#: qml/Wizard/Pages/passcode-desktop.qml:61
836msgid "Enter 4 numbers to setup your passcode"
835msgid "Enter 4 numbers to setup your passcode"
837msgstr "Entreu 4 números per establir el codi d'accés"
836msgstr "Entreu 4 números per establir el codi d'accés"
838
837
839−#: qml/Wizard/Pages/passcode-desktop.qml:76
838+#: qml/Wizard/Pages/passcode-desktop.qml:77
840#: qml/Wizard/Pages/passcode-set.qml:54
839#: qml/Wizard/Pages/passcode-set.qml:54
841msgid "Choose passcode"
840msgid "Choose passcode"
842msgstr "Trieu el codi d'accés"
841msgstr "Trieu el codi d'accés"
843
842
844−#: qml/Wizard/Pages/passcode-desktop.qml:126
843+#: qml/Wizard/Pages/passcode-desktop.qml:127
845msgid "Passcode too short"
844msgid "Passcode too short"
846msgstr "El codi d'accés és massa curt"
845msgstr "El codi d'accés és massa curt"
847
846
848−#: qml/Wizard/Pages/passcode-desktop.qml:128
847+#: qml/Wizard/Pages/passcode-desktop.qml:129
849msgid "Passcodes match"
848msgid "Passcodes match"
850msgstr "Els codis d'accés concorden"
849msgstr "Els codis d'accés concorden"
851
850
852−#: qml/Wizard/Pages/passcode-desktop.qml:130
851+#: qml/Wizard/Pages/passcode-desktop.qml:131
853msgid "Passcodes do not match"
852msgid "Passcodes do not match"
854msgstr "Els codis d'accés no concorden"
853msgstr "Els codis d'accés no concorden"
855
854
@@ -857,19 +856,19 @@ msgstr "Els codis d'accés no concorden"
857msgid "Passcode must be 4 characters long"
856msgid "Passcode must be 4 characters long"
858msgstr "El codi d'accés ha de tenir una longitud de 4 caràcters"
857msgstr "El codi d'accés ha de tenir una longitud de 4 caràcters"
859
858
860−#: qml/Wizard/Pages/password-set.qml:30
859+#: qml/Wizard/Pages/password-set.qml:31
861msgid "Lock Screen Password"
860msgid "Lock Screen Password"
862msgstr "Contrasenya de bloqueig de pantalla"
861msgstr "Contrasenya de bloqueig de pantalla"
863
862
864−#: qml/Wizard/Pages/password-set.qml:61
863+#: qml/Wizard/Pages/password-set.qml:62
865msgid "Enter at least 8 characters"
864msgid "Enter at least 8 characters"
866msgstr "Entreu almenys 8 caràcters"
865msgstr "Entreu almenys 8 caràcters"
867
866
868−#: qml/Wizard/Pages/password-set.qml:73
867+#: qml/Wizard/Pages/password-set.qml:74
869msgid "Choose password"
868msgid "Choose password"
870msgstr "Escolliu la contrasenya"
869msgstr "Escolliu la contrasenya"
871
870
872−#: qml/Wizard/Pages/password-set.qml:103
871+#: qml/Wizard/Pages/password-set.qml:104
873msgid "Confirm password"
872msgid "Confirm password"
874msgstr "Confirmeu la contrasenya"
873msgstr "Confirmeu la contrasenya"
875
874
@@ -899,7 +898,7 @@ msgstr "Per procedir sense cap SIM toqueu Omet."
899
898
900#: qml/Wizard/PasswordMeter.qml:87
899#: qml/Wizard/PasswordMeter.qml:87
901msgid "Password too short"
900msgid "Password too short"
902−msgstr ""
901+msgstr "La contrasenya es massa curta"
903
902
904#: qml/Wizard/PasswordMeter.qml:89
903#: qml/Wizard/PasswordMeter.qml:89
905msgid "Passwords match"
904msgid "Passwords match"
@@ -1004,12 +1003,33 @@ msgstr "La contrasenya és molt dèbil"
1004#~ msgid "Roaming"
1003#~ msgid "Roaming"
1005#~ msgstr "Itinerància"
1004#~ msgstr "Itinerància"
1006
1005
1006+#~ msgid "Sorry, incorrect passphrase."
1007+#~ msgstr "La contrasenya és incorrecta"
1008+
1009+#~ msgid ""
1010+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1011+#~ "reset and all personal data will be deleted."
1012+#~ msgstr ""
1013+#~ "Si la contrasenya s'introdueix de manera incorrecta, el telèfon es "
1014+#~ "reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
1015+#~ "personals."
1016+
1017+#~ msgid "This will be your last attempt."
1018+#~ msgstr "Aquest serà el darrer intent."
1019+
1007#~ msgid "Favorites"
1020#~ msgid "Favorites"
1008#~ msgstr "Preferides"
1021#~ msgstr "Preferides"
1009
1022
1010#~ msgid "All"
1023#~ msgid "All"
1011#~ msgstr "Totes"
1024#~ msgstr "Totes"
1012
1025
1026+#, qt-format
1027+#~ msgid "Sorry, incorrect %1"
1028+#~ msgstr "Incorrecte (%1)"
1029+
1030+#~ msgid "Sorry, incorrect passphrase"
1031+#~ msgstr "La contrasenya no és correcta"
1032+
1013#~ msgid "Log out"
1033#~ msgid "Log out"
1014#~ msgstr "Surt"
1034#~ msgstr "Surt"
1015
1035
@@ -1022,6 +1042,9 @@ msgstr "La contrasenya és molt dèbil"
1022#~ msgid "Power"
1042#~ msgid "Power"
1023#~ msgstr "Energia"
1043#~ msgstr "Energia"
1024
1044
1045+#~ msgid "Sorry, incorrect passcode"
1046+#~ msgstr "El codi d'accés no és correcte"
1047+
1025#~ msgid "Power off"
1048#~ msgid "Power off"
1026#~ msgstr "Apaga"
1049#~ msgstr "Apaga"
1027
1050
@@ -1031,12 +1054,33 @@ msgstr "La contrasenya és molt dèbil"
1031#~ msgid "Shut down"
1054#~ msgid "Shut down"
1032#~ msgstr "Apaga"
1055#~ msgstr "Apaga"
1033
1056
1057+#~ msgid "Sorry, incorrect passcode."
1058+#~ msgstr "El codi d'accés no és correcte"
1059+
1060+#~ msgid ""
1061+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
1062+#~ "and all personal data will be deleted."
1063+#~ msgstr ""
1064+#~ "Si el codi d'accés s'introdueix de manera incorrecta, el telèfon es "
1065+#~ "reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
1066+#~ "personals."
1067+
1068+#~ msgid "Enter passphrase"
1069+#~ msgstr "Introduïu la contrasenya"
1070+
1034#~ msgid "Please re-enter"
1071#~ msgid "Please re-enter"
1035#~ msgstr "Torneu-ho a introduir"
1072#~ msgstr "Torneu-ho a introduir"
1036
1073
1074+#~ msgid "Enter passcode"
1075+#~ msgstr "Introduïu el codi d'accés"
1076+
1037#~ msgid "Manage Scopes"
1077#~ msgid "Manage Scopes"
1038#~ msgstr "Gestioneu les lents"
1078#~ msgstr "Gestioneu les lents"
1039
1079
1080+#, qt-format
1081+#~ msgid "Enter %1"
1082+#~ msgstr "Introduïu: %1"
1083+
1040#~ msgid "Add a SIM card and restart your device"
1084#~ msgid "Add a SIM card and restart your device"
1041#~ msgstr "Afegiu una targeta SIM i reinicieu el dispositiu"
1085#~ msgstr "Afegiu una targeta SIM i reinicieu el dispositiu"
1042
1086
@@ -1252,6 +1296,10 @@ msgstr "La contrasenya és molt dèbil"
1252#~ msgid "%l:%M %p"
1296#~ msgid "%l:%M %p"
1253#~ msgstr "%l∶%M %p"
1297#~ msgstr "%l∶%M %p"
1254
1298
1299+#~ msgctxt "passphrase"
1300+#~ msgid "Please re-enter"
1301+#~ msgstr "Torneu-ho a introduir"
1302+
1255#~ msgid "Call back"
1303#~ msgid "Call back"
1256#~ msgstr "Retorna la trucada"
1304#~ msgstr "Retorna la trucada"
1257
1305
po/ca@valencia.po+214−178
@@ -7,105 +7,83 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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@gmail.com>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:54+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:58+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr "Contrasenya: "
23msgstr "Contrasenya: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Apega la drecera"
28msgstr "Apega la drecera"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Desenganxa la drecera"
36msgstr "Desenganxa la drecera"
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr "Dispositiu bloquejat"
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−"Se vos ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
46−"d'intents d'introducció de la contrasenya."
47−
48−#: qml/Components/DelayedLockscreen.qml:66
49−msgid "You have been locked out due to too many failed passcode attempts."
50−msgstr ""
51−"Se vos ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
52−"d'intents d'introducció del codi d'accés."
53−
54−#: qml/Components/DelayedLockscreen.qml:75
55−#, qt-format
56−msgid "Please wait %1 minute and then try again…"
57−msgid_plural "Please wait %1 minutes and then try again…"
58−msgstr[0] "Espereu %1 minut i torneu-ho a intentar..."
59−msgstr[1] "Espereu %1 minuts i torneu-ho a intentar..."
60−
61−#: qml/Components/Dialogs.qml:144
62msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
40msgid "Log out"
64msgstr ""
41msgstr ""
65
42
66−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
67msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
68msgstr "Segur que voleu eixir?"
45msgstr "Segur que voleu eixir?"
69
46
70−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
71msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
72msgid "Lock"
49msgid "Lock"
73msgstr ""
50msgstr ""
74
51
75−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
76msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
77msgid "Log Out"
54msgid "Log Out"
78msgstr ""
55msgstr ""
79
56
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
61msgid "Cancel"
84msgstr "Cancel·la"
62msgstr "Cancel·la"
85
63
86−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
87msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
88msgid "Reboot"
66msgid "Reboot"
89msgstr ""
67msgstr ""
90
68
91−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
92msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
93msgstr "Segur que voleu reiniciar?"
71msgstr "Segur que voleu reiniciar?"
94
72
95−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
96msgid "No"
74msgid "No"
97msgstr "No"
75msgstr "No"
98
76
99−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
100msgid "Yes"
78msgid "Yes"
101msgstr "Sí"
79msgstr "Sí"
102
80
103−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
104msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
83msgid "Power"
106msgstr ""
84msgstr ""
107
85
108−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
109msgid ""
87msgid ""
110"Are you sure you would like\n"
88"Are you sure you would like\n"
111"to power off?"
89"to power off?"
@@ -113,12 +91,12 @@ msgstr ""
113"Segur que voleu\n"
91"Segur que voleu\n"
114"apagar?"
92"apagar?"
115
93
116−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
117msgctxt "Button: Power off the system"
95msgctxt "Button: Power off the system"
118msgid "Power off"
96msgid "Power off"
119msgstr ""
97msgstr ""
120
98
121−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
122msgctxt "Button: Restart the system"
100msgctxt "Button: Restart the system"
123msgid "Restart"
101msgid "Restart"
124msgstr ""
102msgstr ""
@@ -283,15 +261,15 @@ msgstr ""
283msgid "Closes the current window."
261msgid "Closes the current window."
284msgstr ""
262msgstr ""
285
263
286−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287msgid "Return to Call"
265msgid "Return to Call"
288msgstr "Torna a la cridada"
266msgstr "Torna a la cridada"
289
267
290−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
291msgid "Emergency Call"
269msgid "Emergency Call"
292msgstr "Cridada d'emergència"
270msgstr "Cridada d'emergència"
293
271
294−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
295msgid "OK"
273msgid "OK"
296msgstr "D'acord"
274msgstr "D'acord"
297
275
@@ -335,84 +313,84 @@ msgstr ""
335msgid "Preview Share Item"
313msgid "Preview Share Item"
336msgstr ""
314msgstr ""
337
315
338−#: qml/Dash/DashPageHeader.qml:333
316+#: qml/Dash/DashPageHeader.qml:361
339msgctxt "Button: Open the Ubuntu Store"
317msgctxt "Button: Open the Ubuntu Store"
340msgid "Store"
318msgid "Store"
341msgstr ""
319msgstr ""
342
320
343−#: qml/Dash/DashPageHeader.qml:340
321+#: qml/Dash/DashPageHeader.qml:368
344msgctxt "Button: Start a search in the current dash scope"
322msgctxt "Button: Start a search in the current dash scope"
345msgid "Search"
323msgid "Search"
346msgstr ""
324msgstr ""
347
325
348−#: qml/Dash/DashPageHeader.qml:350
326+#: qml/Dash/DashPageHeader.qml:378
349msgctxt "Button: Show the current dash scope settings"
327msgctxt "Button: Show the current dash scope settings"
350msgid "Settings"
328msgid "Settings"
351msgstr ""
329msgstr ""
352
330
353−#: qml/Dash/DashPageHeader.qml:357
331+#: qml/Dash/DashPageHeader.qml:385
354msgid "Remove from Favorites"
332msgid "Remove from Favorites"
355msgstr "Suprimeix dels preferits"
333msgstr "Suprimeix dels preferits"
356
334
357−#: qml/Dash/DashPageHeader.qml:357
335+#: qml/Dash/DashPageHeader.qml:385
358msgid "Add to Favorites"
336msgid "Add to Favorites"
359msgstr "Afig als preferits"
337msgstr "Afig als preferits"
360
338
361−#: qml/Dash/FiltersPopover.qml:60
339+#: qml/Dash/FiltersPopover.qml:61
362msgid "Refine your results"
340msgid "Refine your results"
363msgstr ""
341msgstr ""
364
342
365−#: qml/Dash/FiltersPopover.qml:69
343+#: qml/Dash/FiltersPopover.qml:70
366msgid "Reset"
344msgid "Reset"
367msgstr ""
345msgstr ""
368
346
369−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
347+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
370msgid "Show less"
348msgid "Show less"
371msgstr ""
349msgstr ""
372
350
373−#: qml/Dash/GenericScopeView.qml:580
351+#: qml/Dash/GenericScopeView.qml:547
374msgid "Show all"
352msgid "Show all"
375msgstr ""
353msgstr ""
376
354
377−#: qml/Dash/GenericScopeView.qml:637
355+#: qml/Dash/GenericScopeView.qml:578
378msgctxt "Label: Hint for dash search line edit"
356msgctxt "Label: Hint for dash search line edit"
379msgid "Search"
357msgid "Search"
380msgstr ""
358msgstr ""
381
359
382−#: qml/Dash/PageHeaderExtraPanel.qml:56
360+#: qml/Dash/PageHeaderExtraPanel.qml:67
383msgid "Recent Searches"
361msgid "Recent Searches"
384msgstr ""
362msgstr ""
385
363
386−#: qml/Dash/PageHeaderExtraPanel.qml:67
364+#: qml/Dash/PageHeaderExtraPanel.qml:78
387msgid "Clear All"
365msgid "Clear All"
388msgstr ""
366msgstr ""
389
367
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
368+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391msgid "More..."
369msgid "More..."
392msgstr "Més..."
370msgstr "Més..."
393
371
394−#: qml/Dash/Previews/PreviewActionCombo.qml:35
372+#: qml/Dash/Previews/PreviewActionCombo.qml:36
395msgid "Less..."
373msgid "Less..."
396msgstr "Menys..."
374msgstr "Menys..."
397
375
398−#: qml/Dash/Previews/PreviewCommentInput.qml:68
376+#: qml/Dash/Previews/PreviewCommentInput.qml:83
399−#: qml/Dash/Previews/PreviewRatingInput.qml:175
377+#: qml/Dash/Previews/PreviewRatingInput.qml:202
400msgid "Send"
378msgid "Send"
401msgstr "Envia"
379msgstr "Envia"
402
380
403−#: qml/Dash/Previews/PreviewRatingInput.qml:82
381+#: qml/Dash/Previews/PreviewRatingInput.qml:109
404msgid "Rate this"
382msgid "Rate this"
405msgstr "Puntueu-ho"
383msgstr "Puntueu-ho"
406
384
407−#: qml/Dash/Previews/PreviewRatingInput.qml:157
385+#: qml/Dash/Previews/PreviewRatingInput.qml:184
408msgid "Add a review"
386msgid "Add a review"
409msgstr "Afegiu una ressenya"
387msgstr "Afegiu una ressenya"
410
388
411−#: qml/Dash/PullToRefreshScopeStyle.qml:55
389+#: qml/Dash/PullToRefreshScopeStyle.qml:56
412msgid "Pull to refresh…"
390msgid "Pull to refresh…"
413msgstr "Estireu per actualitzar..."
391msgstr "Estireu per actualitzar..."
414
392
415−#: qml/Dash/PullToRefreshScopeStyle.qml:60
393+#: qml/Dash/PullToRefreshScopeStyle.qml:61
416msgid "Release to refresh…"
394msgid "Release to refresh…"
417msgstr "Deixeu anar per actualitzar..."
395msgstr "Deixeu anar per actualitzar..."
418
396
@@ -420,15 +398,15 @@ msgstr "Deixeu anar per actualitzar..."
420msgid "Enable location data"
398msgid "Enable location data"
421msgstr "Habilita les dades d'ubicació"
399msgstr "Habilita les dades d'ubicació"
422
400
423−#: qml/Dash/ScopesList.qml:55
401+#: qml/Dash/ScopesList.qml:57
424msgid "Manage"
402msgid "Manage"
425msgstr "Gestiona"
403msgstr "Gestiona"
426
404
427−#: qml/Dash/ScopesList.qml:102
405+#: qml/Dash/ScopesList.qml:104
428msgid "Home"
406msgid "Home"
429msgstr "Inici"
407msgstr "Inici"
430
408
431−#: qml/Dash/ScopesList.qml:103
409+#: qml/Dash/ScopesList.qml:105
432msgid "Also installed"
410msgid "Also installed"
433msgstr "També instal·lat"
411msgstr "També instal·lat"
434
412
@@ -442,87 +420,57 @@ msgstr ""
442msgid "Unlock"
420msgid "Unlock"
443msgstr "Desbloca"
421msgstr "Desbloca"
444
422
445−#: qml/Greeter/Greeter.qml:555
423+#: qml/Greeter/DelayedLockscreen.qml:43
424+msgid "Device Locked"
425+msgstr "Dispositiu bloquejat"
426+
427+#: qml/Greeter/DelayedLockscreen.qml:58
428+msgid "You have been locked out due to too many failed passphrase attempts."
429+msgstr ""
430+"Se vos ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
431+"d'intents d'introducció de la contrasenya."
432+
433+#: qml/Greeter/DelayedLockscreen.qml:59
434+msgid "You have been locked out due to too many failed passcode attempts."
435+msgstr ""
436+"Se vos ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
437+"d'intents d'introducció del codi d'accés."
438+
439+#: qml/Greeter/DelayedLockscreen.qml:68
440+#, qt-format
441+msgid "Please wait %1 minute and then try again…"
442+msgid_plural "Please wait %1 minutes and then try again…"
443+msgstr[0] "Espereu %1 minut i torneu-ho a intentar..."
444+msgstr[1] "Espereu %1 minuts i torneu-ho a intentar..."
445+
446+#: qml/Greeter/Greeter.qml:596
446msgid "Try again"
447msgid "Try again"
447msgstr ""
448msgstr ""
448
449
449−#: qml/Greeter/LoginList.qml:63
450+#: qml/Greeter/LoginList.qml:70
450msgid "Passphrase"
451msgid "Passphrase"
451msgstr ""
452msgstr ""
452
453
453−#: qml/Greeter/LoginList.qml:64
454+#: qml/Greeter/LoginList.qml:71
454msgid "Passcode"
455msgid "Passcode"
455msgstr ""
456msgstr ""
456
457
457−#: qml/Greeter/LoginList.qml:87
458+#: qml/Greeter/LoginList.qml:98
458msgid "Retry"
459msgid "Retry"
459msgstr ""
460msgstr ""
460
461
461−#: qml/Greeter/LoginList.qml:88
462+#: qml/Greeter/LoginList.qml:99
462msgid "Log In"
463msgid "Log In"
463msgstr ""
464msgstr ""
464
465
465−#: qml/Greeter/NarrowView.qml:55
466+#: qml/Greeter/NarrowView.qml:252
466−msgid "Sorry, incorrect passphrase."
467−msgstr "La contrasenya és incorrecta"
468−
469−#: qml/Greeter/NarrowView.qml:56
470−msgid "Sorry, incorrect passcode."
471−msgstr "El codi d'accés no és correcte"
472−
473−#: qml/Greeter/NarrowView.qml:57
474−msgid "This will be your last attempt."
475−msgstr "Este serà el darrer intent."
476−
477−#: qml/Greeter/NarrowView.qml:59
478−msgid ""
479−"If passphrase is entered incorrectly, your phone will conduct a factory "
480−"reset and all personal data will be deleted."
481−msgstr ""
482−"Si la contrasenya s'introdueix de manera incorrecta, el telèfon es "
483−"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
484−"personals."
485−
486−#: qml/Greeter/NarrowView.qml:60
487−msgid ""
467+msgid "Emergency"
488−"If passcode is entered incorrectly, your phone will conduct a factory reset "
489−"and all personal data will be deleted."
490msgstr ""
468msgstr ""
491−"Si el codi d'accés s'introdueix de manera incorrecta, el telèfon es "
492−"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
493−"personals."
494−
495−#: qml/Greeter/NarrowView.qml:129
496−#, qt-format
497−msgid "Enter %1"
498−msgstr "Introduïu: %1"
499−
500−#: qml/Greeter/NarrowView.qml:130
501−msgid "Enter passphrase"
502−msgstr "Introduïu la contrasenya"
503
469
504−#: qml/Greeter/NarrowView.qml:131
470+#: qml/Greeter/SessionsList.qml:122
505−msgid "Enter passcode"
471+msgid "Select desktop environment"
506−msgstr "Introduïu el codi d'accés"
507−
508−#: qml/Greeter/NarrowView.qml:135
509−#, qt-format
510−msgid "Sorry, incorrect %1"
511−msgstr "Incorrecte (%1)"
512−
513−#: qml/Greeter/NarrowView.qml:136
514−msgid "Sorry, incorrect passphrase"
515−msgstr "La contrasenya no és correcta"
516−
517−#: qml/Greeter/NarrowView.qml:137
518−msgctxt "passphrase"
519−msgid "Please re-enter"
520msgstr ""
472msgstr ""
521
473
522−#: qml/Greeter/NarrowView.qml:138
523−msgid "Sorry, incorrect passcode"
524−msgstr "El codi d'accés no és correcte"
525−
526#: qml/Notifications/NotificationMenuItemFactory.qml:124
474#: qml/Notifications/NotificationMenuItemFactory.qml:124
527msgid "Show password"
475msgid "Show password"
528msgstr "Mostra la contrasenya"
476msgstr "Mostra la contrasenya"
@@ -535,62 +483,62 @@ msgstr "Feu un toc per tornar a la cridada..."
535msgid "Conference"
483msgid "Conference"
536msgstr "Conferència"
484msgstr "Conferència"
537
485
538−#: qml/Panel/Indicators/MenuItemFactory.qml:762
486+#: qml/Panel/Indicators/MenuItemFactory.qml:847
539msgid "Nothing is playing"
487msgid "Nothing is playing"
540msgstr "No s'està reproduint res"
488msgstr "No s'està reproduint res"
541
489
542−#: qml/Panel/Indicators/MenuItemFactory.qml:891
490+#: qml/Panel/Indicators/MenuItemFactory.qml:975
543#, qt-format
491#, qt-format
544msgid "%1 hour"
492msgid "%1 hour"
545msgid_plural "%1 hours"
493msgid_plural "%1 hours"
546msgstr[0] ""
494msgstr[0] ""
547msgstr[1] ""
495msgstr[1] ""
548
496
549−#: qml/Panel/Indicators/MenuItemFactory.qml:895
497+#: qml/Panel/Indicators/MenuItemFactory.qml:979
550#, qt-format
498#, qt-format
551msgid "%1 minute"
499msgid "%1 minute"
552msgid_plural "%1 minutes"
500msgid_plural "%1 minutes"
553msgstr[0] ""
501msgstr[0] ""
554msgstr[1] ""
502msgstr[1] ""
555
503
556−#: qml/Panel/Indicators/MenuItemFactory.qml:900
504+#: qml/Panel/Indicators/MenuItemFactory.qml:984
557#, qt-format
505#, qt-format
558msgid "%1 second"
506msgid "%1 second"
559msgid_plural "%1 seconds"
507msgid_plural "%1 seconds"
560msgstr[0] ""
508msgstr[0] ""
561msgstr[1] ""
509msgstr[1] ""
562
510
563−#: qml/Panel/Indicators/MenuItemFactory.qml:903
511+#: qml/Panel/Indicators/MenuItemFactory.qml:987
564msgid "0 seconds"
512msgid "0 seconds"
565msgstr ""
513msgstr ""
566
514
567#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
515#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
568−#: qml/Panel/Indicators/MenuItemFactory.qml:905
516+#: qml/Panel/Indicators/MenuItemFactory.qml:989
569#, qt-format
517#, qt-format
570msgid "%1 remaining"
518msgid "%1 remaining"
571msgstr ""
519msgstr ""
572
520
573−#: qml/Panel/Indicators/MenuItemFactory.qml:911
521+#: qml/Panel/Indicators/MenuItemFactory.qml:995
574msgid "In queue…"
522msgid "In queue…"
575msgstr "A la cua..."
523msgstr "A la cua..."
576
524
577−#: qml/Panel/Indicators/MenuItemFactory.qml:915
525+#: qml/Panel/Indicators/MenuItemFactory.qml:999
578msgid "Downloading"
526msgid "Downloading"
579msgstr "S'està baixant"
527msgstr "S'està baixant"
580
528
581−#: qml/Panel/Indicators/MenuItemFactory.qml:917
529+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
582msgid "Paused, tap to resume"
530msgid "Paused, tap to resume"
583msgstr "En pausa, feu un toc per continuar"
531msgstr "En pausa, feu un toc per continuar"
584
532
585−#: qml/Panel/Indicators/MenuItemFactory.qml:919
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
586msgid "Canceled"
534msgid "Canceled"
587msgstr "S'ha cancel·lat"
535msgstr "S'ha cancel·lat"
588
536
589−#: qml/Panel/Indicators/MenuItemFactory.qml:921
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
590msgid "Finished"
538msgid "Finished"
591msgstr "S'ha finalitzat"
539msgstr "S'ha finalitzat"
592
540
593−#: qml/Panel/Indicators/MenuItemFactory.qml:923
541+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
594msgid "Failed, tap to retry"
542msgid "Failed, tap to retry"
595msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
543msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
596
544
@@ -610,7 +558,7 @@ msgctxt "Button: Call back on phone"
610msgid "Call back"
558msgid "Call back"
611msgstr ""
559msgstr ""
612
560
613−#: qml/Stages/SideStage.qml:76
561+#: qml/Stage/SideStage.qml:76
614msgid "Drag using 3 fingers any application from one window to the other"
562msgid "Drag using 3 fingers any application from one window to the other"
615msgstr ""
563msgstr ""
616
564
@@ -639,40 +587,54 @@ msgctxt "Button: Go back one page in the Wizard"
639msgid "Back"
587msgid "Back"
640msgstr ""
588msgstr ""
641
589
642−#: qml/Wizard/Pages/10-welcome.qml:27
590+#: qml/Wizard/Pages/10-welcome.qml:28
643msgid "Language"
591msgid "Language"
644msgstr ""
592msgstr ""
645
593
646−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
594+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
647−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
595+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
596+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
648−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
597+#: qml/Wizard/Pages/70-passwd-type.qml:145
649#: qml/Wizard/Pages/75-report-check.qml:84
598#: qml/Wizard/Pages/75-report-check.qml:84
650−#: qml/Wizard/Pages/passcode-desktop.qml:141
599+#: qml/Wizard/Pages/passcode-desktop.qml:142
651−#: qml/Wizard/Pages/password-set.qml:141
600+#: qml/Wizard/Pages/password-set.qml:142
652msgid "Next"
601msgid "Next"
653msgstr ""
602msgstr ""
654
603
655−#: qml/Wizard/Pages/30-wifi.qml:29
604+#: qml/Wizard/Pages/20-keyboard.qml:31
605+msgid "Select Keyboard"
606+msgstr ""
607+
608+#: qml/Wizard/Pages/20-keyboard.qml:71
609+msgid "Keyboard language"
610+msgstr ""
611+
612+#: qml/Wizard/Pages/20-keyboard.qml:93
613+msgid "Keyboard layout"
614+msgstr ""
615+
616+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
617+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
618+#: qml/Wizard/Pages/sim.qml:101
619+msgid "Skip"
620+msgstr "Omet"
621+
622+#: qml/Wizard/Pages/30-wifi.qml:31
656msgid "Connect to Wi‑Fi"
623msgid "Connect to Wi‑Fi"
657msgstr "Connecta't a la Wi-Fi"
624msgstr "Connecta't a la Wi-Fi"
658
625
659−#: qml/Wizard/Pages/30-wifi.qml:130
626+#: qml/Wizard/Pages/30-wifi.qml:132
660msgid "Connected"
627msgid "Connected"
661msgstr ""
628msgstr ""
662
629
663−#: qml/Wizard/Pages/30-wifi.qml:163
630+#: qml/Wizard/Pages/30-wifi.qml:165
664msgid "Available Wi-Fi networks"
631msgid "Available Wi-Fi networks"
665msgstr ""
632msgstr ""
666
633
667−#: qml/Wizard/Pages/30-wifi.qml:164
634+#: qml/Wizard/Pages/30-wifi.qml:166
668msgid "No available Wi-Fi networks"
635msgid "No available Wi-Fi networks"
669msgstr ""
636msgstr ""
670
637
671−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
672−#: qml/Wizard/Pages/sim.qml:101
673−msgid "Skip"
674−msgstr "Omet"
675−
676#: qml/Wizard/Pages/40-location.qml:27
638#: qml/Wizard/Pages/40-location.qml:27
677msgid "Location Services"
639msgid "Location Services"
678msgstr ""
640msgstr ""
@@ -705,11 +667,11 @@ msgstr ""
705msgid "You can change it later in System Settings."
667msgid "You can change it later in System Settings."
706msgstr ""
668msgstr ""
707
669
708−#: qml/Wizard/Pages/50-timezone.qml:29
670+#: qml/Wizard/Pages/50-timezone.qml:30
709msgid "Time Zone"
671msgid "Time Zone"
710msgstr ""
672msgstr ""
711
673
712−#: qml/Wizard/Pages/50-timezone.qml:181
674+#: qml/Wizard/Pages/50-timezone.qml:182
713msgid "Enter your city"
675msgid "Enter your city"
714msgstr ""
676msgstr ""
715
677
@@ -721,21 +683,21 @@ msgstr ""
721msgid "Preferred Name"
683msgid "Preferred Name"
722msgstr ""
684msgstr ""
723
685
724−#: qml/Wizard/Pages/70-passwd-type.qml:39
686+#: qml/Wizard/Pages/70-passwd-type.qml:40
725msgid "Lock Screen"
687msgid "Lock Screen"
726msgstr ""
688msgstr ""
727
689
728−#: qml/Wizard/Pages/70-passwd-type.qml:101
690+#: qml/Wizard/Pages/70-passwd-type.qml:102
729msgctxt "Label: Type of security method"
691msgctxt "Label: Type of security method"
730msgid "Create new password"
692msgid "Create new password"
731msgstr ""
693msgstr ""
732
694
733−#: qml/Wizard/Pages/70-passwd-type.qml:103
695+#: qml/Wizard/Pages/70-passwd-type.qml:104
734msgctxt "Label: Type of security method"
696msgctxt "Label: Type of security method"
735msgid "Create passcode (numbers only)"
697msgid "Create passcode (numbers only)"
736msgstr ""
698msgstr ""
737
699
738−#: qml/Wizard/Pages/70-passwd-type.qml:105
700+#: qml/Wizard/Pages/70-passwd-type.qml:106
739msgctxt "Label: Type of security method"
701msgctxt "Label: Type of security method"
740msgid "No lock code"
702msgid "No lock code"
741msgstr ""
703msgstr ""
@@ -756,6 +718,35 @@ msgstr ""
756msgid "Privacy policy"
718msgid "Privacy policy"
757msgstr ""
719msgstr ""
758
720
721+#: qml/Wizard/Pages/77-system-update.qml:28
722+msgid "Update Device"
723+msgstr ""
724+
725+#: qml/Wizard/Pages/77-system-update.qml:55
726+msgid ""
727+"There is a system update available and ready to install. Afterwards, the "
728+"device will automatically restart."
729+msgstr ""
730+
731+#: qml/Wizard/Pages/77-system-update.qml:76
732+msgctxt "string identifying name of the update"
733+msgid "Ubuntu system"
734+msgstr ""
735+
736+#: qml/Wizard/Pages/77-system-update.qml:83
737+#, qt-format
738+msgctxt "version of the system update"
739+msgid "Version %1"
740+msgstr ""
741+
742+#: qml/Wizard/Pages/77-system-update.qml:102
743+msgid "This could take a few minutes..."
744+msgstr ""
745+
746+#: qml/Wizard/Pages/77-system-update.qml:116
747+msgid "Install and restart now"
748+msgstr ""
749+
759#: qml/Wizard/Pages/80-finished.qml:89
750#: qml/Wizard/Pages/80-finished.qml:89
760msgid "Welcome to Ubuntu"
751msgid "Welcome to Ubuntu"
761msgstr ""
752msgstr ""
@@ -799,7 +790,7 @@ msgid "Service Terms"
799msgstr ""
790msgstr ""
800
791
801#: qml/Wizard/Pages/passcode-confirm.qml:43
792#: qml/Wizard/Pages/passcode-confirm.qml:43
802−#: qml/Wizard/Pages/passcode-desktop.qml:96
793+#: qml/Wizard/Pages/passcode-desktop.qml:97
803msgid "Confirm passcode"
794msgid "Confirm passcode"
804msgstr "Confirmeu el codi d'accés"
795msgstr "Confirmeu el codi d'accés"
805
796
@@ -812,28 +803,28 @@ msgctxt "Enter the passcode again"
812msgid "Please re-enter."
803msgid "Please re-enter."
813msgstr ""
804msgstr ""
814
805
815−#: qml/Wizard/Pages/passcode-desktop.qml:30
806+#: qml/Wizard/Pages/passcode-desktop.qml:31
816msgid "Lock Screen Passcode"
807msgid "Lock Screen Passcode"
817msgstr ""
808msgstr ""
818
809
819−#: qml/Wizard/Pages/passcode-desktop.qml:60
810+#: qml/Wizard/Pages/passcode-desktop.qml:61
820msgid "Enter 4 numbers to setup your passcode"
811msgid "Enter 4 numbers to setup your passcode"
821msgstr ""
812msgstr ""
822
813
823−#: qml/Wizard/Pages/passcode-desktop.qml:76
814+#: qml/Wizard/Pages/passcode-desktop.qml:77
824#: qml/Wizard/Pages/passcode-set.qml:54
815#: qml/Wizard/Pages/passcode-set.qml:54
825msgid "Choose passcode"
816msgid "Choose passcode"
826msgstr ""
817msgstr ""
827
818
828−#: qml/Wizard/Pages/passcode-desktop.qml:126
819+#: qml/Wizard/Pages/passcode-desktop.qml:127
829msgid "Passcode too short"
820msgid "Passcode too short"
830msgstr ""
821msgstr ""
831
822
832−#: qml/Wizard/Pages/passcode-desktop.qml:128
823+#: qml/Wizard/Pages/passcode-desktop.qml:129
833msgid "Passcodes match"
824msgid "Passcodes match"
834msgstr ""
825msgstr ""
835
826
836−#: qml/Wizard/Pages/passcode-desktop.qml:130
827+#: qml/Wizard/Pages/passcode-desktop.qml:131
837msgid "Passcodes do not match"
828msgid "Passcodes do not match"
838msgstr ""
829msgstr ""
839
830
@@ -841,19 +832,19 @@ msgstr ""
841msgid "Passcode must be 4 characters long"
832msgid "Passcode must be 4 characters long"
842msgstr ""
833msgstr ""
843
834
844−#: qml/Wizard/Pages/password-set.qml:30
835+#: qml/Wizard/Pages/password-set.qml:31
845msgid "Lock Screen Password"
836msgid "Lock Screen Password"
846msgstr ""
837msgstr ""
847
838
848−#: qml/Wizard/Pages/password-set.qml:61
839+#: qml/Wizard/Pages/password-set.qml:62
849msgid "Enter at least 8 characters"
840msgid "Enter at least 8 characters"
850msgstr ""
841msgstr ""
851
842
852−#: qml/Wizard/Pages/password-set.qml:73
843+#: qml/Wizard/Pages/password-set.qml:74
853msgid "Choose password"
844msgid "Choose password"
854msgstr ""
845msgstr ""
855
846
856−#: qml/Wizard/Pages/password-set.qml:103
847+#: qml/Wizard/Pages/password-set.qml:104
857msgid "Confirm password"
848msgid "Confirm password"
858msgstr ""
849msgstr ""
859
850
@@ -1008,9 +999,54 @@ msgstr ""
1008#~ msgid "Roaming"
999#~ msgid "Roaming"
1009#~ msgstr "Itinerància"
1000#~ msgstr "Itinerància"
1010
1001
1002+#~ msgid "Enter passphrase"
1003+#~ msgstr "Introduïu la contrasenya"
1004+
1005+#~ msgid "Sorry, incorrect passphrase"
1006+#~ msgstr "La contrasenya no és correcta"
1007+
1011#~ msgid "Please re-enter"
1008#~ msgid "Please re-enter"
1012#~ msgstr "Torneu-ho a introduir"
1009#~ msgstr "Torneu-ho a introduir"
1013
1010
1011+#~ msgid "Enter passcode"
1012+#~ msgstr "Introduïu el codi d'accés"
1013+
1014+#~ msgid "Sorry, incorrect passcode"
1015+#~ msgstr "El codi d'accés no és correcte"
1016+
1017+#, qt-format
1018+#~ msgid "Enter %1"
1019+#~ msgstr "Introduïu: %1"
1020+
1021+#, qt-format
1022+#~ msgid "Sorry, incorrect %1"
1023+#~ msgstr "Incorrecte (%1)"
1024+
1025+#~ msgid "Sorry, incorrect passphrase."
1026+#~ msgstr "La contrasenya és incorrecta"
1027+
1028+#~ msgid "Sorry, incorrect passcode."
1029+#~ msgstr "El codi d'accés no és correcte"
1030+
1031+#~ msgid "This will be your last attempt."
1032+#~ msgstr "Este serà el darrer intent."
1033+
1034+#~ msgid ""
1035+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1036+#~ "reset and all personal data will be deleted."
1037+#~ msgstr ""
1038+#~ "Si la contrasenya s'introdueix de manera incorrecta, el telèfon es "
1039+#~ "reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
1040+#~ "personals."
1041+
1042+#~ msgid ""
1043+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
1044+#~ "and all personal data will be deleted."
1045+#~ msgstr ""
1046+#~ "Si el codi d'accés s'introdueix de manera incorrecta, el telèfon es "
1047+#~ "reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
1048+#~ "personals."
1049+
1014#~ msgid "Hi!"
1050#~ msgid "Hi!"
1015#~ msgstr "Hola!"
1051#~ msgstr "Hola!"
1016
1052
po/ce.po+162−165
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -15,104 +15,86 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr ""
23msgstr ""
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr ""
28msgstr ""
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr ""
36msgstr ""
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr ""
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−
46−#: qml/Components/DelayedLockscreen.qml:66
47−msgid "You have been locked out due to too many failed passcode attempts."
48−msgstr ""
49−
50−#: qml/Components/DelayedLockscreen.qml:75
51−#, qt-format
52−msgid "Please wait %1 minute and then try again…"
53−msgid_plural "Please wait %1 minutes and then try again…"
54−msgstr[0] ""
55−msgstr[1] ""
56−
57−#: qml/Components/Dialogs.qml:144
58msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
40msgid "Log out"
60msgstr ""
41msgstr ""
61
42
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
63msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
64msgstr ""
45msgstr ""
65
46
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
67msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
68msgid "Lock"
49msgid "Lock"
69msgstr ""
50msgstr ""
70
51
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
72msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
73msgid "Log Out"
54msgid "Log Out"
74msgstr ""
55msgstr ""
75
56
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
61msgid "Cancel"
80msgstr ""
62msgstr ""
81
63
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
83msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
84msgid "Reboot"
66msgid "Reboot"
85msgstr ""
67msgstr ""
86
68
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
88msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
89msgstr ""
71msgstr ""
90
72
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
92msgid "No"
74msgid "No"
93msgstr ""
75msgstr ""
94
76
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
96msgid "Yes"
78msgid "Yes"
97msgstr ""
79msgstr ""
98
80
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
100msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
83msgid "Power"
102msgstr ""
84msgstr ""
103
85
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
105msgid ""
87msgid ""
106"Are you sure you would like\n"
88"Are you sure you would like\n"
107"to power off?"
89"to power off?"
108msgstr ""
90msgstr ""
109
91
110−#: qml/Components/Dialogs.qml:200
92+#: qml/Components/Dialogs.qml:205
111msgctxt "Button: Power off the system"
93msgctxt "Button: Power off the system"
112msgid "Power off"
94msgid "Power off"
113msgstr ""
95msgstr ""
114
96
115−#: qml/Components/Dialogs.qml:209
97+#: qml/Components/Dialogs.qml:214
116msgctxt "Button: Restart the system"
98msgctxt "Button: Restart the system"
117msgid "Restart"
99msgid "Restart"
118msgstr ""
100msgstr ""
@@ -277,15 +259,15 @@ msgstr ""
277msgid "Closes the current window."
259msgid "Closes the current window."
278msgstr ""
260msgstr ""
279
261
280−#: qml/Components/Lockscreen.qml:239
262+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
281msgid "Return to Call"
263msgid "Return to Call"
282msgstr ""
264msgstr ""
283
265
284−#: qml/Components/Lockscreen.qml:239
266+#: qml/Components/Lockscreen.qml:212
285msgid "Emergency Call"
267msgid "Emergency Call"
286msgstr ""
268msgstr ""
287
269
288−#: qml/Components/Lockscreen.qml:271
270+#: qml/Components/Lockscreen.qml:244
289msgid "OK"
271msgid "OK"
290msgstr ""
272msgstr ""
291
273
@@ -329,84 +311,84 @@ msgstr ""
329msgid "Preview Share Item"
311msgid "Preview Share Item"
330msgstr ""
312msgstr ""
331
313
332−#: qml/Dash/DashPageHeader.qml:333
314+#: qml/Dash/DashPageHeader.qml:361
333msgctxt "Button: Open the Ubuntu Store"
315msgctxt "Button: Open the Ubuntu Store"
334msgid "Store"
316msgid "Store"
335msgstr ""
317msgstr ""
336
318
337−#: qml/Dash/DashPageHeader.qml:340
319+#: qml/Dash/DashPageHeader.qml:368
338msgctxt "Button: Start a search in the current dash scope"
320msgctxt "Button: Start a search in the current dash scope"
339msgid "Search"
321msgid "Search"
340msgstr ""
322msgstr ""
341
323
342−#: qml/Dash/DashPageHeader.qml:350
324+#: qml/Dash/DashPageHeader.qml:378
343msgctxt "Button: Show the current dash scope settings"
325msgctxt "Button: Show the current dash scope settings"
344msgid "Settings"
326msgid "Settings"
345msgstr ""
327msgstr ""
346
328
347−#: qml/Dash/DashPageHeader.qml:357
329+#: qml/Dash/DashPageHeader.qml:385
348msgid "Remove from Favorites"
330msgid "Remove from Favorites"
349msgstr ""
331msgstr ""
350
332
351−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
352msgid "Add to Favorites"
334msgid "Add to Favorites"
353msgstr ""
335msgstr ""
354
336
355−#: qml/Dash/FiltersPopover.qml:60
337+#: qml/Dash/FiltersPopover.qml:61
356msgid "Refine your results"
338msgid "Refine your results"
357msgstr ""
339msgstr ""
358
340
359−#: qml/Dash/FiltersPopover.qml:69
341+#: qml/Dash/FiltersPopover.qml:70
360msgid "Reset"
342msgid "Reset"
361msgstr ""
343msgstr ""
362
344
363−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
345+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
364msgid "Show less"
346msgid "Show less"
365msgstr ""
347msgstr ""
366
348
367−#: qml/Dash/GenericScopeView.qml:580
349+#: qml/Dash/GenericScopeView.qml:547
368msgid "Show all"
350msgid "Show all"
369msgstr ""
351msgstr ""
370
352
371−#: qml/Dash/GenericScopeView.qml:637
353+#: qml/Dash/GenericScopeView.qml:578
372msgctxt "Label: Hint for dash search line edit"
354msgctxt "Label: Hint for dash search line edit"
373msgid "Search"
355msgid "Search"
374msgstr ""
356msgstr ""
375
357
376−#: qml/Dash/PageHeaderExtraPanel.qml:56
358+#: qml/Dash/PageHeaderExtraPanel.qml:67
377msgid "Recent Searches"
359msgid "Recent Searches"
378msgstr ""
360msgstr ""
379
361
380−#: qml/Dash/PageHeaderExtraPanel.qml:67
362+#: qml/Dash/PageHeaderExtraPanel.qml:78
381msgid "Clear All"
363msgid "Clear All"
382msgstr ""
364msgstr ""
383
365
384−#: qml/Dash/Previews/PreviewActionCombo.qml:35
366+#: qml/Dash/Previews/PreviewActionCombo.qml:36
385msgid "More..."
367msgid "More..."
386msgstr ""
368msgstr ""
387
369
388−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
389msgid "Less..."
371msgid "Less..."
390msgstr ""
372msgstr ""
391
373
392−#: qml/Dash/Previews/PreviewCommentInput.qml:68
374+#: qml/Dash/Previews/PreviewCommentInput.qml:83
393−#: qml/Dash/Previews/PreviewRatingInput.qml:175
375+#: qml/Dash/Previews/PreviewRatingInput.qml:202
394msgid "Send"
376msgid "Send"
395msgstr ""
377msgstr ""
396
378
397−#: qml/Dash/Previews/PreviewRatingInput.qml:82
379+#: qml/Dash/Previews/PreviewRatingInput.qml:109
398msgid "Rate this"
380msgid "Rate this"
399msgstr ""
381msgstr ""
400
382
401−#: qml/Dash/Previews/PreviewRatingInput.qml:157
383+#: qml/Dash/Previews/PreviewRatingInput.qml:184
402msgid "Add a review"
384msgid "Add a review"
403msgstr ""
385msgstr ""
404
386
405−#: qml/Dash/PullToRefreshScopeStyle.qml:55
387+#: qml/Dash/PullToRefreshScopeStyle.qml:56
406msgid "Pull to refresh…"
388msgid "Pull to refresh…"
407msgstr ""
389msgstr ""
408
390
409−#: qml/Dash/PullToRefreshScopeStyle.qml:60
391+#: qml/Dash/PullToRefreshScopeStyle.qml:61
410msgid "Release to refresh…"
392msgid "Release to refresh…"
411msgstr ""
393msgstr ""
412
394
@@ -414,15 +396,15 @@ msgstr ""
414msgid "Enable location data"
396msgid "Enable location data"
415msgstr ""
397msgstr ""
416
398
417−#: qml/Dash/ScopesList.qml:55
399+#: qml/Dash/ScopesList.qml:57
418msgid "Manage"
400msgid "Manage"
419msgstr ""
401msgstr ""
420
402
421−#: qml/Dash/ScopesList.qml:102
403+#: qml/Dash/ScopesList.qml:104
422msgid "Home"
404msgid "Home"
423msgstr ""
405msgstr ""
424
406
425−#: qml/Dash/ScopesList.qml:103
407+#: qml/Dash/ScopesList.qml:105
426msgid "Also installed"
408msgid "Also installed"
427msgstr ""
409msgstr ""
428
410
@@ -436,79 +418,51 @@ msgstr ""
436msgid "Unlock"
418msgid "Unlock"
437msgstr ""
419msgstr ""
438
420
439−#: qml/Greeter/Greeter.qml:555
421+#: qml/Greeter/DelayedLockscreen.qml:43
440−msgid "Try again"
422+msgid "Device Locked"
441−msgstr ""
442−
443−#: qml/Greeter/LoginList.qml:63
444−msgid "Passphrase"
445−msgstr ""
446−
447−#: qml/Greeter/LoginList.qml:64
448−msgid "Passcode"
449−msgstr ""
450−
451−#: qml/Greeter/LoginList.qml:87
452−msgid "Retry"
453−msgstr ""
454−
455−#: qml/Greeter/LoginList.qml:88
456−msgid "Log In"
457−msgstr ""
458−
459−#: qml/Greeter/NarrowView.qml:55
460−msgid "Sorry, incorrect passphrase."
461−msgstr ""
462−
463−#: qml/Greeter/NarrowView.qml:56
464−msgid "Sorry, incorrect passcode."
465−msgstr ""
466−
467−#: qml/Greeter/NarrowView.qml:57
468−msgid "This will be your last attempt."
469msgstr ""
423msgstr ""
470
424
471−#: qml/Greeter/NarrowView.qml:59
425+#: qml/Greeter/DelayedLockscreen.qml:58
472−msgid ""
426+msgid "You have been locked out due to too many failed passphrase attempts."
473−"If passphrase is entered incorrectly, your phone will conduct a factory "
474−"reset and all personal data will be deleted."
475msgstr ""
427msgstr ""
476
428
477−#: qml/Greeter/NarrowView.qml:60
429+#: qml/Greeter/DelayedLockscreen.qml:59
478−msgid ""
430+msgid "You have been locked out due to too many failed passcode attempts."
479−"If passcode is entered incorrectly, your phone will conduct a factory reset "
480−"and all personal data will be deleted."
481msgstr ""
431msgstr ""
482
432
483−#: qml/Greeter/NarrowView.qml:129
433+#: qml/Greeter/DelayedLockscreen.qml:68
484#, qt-format
434#, qt-format
485−msgid "Enter %1"
435+msgid "Please wait %1 minute and then try again…"
436+msgid_plural "Please wait %1 minutes and then try again…"
437+msgstr[0] ""
438+msgstr[1] ""
439+
440+#: qml/Greeter/Greeter.qml:596
441+msgid "Try again"
486msgstr ""
442msgstr ""
487
443
488−#: qml/Greeter/NarrowView.qml:130
444+#: qml/Greeter/LoginList.qml:70
489−msgid "Enter passphrase"
445+msgid "Passphrase"
490msgstr ""
446msgstr ""
491
447
492−#: qml/Greeter/NarrowView.qml:131
448+#: qml/Greeter/LoginList.qml:71
493−msgid "Enter passcode"
449+msgid "Passcode"
494msgstr ""
450msgstr ""
495
451
496−#: qml/Greeter/NarrowView.qml:135
452+#: qml/Greeter/LoginList.qml:98
497−#, qt-format
453+msgid "Retry"
498−msgid "Sorry, incorrect %1"
499msgstr ""
454msgstr ""
500
455
501−#: qml/Greeter/NarrowView.qml:136
456+#: qml/Greeter/LoginList.qml:99
502−msgid "Sorry, incorrect passphrase"
457+msgid "Log In"
503msgstr ""
458msgstr ""
504
459
505−#: qml/Greeter/NarrowView.qml:137
460+#: qml/Greeter/NarrowView.qml:252
506−msgctxt "passphrase"
461+msgid "Emergency"
507−msgid "Please re-enter"
508msgstr ""
462msgstr ""
509
463
510−#: qml/Greeter/NarrowView.qml:138
464+#: qml/Greeter/SessionsList.qml:122
511−msgid "Sorry, incorrect passcode"
465+msgid "Select desktop environment"
512msgstr ""
466msgstr ""
513
467
514#: qml/Notifications/NotificationMenuItemFactory.qml:124
468#: qml/Notifications/NotificationMenuItemFactory.qml:124
@@ -523,62 +477,62 @@ msgstr ""
523msgid "Conference"
477msgid "Conference"
524msgstr ""
478msgstr ""
525
479
526−#: qml/Panel/Indicators/MenuItemFactory.qml:762
480+#: qml/Panel/Indicators/MenuItemFactory.qml:847
527msgid "Nothing is playing"
481msgid "Nothing is playing"
528msgstr ""
482msgstr ""
529
483
530−#: qml/Panel/Indicators/MenuItemFactory.qml:891
484+#: qml/Panel/Indicators/MenuItemFactory.qml:975
531#, qt-format
485#, qt-format
532msgid "%1 hour"
486msgid "%1 hour"
533msgid_plural "%1 hours"
487msgid_plural "%1 hours"
534msgstr[0] ""
488msgstr[0] ""
535msgstr[1] ""
489msgstr[1] ""
536
490
537−#: qml/Panel/Indicators/MenuItemFactory.qml:895
491+#: qml/Panel/Indicators/MenuItemFactory.qml:979
538#, qt-format
492#, qt-format
539msgid "%1 minute"
493msgid "%1 minute"
540msgid_plural "%1 minutes"
494msgid_plural "%1 minutes"
541msgstr[0] ""
495msgstr[0] ""
542msgstr[1] ""
496msgstr[1] ""
543
497
544−#: qml/Panel/Indicators/MenuItemFactory.qml:900
498+#: qml/Panel/Indicators/MenuItemFactory.qml:984
545#, qt-format
499#, qt-format
546msgid "%1 second"
500msgid "%1 second"
547msgid_plural "%1 seconds"
501msgid_plural "%1 seconds"
548msgstr[0] ""
502msgstr[0] ""
549msgstr[1] ""
503msgstr[1] ""
550
504
551−#: qml/Panel/Indicators/MenuItemFactory.qml:903
505+#: qml/Panel/Indicators/MenuItemFactory.qml:987
552msgid "0 seconds"
506msgid "0 seconds"
553msgstr ""
507msgstr ""
554
508
555#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
509#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
556−#: qml/Panel/Indicators/MenuItemFactory.qml:905
510+#: qml/Panel/Indicators/MenuItemFactory.qml:989
557#, qt-format
511#, qt-format
558msgid "%1 remaining"
512msgid "%1 remaining"
559msgstr ""
513msgstr ""
560
514
561−#: qml/Panel/Indicators/MenuItemFactory.qml:911
515+#: qml/Panel/Indicators/MenuItemFactory.qml:995
562msgid "In queue…"
516msgid "In queue…"
563msgstr ""
517msgstr ""
564
518
565−#: qml/Panel/Indicators/MenuItemFactory.qml:915
519+#: qml/Panel/Indicators/MenuItemFactory.qml:999
566msgid "Downloading"
520msgid "Downloading"
567msgstr ""
521msgstr ""
568
522
569−#: qml/Panel/Indicators/MenuItemFactory.qml:917
523+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
570msgid "Paused, tap to resume"
524msgid "Paused, tap to resume"
571msgstr ""
525msgstr ""
572
526
573−#: qml/Panel/Indicators/MenuItemFactory.qml:919
527+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
574msgid "Canceled"
528msgid "Canceled"
575msgstr ""
529msgstr ""
576
530
577−#: qml/Panel/Indicators/MenuItemFactory.qml:921
531+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
578msgid "Finished"
532msgid "Finished"
579msgstr ""
533msgstr ""
580
534
581−#: qml/Panel/Indicators/MenuItemFactory.qml:923
535+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
582msgid "Failed, tap to retry"
536msgid "Failed, tap to retry"
583msgstr ""
537msgstr ""
584
538
@@ -598,7 +552,7 @@ msgctxt "Button: Call back on phone"
598msgid "Call back"
552msgid "Call back"
599msgstr ""
553msgstr ""
600
554
601−#: qml/Stages/SideStage.qml:76
555+#: qml/Stage/SideStage.qml:76
602msgid "Drag using 3 fingers any application from one window to the other"
556msgid "Drag using 3 fingers any application from one window to the other"
603msgstr ""
557msgstr ""
604
558
@@ -627,40 +581,54 @@ msgctxt "Button: Go back one page in the Wizard"
627msgid "Back"
581msgid "Back"
628msgstr ""
582msgstr ""
629
583
630−#: qml/Wizard/Pages/10-welcome.qml:27
584+#: qml/Wizard/Pages/10-welcome.qml:28
631msgid "Language"
585msgid "Language"
632msgstr ""
586msgstr ""
633
587
634−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
588+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
635−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
589+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
590+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
636−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
591+#: qml/Wizard/Pages/70-passwd-type.qml:145
637#: qml/Wizard/Pages/75-report-check.qml:84
592#: qml/Wizard/Pages/75-report-check.qml:84
638−#: qml/Wizard/Pages/passcode-desktop.qml:141
593+#: qml/Wizard/Pages/passcode-desktop.qml:142
639−#: qml/Wizard/Pages/password-set.qml:141
594+#: qml/Wizard/Pages/password-set.qml:142
640msgid "Next"
595msgid "Next"
641msgstr ""
596msgstr ""
642
597
643−#: qml/Wizard/Pages/30-wifi.qml:29
598+#: qml/Wizard/Pages/20-keyboard.qml:31
599+msgid "Select Keyboard"
600+msgstr ""
601+
602+#: qml/Wizard/Pages/20-keyboard.qml:71
603+msgid "Keyboard language"
604+msgstr ""
605+
606+#: qml/Wizard/Pages/20-keyboard.qml:93
607+msgid "Keyboard layout"
608+msgstr ""
609+
610+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
611+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
612+#: qml/Wizard/Pages/sim.qml:101
613+msgid "Skip"
614+msgstr ""
615+
616+#: qml/Wizard/Pages/30-wifi.qml:31
644msgid "Connect to Wi‑Fi"
617msgid "Connect to Wi‑Fi"
645msgstr ""
618msgstr ""
646
619
647−#: qml/Wizard/Pages/30-wifi.qml:130
620+#: qml/Wizard/Pages/30-wifi.qml:132
648msgid "Connected"
621msgid "Connected"
649msgstr ""
622msgstr ""
650
623
651−#: qml/Wizard/Pages/30-wifi.qml:163
624+#: qml/Wizard/Pages/30-wifi.qml:165
652msgid "Available Wi-Fi networks"
625msgid "Available Wi-Fi networks"
653msgstr ""
626msgstr ""
654
627
655−#: qml/Wizard/Pages/30-wifi.qml:164
628+#: qml/Wizard/Pages/30-wifi.qml:166
656msgid "No available Wi-Fi networks"
629msgid "No available Wi-Fi networks"
657msgstr ""
630msgstr ""
658
631
659−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
660−#: qml/Wizard/Pages/sim.qml:101
661−msgid "Skip"
662−msgstr ""
663−
664#: qml/Wizard/Pages/40-location.qml:27
632#: qml/Wizard/Pages/40-location.qml:27
665msgid "Location Services"
633msgid "Location Services"
666msgstr ""
634msgstr ""
@@ -693,11 +661,11 @@ msgstr ""
693msgid "You can change it later in System Settings."
661msgid "You can change it later in System Settings."
694msgstr ""
662msgstr ""
695
663
696−#: qml/Wizard/Pages/50-timezone.qml:29
664+#: qml/Wizard/Pages/50-timezone.qml:30
697msgid "Time Zone"
665msgid "Time Zone"
698msgstr ""
666msgstr ""
699
667
700−#: qml/Wizard/Pages/50-timezone.qml:181
668+#: qml/Wizard/Pages/50-timezone.qml:182
701msgid "Enter your city"
669msgid "Enter your city"
702msgstr ""
670msgstr ""
703
671
@@ -709,21 +677,21 @@ msgstr ""
709msgid "Preferred Name"
677msgid "Preferred Name"
710msgstr ""
678msgstr ""
711
679
712−#: qml/Wizard/Pages/70-passwd-type.qml:39
680+#: qml/Wizard/Pages/70-passwd-type.qml:40
713msgid "Lock Screen"
681msgid "Lock Screen"
714msgstr ""
682msgstr ""
715
683
716−#: qml/Wizard/Pages/70-passwd-type.qml:101
684+#: qml/Wizard/Pages/70-passwd-type.qml:102
717msgctxt "Label: Type of security method"
685msgctxt "Label: Type of security method"
718msgid "Create new password"
686msgid "Create new password"
719msgstr ""
687msgstr ""
720
688
721−#: qml/Wizard/Pages/70-passwd-type.qml:103
689+#: qml/Wizard/Pages/70-passwd-type.qml:104
722msgctxt "Label: Type of security method"
690msgctxt "Label: Type of security method"
723msgid "Create passcode (numbers only)"
691msgid "Create passcode (numbers only)"
724msgstr ""
692msgstr ""
725
693
726−#: qml/Wizard/Pages/70-passwd-type.qml:105
694+#: qml/Wizard/Pages/70-passwd-type.qml:106
727msgctxt "Label: Type of security method"
695msgctxt "Label: Type of security method"
728msgid "No lock code"
696msgid "No lock code"
729msgstr ""
697msgstr ""
@@ -744,6 +712,35 @@ msgstr ""
744msgid "Privacy policy"
712msgid "Privacy policy"
745msgstr ""
713msgstr ""
746
714
715+#: qml/Wizard/Pages/77-system-update.qml:28
716+msgid "Update Device"
717+msgstr ""
718+
719+#: qml/Wizard/Pages/77-system-update.qml:55
720+msgid ""
721+"There is a system update available and ready to install. Afterwards, the "
722+"device will automatically restart."
723+msgstr ""
724+
725+#: qml/Wizard/Pages/77-system-update.qml:76
726+msgctxt "string identifying name of the update"
727+msgid "Ubuntu system"
728+msgstr ""
729+
730+#: qml/Wizard/Pages/77-system-update.qml:83
731+#, qt-format
732+msgctxt "version of the system update"
733+msgid "Version %1"
734+msgstr ""
735+
736+#: qml/Wizard/Pages/77-system-update.qml:102
737+msgid "This could take a few minutes..."
738+msgstr ""
739+
740+#: qml/Wizard/Pages/77-system-update.qml:116
741+msgid "Install and restart now"
742+msgstr ""
743+
747#: qml/Wizard/Pages/80-finished.qml:89
744#: qml/Wizard/Pages/80-finished.qml:89
748msgid "Welcome to Ubuntu"
745msgid "Welcome to Ubuntu"
749msgstr ""
746msgstr ""
@@ -787,7 +784,7 @@ msgid "Service Terms"
787msgstr ""
784msgstr ""
788
785
789#: qml/Wizard/Pages/passcode-confirm.qml:43
786#: qml/Wizard/Pages/passcode-confirm.qml:43
790−#: qml/Wizard/Pages/passcode-desktop.qml:96
787+#: qml/Wizard/Pages/passcode-desktop.qml:97
791msgid "Confirm passcode"
788msgid "Confirm passcode"
792msgstr ""
789msgstr ""
793
790
@@ -800,28 +797,28 @@ msgctxt "Enter the passcode again"
800msgid "Please re-enter."
797msgid "Please re-enter."
801msgstr ""
798msgstr ""
802
799
803−#: qml/Wizard/Pages/passcode-desktop.qml:30
800+#: qml/Wizard/Pages/passcode-desktop.qml:31
804msgid "Lock Screen Passcode"
801msgid "Lock Screen Passcode"
805msgstr ""
802msgstr ""
806
803
807−#: qml/Wizard/Pages/passcode-desktop.qml:60
804+#: qml/Wizard/Pages/passcode-desktop.qml:61
808msgid "Enter 4 numbers to setup your passcode"
805msgid "Enter 4 numbers to setup your passcode"
809msgstr ""
806msgstr ""
810
807
811−#: qml/Wizard/Pages/passcode-desktop.qml:76
808+#: qml/Wizard/Pages/passcode-desktop.qml:77
812#: qml/Wizard/Pages/passcode-set.qml:54
809#: qml/Wizard/Pages/passcode-set.qml:54
813msgid "Choose passcode"
810msgid "Choose passcode"
814msgstr ""
811msgstr ""
815
812
816−#: qml/Wizard/Pages/passcode-desktop.qml:126
813+#: qml/Wizard/Pages/passcode-desktop.qml:127
817msgid "Passcode too short"
814msgid "Passcode too short"
818msgstr ""
815msgstr ""
819
816
820−#: qml/Wizard/Pages/passcode-desktop.qml:128
817+#: qml/Wizard/Pages/passcode-desktop.qml:129
821msgid "Passcodes match"
818msgid "Passcodes match"
822msgstr ""
819msgstr ""
823
820
824−#: qml/Wizard/Pages/passcode-desktop.qml:130
821+#: qml/Wizard/Pages/passcode-desktop.qml:131
825msgid "Passcodes do not match"
822msgid "Passcodes do not match"
826msgstr ""
823msgstr ""
827
824
@@ -829,19 +826,19 @@ msgstr ""
829msgid "Passcode must be 4 characters long"
826msgid "Passcode must be 4 characters long"
830msgstr ""
827msgstr ""
831
828
832−#: qml/Wizard/Pages/password-set.qml:30
829+#: qml/Wizard/Pages/password-set.qml:31
833msgid "Lock Screen Password"
830msgid "Lock Screen Password"
834msgstr ""
831msgstr ""
835
832
836−#: qml/Wizard/Pages/password-set.qml:61
833+#: qml/Wizard/Pages/password-set.qml:62
837msgid "Enter at least 8 characters"
834msgid "Enter at least 8 characters"
838msgstr ""
835msgstr ""
839
836
840−#: qml/Wizard/Pages/password-set.qml:73
837+#: qml/Wizard/Pages/password-set.qml:74
841msgid "Choose password"
838msgid "Choose password"
842msgstr ""
839msgstr ""
843
840
844−#: qml/Wizard/Pages/password-set.qml:103
841+#: qml/Wizard/Pages/password-set.qml:104
845msgid "Confirm password"
842msgid "Confirm password"
846msgstr ""
843msgstr ""
847
844
po/ckb.po+162−165
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -15,104 +15,86 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:54+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:58+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr ""
23msgstr ""
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr ""
28msgstr ""
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr ""
36msgstr ""
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr ""
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−
46−#: qml/Components/DelayedLockscreen.qml:66
47−msgid "You have been locked out due to too many failed passcode attempts."
48−msgstr ""
49−
50−#: qml/Components/DelayedLockscreen.qml:75
51−#, qt-format
52−msgid "Please wait %1 minute and then try again…"
53−msgid_plural "Please wait %1 minutes and then try again…"
54−msgstr[0] ""
55−msgstr[1] ""
56−
57−#: qml/Components/Dialogs.qml:144
58msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
40msgid "Log out"
60msgstr ""
41msgstr ""
61
42
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
63msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
64msgstr ""
45msgstr ""
65
46
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
67msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
68msgid "Lock"
49msgid "Lock"
69msgstr ""
50msgstr ""
70
51
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
72msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
73msgid "Log Out"
54msgid "Log Out"
74msgstr ""
55msgstr ""
75
56
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
61msgid "Cancel"
80msgstr ""
62msgstr ""
81
63
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
83msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
84msgid "Reboot"
66msgid "Reboot"
85msgstr ""
67msgstr ""
86
68
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
88msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
89msgstr ""
71msgstr ""
90
72
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
92msgid "No"
74msgid "No"
93msgstr ""
75msgstr ""
94
76
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
96msgid "Yes"
78msgid "Yes"
97msgstr ""
79msgstr ""
98
80
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
100msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
83msgid "Power"
102msgstr ""
84msgstr ""
103
85
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
105msgid ""
87msgid ""
106"Are you sure you would like\n"
88"Are you sure you would like\n"
107"to power off?"
89"to power off?"
108msgstr ""
90msgstr ""
109
91
110−#: qml/Components/Dialogs.qml:200
92+#: qml/Components/Dialogs.qml:205
111msgctxt "Button: Power off the system"
93msgctxt "Button: Power off the system"
112msgid "Power off"
94msgid "Power off"
113msgstr ""
95msgstr ""
114
96
115−#: qml/Components/Dialogs.qml:209
97+#: qml/Components/Dialogs.qml:214
116msgctxt "Button: Restart the system"
98msgctxt "Button: Restart the system"
117msgid "Restart"
99msgid "Restart"
118msgstr ""
100msgstr ""
@@ -277,15 +259,15 @@ msgstr ""
277msgid "Closes the current window."
259msgid "Closes the current window."
278msgstr ""
260msgstr ""
279
261
280−#: qml/Components/Lockscreen.qml:239
262+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
281msgid "Return to Call"
263msgid "Return to Call"
282msgstr ""
264msgstr ""
283
265
284−#: qml/Components/Lockscreen.qml:239
266+#: qml/Components/Lockscreen.qml:212
285msgid "Emergency Call"
267msgid "Emergency Call"
286msgstr "هێڵی فریاگوزاری"
268msgstr "هێڵی فریاگوزاری"
287
269
288−#: qml/Components/Lockscreen.qml:271
270+#: qml/Components/Lockscreen.qml:244
289msgid "OK"
271msgid "OK"
290msgstr ""
272msgstr ""
291
273
@@ -329,84 +311,84 @@ msgstr ""
329msgid "Preview Share Item"
311msgid "Preview Share Item"
330msgstr ""
312msgstr ""
331
313
332−#: qml/Dash/DashPageHeader.qml:333
314+#: qml/Dash/DashPageHeader.qml:361
333msgctxt "Button: Open the Ubuntu Store"
315msgctxt "Button: Open the Ubuntu Store"
334msgid "Store"
316msgid "Store"
335msgstr ""
317msgstr ""
336
318
337−#: qml/Dash/DashPageHeader.qml:340
319+#: qml/Dash/DashPageHeader.qml:368
338msgctxt "Button: Start a search in the current dash scope"
320msgctxt "Button: Start a search in the current dash scope"
339msgid "Search"
321msgid "Search"
340msgstr ""
322msgstr ""
341
323
342−#: qml/Dash/DashPageHeader.qml:350
324+#: qml/Dash/DashPageHeader.qml:378
343msgctxt "Button: Show the current dash scope settings"
325msgctxt "Button: Show the current dash scope settings"
344msgid "Settings"
326msgid "Settings"
345msgstr ""
327msgstr ""
346
328
347−#: qml/Dash/DashPageHeader.qml:357
329+#: qml/Dash/DashPageHeader.qml:385
348msgid "Remove from Favorites"
330msgid "Remove from Favorites"
349msgstr ""
331msgstr ""
350
332
351−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
352msgid "Add to Favorites"
334msgid "Add to Favorites"
353msgstr ""
335msgstr ""
354
336
355−#: qml/Dash/FiltersPopover.qml:60
337+#: qml/Dash/FiltersPopover.qml:61
356msgid "Refine your results"
338msgid "Refine your results"
357msgstr ""
339msgstr ""
358
340
359−#: qml/Dash/FiltersPopover.qml:69
341+#: qml/Dash/FiltersPopover.qml:70
360msgid "Reset"
342msgid "Reset"
361msgstr ""
343msgstr ""
362
344
363−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
345+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
364msgid "Show less"
346msgid "Show less"
365msgstr ""
347msgstr ""
366
348
367−#: qml/Dash/GenericScopeView.qml:580
349+#: qml/Dash/GenericScopeView.qml:547
368msgid "Show all"
350msgid "Show all"
369msgstr ""
351msgstr ""
370
352
371−#: qml/Dash/GenericScopeView.qml:637
353+#: qml/Dash/GenericScopeView.qml:578
372msgctxt "Label: Hint for dash search line edit"
354msgctxt "Label: Hint for dash search line edit"
373msgid "Search"
355msgid "Search"
374msgstr ""
356msgstr ""
375
357
376−#: qml/Dash/PageHeaderExtraPanel.qml:56
358+#: qml/Dash/PageHeaderExtraPanel.qml:67
377msgid "Recent Searches"
359msgid "Recent Searches"
378msgstr ""
360msgstr ""
379
361
380−#: qml/Dash/PageHeaderExtraPanel.qml:67
362+#: qml/Dash/PageHeaderExtraPanel.qml:78
381msgid "Clear All"
363msgid "Clear All"
382msgstr ""
364msgstr ""
383
365
384−#: qml/Dash/Previews/PreviewActionCombo.qml:35
366+#: qml/Dash/Previews/PreviewActionCombo.qml:36
385msgid "More..."
367msgid "More..."
386msgstr ""
368msgstr ""
387
369
388−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
389msgid "Less..."
371msgid "Less..."
390msgstr ""
372msgstr ""
391
373
392−#: qml/Dash/Previews/PreviewCommentInput.qml:68
374+#: qml/Dash/Previews/PreviewCommentInput.qml:83
393−#: qml/Dash/Previews/PreviewRatingInput.qml:175
375+#: qml/Dash/Previews/PreviewRatingInput.qml:202
394msgid "Send"
376msgid "Send"
395msgstr "ناردن"
377msgstr "ناردن"
396
378
397−#: qml/Dash/Previews/PreviewRatingInput.qml:82
379+#: qml/Dash/Previews/PreviewRatingInput.qml:109
398msgid "Rate this"
380msgid "Rate this"
399msgstr "پلە دابنی بۆی"
381msgstr "پلە دابنی بۆی"
400
382
401−#: qml/Dash/Previews/PreviewRatingInput.qml:157
383+#: qml/Dash/Previews/PreviewRatingInput.qml:184
402msgid "Add a review"
384msgid "Add a review"
403msgstr "پێداچوونەوە زۆر بکە"
385msgstr "پێداچوونەوە زۆر بکە"
404
386
405−#: qml/Dash/PullToRefreshScopeStyle.qml:55
387+#: qml/Dash/PullToRefreshScopeStyle.qml:56
406msgid "Pull to refresh…"
388msgid "Pull to refresh…"
407msgstr ""
389msgstr ""
408
390
409−#: qml/Dash/PullToRefreshScopeStyle.qml:60
391+#: qml/Dash/PullToRefreshScopeStyle.qml:61
410msgid "Release to refresh…"
392msgid "Release to refresh…"
411msgstr ""
393msgstr ""
412
394
@@ -414,15 +396,15 @@ msgstr ""
414msgid "Enable location data"
396msgid "Enable location data"
415msgstr ""
397msgstr ""
416
398
417−#: qml/Dash/ScopesList.qml:55
399+#: qml/Dash/ScopesList.qml:57
418msgid "Manage"
400msgid "Manage"
419msgstr ""
401msgstr ""
420
402
421−#: qml/Dash/ScopesList.qml:102
403+#: qml/Dash/ScopesList.qml:104
422msgid "Home"
404msgid "Home"
423msgstr ""
405msgstr ""
424
406
425−#: qml/Dash/ScopesList.qml:103
407+#: qml/Dash/ScopesList.qml:105
426msgid "Also installed"
408msgid "Also installed"
427msgstr ""
409msgstr ""
428
410
@@ -436,79 +418,51 @@ msgstr ""
436msgid "Unlock"
418msgid "Unlock"
437msgstr ""
419msgstr ""
438
420
439−#: qml/Greeter/Greeter.qml:555
421+#: qml/Greeter/DelayedLockscreen.qml:43
440−msgid "Try again"
422+msgid "Device Locked"
441−msgstr ""
442−
443−#: qml/Greeter/LoginList.qml:63
444−msgid "Passphrase"
445−msgstr ""
446−
447−#: qml/Greeter/LoginList.qml:64
448−msgid "Passcode"
449−msgstr ""
450−
451−#: qml/Greeter/LoginList.qml:87
452−msgid "Retry"
453−msgstr ""
454−
455−#: qml/Greeter/LoginList.qml:88
456−msgid "Log In"
457−msgstr ""
458−
459−#: qml/Greeter/NarrowView.qml:55
460−msgid "Sorry, incorrect passphrase."
461−msgstr ""
462−
463−#: qml/Greeter/NarrowView.qml:56
464−msgid "Sorry, incorrect passcode."
465−msgstr ""
466−
467−#: qml/Greeter/NarrowView.qml:57
468−msgid "This will be your last attempt."
469msgstr ""
423msgstr ""
470
424
471−#: qml/Greeter/NarrowView.qml:59
425+#: qml/Greeter/DelayedLockscreen.qml:58
472−msgid ""
426+msgid "You have been locked out due to too many failed passphrase attempts."
473−"If passphrase is entered incorrectly, your phone will conduct a factory "
474−"reset and all personal data will be deleted."
475msgstr ""
427msgstr ""
476
428
477−#: qml/Greeter/NarrowView.qml:60
429+#: qml/Greeter/DelayedLockscreen.qml:59
478−msgid ""
430+msgid "You have been locked out due to too many failed passcode attempts."
479−"If passcode is entered incorrectly, your phone will conduct a factory reset "
480−"and all personal data will be deleted."
481msgstr ""
431msgstr ""
482
432
483−#: qml/Greeter/NarrowView.qml:129
433+#: qml/Greeter/DelayedLockscreen.qml:68
484#, qt-format
434#, qt-format
485−msgid "Enter %1"
435+msgid "Please wait %1 minute and then try again…"
436+msgid_plural "Please wait %1 minutes and then try again…"
437+msgstr[0] ""
438+msgstr[1] ""
439+
440+#: qml/Greeter/Greeter.qml:596
441+msgid "Try again"
486msgstr ""
442msgstr ""
487
443
488−#: qml/Greeter/NarrowView.qml:130
444+#: qml/Greeter/LoginList.qml:70
489−msgid "Enter passphrase"
445+msgid "Passphrase"
490msgstr ""
446msgstr ""
491
447
492−#: qml/Greeter/NarrowView.qml:131
448+#: qml/Greeter/LoginList.qml:71
493−msgid "Enter passcode"
449+msgid "Passcode"
494msgstr ""
450msgstr ""
495
451
496−#: qml/Greeter/NarrowView.qml:135
452+#: qml/Greeter/LoginList.qml:98
497−#, qt-format
453+msgid "Retry"
498−msgid "Sorry, incorrect %1"
499msgstr ""
454msgstr ""
500
455
501−#: qml/Greeter/NarrowView.qml:136
456+#: qml/Greeter/LoginList.qml:99
502−msgid "Sorry, incorrect passphrase"
457+msgid "Log In"
503msgstr ""
458msgstr ""
504
459
505−#: qml/Greeter/NarrowView.qml:137
460+#: qml/Greeter/NarrowView.qml:252
506−msgctxt "passphrase"
461+msgid "Emergency"
507−msgid "Please re-enter"
508msgstr ""
462msgstr ""
509
463
510−#: qml/Greeter/NarrowView.qml:138
464+#: qml/Greeter/SessionsList.qml:122
511−msgid "Sorry, incorrect passcode"
465+msgid "Select desktop environment"
512msgstr ""
466msgstr ""
513
467
514#: qml/Notifications/NotificationMenuItemFactory.qml:124
468#: qml/Notifications/NotificationMenuItemFactory.qml:124
@@ -523,62 +477,62 @@ msgstr ""
523msgid "Conference"
477msgid "Conference"
524msgstr ""
478msgstr ""
525
479
526−#: qml/Panel/Indicators/MenuItemFactory.qml:762
480+#: qml/Panel/Indicators/MenuItemFactory.qml:847
527msgid "Nothing is playing"
481msgid "Nothing is playing"
528msgstr ""
482msgstr ""
529
483
530−#: qml/Panel/Indicators/MenuItemFactory.qml:891
484+#: qml/Panel/Indicators/MenuItemFactory.qml:975
531#, qt-format
485#, qt-format
532msgid "%1 hour"
486msgid "%1 hour"
533msgid_plural "%1 hours"
487msgid_plural "%1 hours"
534msgstr[0] ""
488msgstr[0] ""
535msgstr[1] ""
489msgstr[1] ""
536
490
537−#: qml/Panel/Indicators/MenuItemFactory.qml:895
491+#: qml/Panel/Indicators/MenuItemFactory.qml:979
538#, qt-format
492#, qt-format
539msgid "%1 minute"
493msgid "%1 minute"
540msgid_plural "%1 minutes"
494msgid_plural "%1 minutes"
541msgstr[0] ""
495msgstr[0] ""
542msgstr[1] ""
496msgstr[1] ""
543
497
544−#: qml/Panel/Indicators/MenuItemFactory.qml:900
498+#: qml/Panel/Indicators/MenuItemFactory.qml:984
545#, qt-format
499#, qt-format
546msgid "%1 second"
500msgid "%1 second"
547msgid_plural "%1 seconds"
501msgid_plural "%1 seconds"
548msgstr[0] ""
502msgstr[0] ""
549msgstr[1] ""
503msgstr[1] ""
550
504
551−#: qml/Panel/Indicators/MenuItemFactory.qml:903
505+#: qml/Panel/Indicators/MenuItemFactory.qml:987
552msgid "0 seconds"
506msgid "0 seconds"
553msgstr ""
507msgstr ""
554
508
555#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
509#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
556−#: qml/Panel/Indicators/MenuItemFactory.qml:905
510+#: qml/Panel/Indicators/MenuItemFactory.qml:989
557#, qt-format
511#, qt-format
558msgid "%1 remaining"
512msgid "%1 remaining"
559msgstr ""
513msgstr ""
560
514
561−#: qml/Panel/Indicators/MenuItemFactory.qml:911
515+#: qml/Panel/Indicators/MenuItemFactory.qml:995
562msgid "In queue…"
516msgid "In queue…"
563msgstr ""
517msgstr ""
564
518
565−#: qml/Panel/Indicators/MenuItemFactory.qml:915
519+#: qml/Panel/Indicators/MenuItemFactory.qml:999
566msgid "Downloading"
520msgid "Downloading"
567msgstr ""
521msgstr ""
568
522
569−#: qml/Panel/Indicators/MenuItemFactory.qml:917
523+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
570msgid "Paused, tap to resume"
524msgid "Paused, tap to resume"
571msgstr ""
525msgstr ""
572
526
573−#: qml/Panel/Indicators/MenuItemFactory.qml:919
527+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
574msgid "Canceled"
528msgid "Canceled"
575msgstr ""
529msgstr ""
576
530
577−#: qml/Panel/Indicators/MenuItemFactory.qml:921
531+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
578msgid "Finished"
532msgid "Finished"
579msgstr ""
533msgstr ""
580
534
581−#: qml/Panel/Indicators/MenuItemFactory.qml:923
535+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
582msgid "Failed, tap to retry"
536msgid "Failed, tap to retry"
583msgstr ""
537msgstr ""
584
538
@@ -598,7 +552,7 @@ msgctxt "Button: Call back on phone"
598msgid "Call back"
552msgid "Call back"
599msgstr ""
553msgstr ""
600
554
601−#: qml/Stages/SideStage.qml:76
555+#: qml/Stage/SideStage.qml:76
602msgid "Drag using 3 fingers any application from one window to the other"
556msgid "Drag using 3 fingers any application from one window to the other"
603msgstr ""
557msgstr ""
604
558
@@ -627,40 +581,54 @@ msgctxt "Button: Go back one page in the Wizard"
627msgid "Back"
581msgid "Back"
628msgstr ""
582msgstr ""
629
583
630−#: qml/Wizard/Pages/10-welcome.qml:27
584+#: qml/Wizard/Pages/10-welcome.qml:28
631msgid "Language"
585msgid "Language"
632msgstr ""
586msgstr ""
633
587
634−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
588+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
635−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
589+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
590+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
636−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
591+#: qml/Wizard/Pages/70-passwd-type.qml:145
637#: qml/Wizard/Pages/75-report-check.qml:84
592#: qml/Wizard/Pages/75-report-check.qml:84
638−#: qml/Wizard/Pages/passcode-desktop.qml:141
593+#: qml/Wizard/Pages/passcode-desktop.qml:142
639−#: qml/Wizard/Pages/password-set.qml:141
594+#: qml/Wizard/Pages/password-set.qml:142
640msgid "Next"
595msgid "Next"
641msgstr ""
596msgstr ""
642
597
643−#: qml/Wizard/Pages/30-wifi.qml:29
598+#: qml/Wizard/Pages/20-keyboard.qml:31
599+msgid "Select Keyboard"
600+msgstr ""
601+
602+#: qml/Wizard/Pages/20-keyboard.qml:71
603+msgid "Keyboard language"
604+msgstr ""
605+
606+#: qml/Wizard/Pages/20-keyboard.qml:93
607+msgid "Keyboard layout"
608+msgstr ""
609+
610+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
611+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
612+#: qml/Wizard/Pages/sim.qml:101
613+msgid "Skip"
614+msgstr ""
615+
616+#: qml/Wizard/Pages/30-wifi.qml:31
644msgid "Connect to Wi‑Fi"
617msgid "Connect to Wi‑Fi"
645msgstr ""
618msgstr ""
646
619
647−#: qml/Wizard/Pages/30-wifi.qml:130
620+#: qml/Wizard/Pages/30-wifi.qml:132
648msgid "Connected"
621msgid "Connected"
649msgstr ""
622msgstr ""
650
623
651−#: qml/Wizard/Pages/30-wifi.qml:163
624+#: qml/Wizard/Pages/30-wifi.qml:165
652msgid "Available Wi-Fi networks"
625msgid "Available Wi-Fi networks"
653msgstr ""
626msgstr ""
654
627
655−#: qml/Wizard/Pages/30-wifi.qml:164
628+#: qml/Wizard/Pages/30-wifi.qml:166
656msgid "No available Wi-Fi networks"
629msgid "No available Wi-Fi networks"
657msgstr ""
630msgstr ""
658
631
659−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
660−#: qml/Wizard/Pages/sim.qml:101
661−msgid "Skip"
662−msgstr ""
663−
664#: qml/Wizard/Pages/40-location.qml:27
632#: qml/Wizard/Pages/40-location.qml:27
665msgid "Location Services"
633msgid "Location Services"
666msgstr ""
634msgstr ""
@@ -693,11 +661,11 @@ msgstr ""
693msgid "You can change it later in System Settings."
661msgid "You can change it later in System Settings."
694msgstr ""
662msgstr ""
695
663
696−#: qml/Wizard/Pages/50-timezone.qml:29
664+#: qml/Wizard/Pages/50-timezone.qml:30
697msgid "Time Zone"
665msgid "Time Zone"
698msgstr ""
666msgstr ""
699
667
700−#: qml/Wizard/Pages/50-timezone.qml:181
668+#: qml/Wizard/Pages/50-timezone.qml:182
701msgid "Enter your city"
669msgid "Enter your city"
702msgstr ""
670msgstr ""
703
671
@@ -709,21 +677,21 @@ msgstr ""
709msgid "Preferred Name"
677msgid "Preferred Name"
710msgstr ""
678msgstr ""
711
679
712−#: qml/Wizard/Pages/70-passwd-type.qml:39
680+#: qml/Wizard/Pages/70-passwd-type.qml:40
713msgid "Lock Screen"
681msgid "Lock Screen"
714msgstr ""
682msgstr ""
715
683
716−#: qml/Wizard/Pages/70-passwd-type.qml:101
684+#: qml/Wizard/Pages/70-passwd-type.qml:102
717msgctxt "Label: Type of security method"
685msgctxt "Label: Type of security method"
718msgid "Create new password"
686msgid "Create new password"
719msgstr ""
687msgstr ""
720
688
721−#: qml/Wizard/Pages/70-passwd-type.qml:103
689+#: qml/Wizard/Pages/70-passwd-type.qml:104
722msgctxt "Label: Type of security method"
690msgctxt "Label: Type of security method"
723msgid "Create passcode (numbers only)"
691msgid "Create passcode (numbers only)"
724msgstr ""
692msgstr ""
725
693
726−#: qml/Wizard/Pages/70-passwd-type.qml:105
694+#: qml/Wizard/Pages/70-passwd-type.qml:106
727msgctxt "Label: Type of security method"
695msgctxt "Label: Type of security method"
728msgid "No lock code"
696msgid "No lock code"
729msgstr ""
697msgstr ""
@@ -744,6 +712,35 @@ msgstr ""
744msgid "Privacy policy"
712msgid "Privacy policy"
745msgstr ""
713msgstr ""
746
714
715+#: qml/Wizard/Pages/77-system-update.qml:28
716+msgid "Update Device"
717+msgstr ""
718+
719+#: qml/Wizard/Pages/77-system-update.qml:55
720+msgid ""
721+"There is a system update available and ready to install. Afterwards, the "
722+"device will automatically restart."
723+msgstr ""
724+
725+#: qml/Wizard/Pages/77-system-update.qml:76
726+msgctxt "string identifying name of the update"
727+msgid "Ubuntu system"
728+msgstr ""
729+
730+#: qml/Wizard/Pages/77-system-update.qml:83
731+#, qt-format
732+msgctxt "version of the system update"
733+msgid "Version %1"
734+msgstr ""
735+
736+#: qml/Wizard/Pages/77-system-update.qml:102
737+msgid "This could take a few minutes..."
738+msgstr ""
739+
740+#: qml/Wizard/Pages/77-system-update.qml:116
741+msgid "Install and restart now"
742+msgstr ""
743+
747#: qml/Wizard/Pages/80-finished.qml:89
744#: qml/Wizard/Pages/80-finished.qml:89
748msgid "Welcome to Ubuntu"
745msgid "Welcome to Ubuntu"
749msgstr ""
746msgstr ""
@@ -787,7 +784,7 @@ msgid "Service Terms"
787msgstr ""
784msgstr ""
788
785
789#: qml/Wizard/Pages/passcode-confirm.qml:43
786#: qml/Wizard/Pages/passcode-confirm.qml:43
790−#: qml/Wizard/Pages/passcode-desktop.qml:96
787+#: qml/Wizard/Pages/passcode-desktop.qml:97
791msgid "Confirm passcode"
788msgid "Confirm passcode"
792msgstr ""
789msgstr ""
793
790
@@ -800,28 +797,28 @@ msgctxt "Enter the passcode again"
800msgid "Please re-enter."
797msgid "Please re-enter."
801msgstr ""
798msgstr ""
802
799
803−#: qml/Wizard/Pages/passcode-desktop.qml:30
800+#: qml/Wizard/Pages/passcode-desktop.qml:31
804msgid "Lock Screen Passcode"
801msgid "Lock Screen Passcode"
805msgstr ""
802msgstr ""
806
803
807−#: qml/Wizard/Pages/passcode-desktop.qml:60
804+#: qml/Wizard/Pages/passcode-desktop.qml:61
808msgid "Enter 4 numbers to setup your passcode"
805msgid "Enter 4 numbers to setup your passcode"
809msgstr ""
806msgstr ""
810
807
811−#: qml/Wizard/Pages/passcode-desktop.qml:76
808+#: qml/Wizard/Pages/passcode-desktop.qml:77
812#: qml/Wizard/Pages/passcode-set.qml:54
809#: qml/Wizard/Pages/passcode-set.qml:54
813msgid "Choose passcode"
810msgid "Choose passcode"
814msgstr ""
811msgstr ""
815
812
816−#: qml/Wizard/Pages/passcode-desktop.qml:126
813+#: qml/Wizard/Pages/passcode-desktop.qml:127
817msgid "Passcode too short"
814msgid "Passcode too short"
818msgstr ""
815msgstr ""
819
816
820−#: qml/Wizard/Pages/passcode-desktop.qml:128
817+#: qml/Wizard/Pages/passcode-desktop.qml:129
821msgid "Passcodes match"
818msgid "Passcodes match"
822msgstr ""
819msgstr ""
823
820
824−#: qml/Wizard/Pages/passcode-desktop.qml:130
821+#: qml/Wizard/Pages/passcode-desktop.qml:131
825msgid "Passcodes do not match"
822msgid "Passcodes do not match"
826msgstr ""
823msgstr ""
827
824
@@ -829,19 +826,19 @@ msgstr ""
829msgid "Passcode must be 4 characters long"
826msgid "Passcode must be 4 characters long"
830msgstr ""
827msgstr ""
831
828
832−#: qml/Wizard/Pages/password-set.qml:30
829+#: qml/Wizard/Pages/password-set.qml:31
833msgid "Lock Screen Password"
830msgid "Lock Screen Password"
834msgstr ""
831msgstr ""
835
832
836−#: qml/Wizard/Pages/password-set.qml:61
833+#: qml/Wizard/Pages/password-set.qml:62
837msgid "Enter at least 8 characters"
834msgid "Enter at least 8 characters"
838msgstr ""
835msgstr ""
839
836
840−#: qml/Wizard/Pages/password-set.qml:73
837+#: qml/Wizard/Pages/password-set.qml:74
841msgid "Choose password"
838msgid "Choose password"
842msgstr ""
839msgstr ""
843
840
844−#: qml/Wizard/Pages/password-set.qml:103
841+#: qml/Wizard/Pages/password-set.qml:104
845msgid "Confirm password"
842msgid "Confirm password"
846msgstr ""
843msgstr ""
847
844
po/co.po+215−175
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11"PO-Revision-Date: 2016-05-24 10:40+0000\n"
11"PO-Revision-Date: 2016-05-24 10:40+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Corsican <co@li.org>\n"
13"Language-Team: Corsican <co@li.org>\n"
@@ -15,97 +15,75 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr "Parolla d'ordine: "
23msgstr "Parolla d'ordine: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Fissà l'accurtatoghju"
28msgstr "Fissà l'accurtatoghju"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr "Abbandunà"
32msgstr "Abbandunà"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Toglie l'accurtatoghju"
36msgstr "Toglie l'accurtatoghju"
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr "Dispusitivu bluccatu"
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−"Site stati bluccati per troppi tentativi fallati d'inserimentu di a frasa "
46−"d'ordine."
47−
48−#: qml/Components/DelayedLockscreen.qml:66
49−msgid "You have been locked out due to too many failed passcode attempts."
50−msgstr ""
51−"Site stati bluccati per troppi tentativi fallati d'inserimentu di u codice "
52−"d'accessu."
53−
54−#: qml/Components/DelayedLockscreen.qml:75
55−#, qt-format
56−msgid "Please wait %1 minute and then try again…"
57−msgid_plural "Please wait %1 minutes and then try again…"
58−msgstr[0] "Aspettà %1 minutu è po turnà à pruvà…"
59−msgstr[1] "Aspettà %1 minuti è po turnà à pruvà…"
60−
61−#: qml/Components/Dialogs.qml:144
62msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
40msgid "Log out"
64msgstr "Escì"
41msgstr "Escì"
65
42
66−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
67msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
68msgstr "Site sicuri di vulè escì?"
45msgstr "Site sicuri di vulè escì?"
69
46
70−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
71msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
72msgid "Lock"
49msgid "Lock"
73msgstr "Bluccà"
50msgstr "Bluccà"
74
51
75−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
76msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
77msgid "Log Out"
54msgid "Log Out"
78msgstr "Escì"
55msgstr "Escì"
79
56
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
61msgid "Cancel"
84msgstr "Annullà"
62msgstr "Annullà"
85
63
86−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
87msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
88msgid "Reboot"
66msgid "Reboot"
89msgstr "Turnà ad avvià"
67msgstr "Turnà ad avvià"
90
68
91−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
92msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
93msgstr "Site sicuri di vulè turnà ad avvià?"
71msgstr "Site sicuri di vulè turnà ad avvià?"
94
72
95−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
96msgid "No"
74msgid "No"
97msgstr "Nò"
75msgstr "Nò"
98
76
99−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
100msgid "Yes"
78msgid "Yes"
101msgstr "Iè"
79msgstr "Iè"
102
80
103−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
104msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
83msgid "Power"
106msgstr "Alimentazione"
84msgstr "Alimentazione"
107
85
108−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
109msgid ""
87msgid ""
110"Are you sure you would like\n"
88"Are you sure you would like\n"
111"to power off?"
89"to power off?"
@@ -113,12 +91,12 @@ msgstr ""
113"Site sicuri di vulè\n"
91"Site sicuri di vulè\n"
114"spenghje?"
92"spenghje?"
115
93
116−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
117msgctxt "Button: Power off the system"
95msgctxt "Button: Power off the system"
118msgid "Power off"
96msgid "Power off"
119msgstr "Spenghje"
97msgstr "Spenghje"
120
98
121−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
122msgctxt "Button: Restart the system"
100msgctxt "Button: Restart the system"
123msgid "Restart"
101msgid "Restart"
124msgstr "Turnà ad avvià"
102msgstr "Turnà ad avvià"
@@ -283,15 +261,15 @@ msgstr ""
283msgid "Closes the current window."
261msgid "Closes the current window."
284msgstr ""
262msgstr ""
285
263
286−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287msgid "Return to Call"
265msgid "Return to Call"
288msgstr "Turnà à a Chjamata"
266msgstr "Turnà à a Chjamata"
289
267
290−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
291msgid "Emergency Call"
269msgid "Emergency Call"
292msgstr "Chjamata d'emergenza"
270msgstr "Chjamata d'emergenza"
293
271
294−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
295msgid "OK"
273msgid "OK"
296msgstr "OK"
274msgstr "OK"
297
275
@@ -337,84 +315,84 @@ msgstr "Chjode tuttu"
337msgid "Preview Share Item"
315msgid "Preview Share Item"
338msgstr "Anteprima elementi da sparte"
316msgstr "Anteprima elementi da sparte"
339
317
340−#: qml/Dash/DashPageHeader.qml:333
318+#: qml/Dash/DashPageHeader.qml:361
341msgctxt "Button: Open the Ubuntu Store"
319msgctxt "Button: Open the Ubuntu Store"
342msgid "Store"
320msgid "Store"
343msgstr "Buttega"
321msgstr "Buttega"
344
322
345−#: qml/Dash/DashPageHeader.qml:340
323+#: qml/Dash/DashPageHeader.qml:368
346msgctxt "Button: Start a search in the current dash scope"
324msgctxt "Button: Start a search in the current dash scope"
347msgid "Search"
325msgid "Search"
348msgstr "Circà"
326msgstr "Circà"
349
327
350−#: qml/Dash/DashPageHeader.qml:350
328+#: qml/Dash/DashPageHeader.qml:378
351msgctxt "Button: Show the current dash scope settings"
329msgctxt "Button: Show the current dash scope settings"
352msgid "Settings"
330msgid "Settings"
353msgstr "Parametri"
331msgstr "Parametri"
354
332
355−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
356msgid "Remove from Favorites"
334msgid "Remove from Favorites"
357msgstr "Toglie da i Favuriti"
335msgstr "Toglie da i Favuriti"
358
336
359−#: qml/Dash/DashPageHeader.qml:357
337+#: qml/Dash/DashPageHeader.qml:385
360msgid "Add to Favorites"
338msgid "Add to Favorites"
361msgstr "Aghjustà à i Favuriti"
339msgstr "Aghjustà à i Favuriti"
362
340
363−#: qml/Dash/FiltersPopover.qml:60
341+#: qml/Dash/FiltersPopover.qml:61
364msgid "Refine your results"
342msgid "Refine your results"
365msgstr "Raffinà i risultati"
343msgstr "Raffinà i risultati"
366
344
367−#: qml/Dash/FiltersPopover.qml:69
345+#: qml/Dash/FiltersPopover.qml:70
368msgid "Reset"
346msgid "Reset"
369msgstr "Re-inizializzà"
347msgstr "Re-inizializzà"
370
348
371−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
349+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
372msgid "Show less"
350msgid "Show less"
373msgstr ""
351msgstr ""
374
352
375−#: qml/Dash/GenericScopeView.qml:580
353+#: qml/Dash/GenericScopeView.qml:547
376msgid "Show all"
354msgid "Show all"
377msgstr ""
355msgstr ""
378
356
379−#: qml/Dash/GenericScopeView.qml:637
357+#: qml/Dash/GenericScopeView.qml:578
380msgctxt "Label: Hint for dash search line edit"
358msgctxt "Label: Hint for dash search line edit"
381msgid "Search"
359msgid "Search"
382msgstr "Circà"
360msgstr "Circà"
383
361
384−#: qml/Dash/PageHeaderExtraPanel.qml:56
362+#: qml/Dash/PageHeaderExtraPanel.qml:67
385msgid "Recent Searches"
363msgid "Recent Searches"
386msgstr "Ricerche recente"
364msgstr "Ricerche recente"
387
365
388−#: qml/Dash/PageHeaderExtraPanel.qml:67
366+#: qml/Dash/PageHeaderExtraPanel.qml:78
389msgid "Clear All"
367msgid "Clear All"
390msgstr "Squassà tuttu"
368msgstr "Squassà tuttu"
391
369
392−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
393msgid "More..."
371msgid "More..."
394msgstr "Di più..."
372msgstr "Di più..."
395
373
396−#: qml/Dash/Previews/PreviewActionCombo.qml:35
374+#: qml/Dash/Previews/PreviewActionCombo.qml:36
397msgid "Less..."
375msgid "Less..."
398msgstr "Menu..."
376msgstr "Menu..."
399
377
400−#: qml/Dash/Previews/PreviewCommentInput.qml:68
378+#: qml/Dash/Previews/PreviewCommentInput.qml:83
401−#: qml/Dash/Previews/PreviewRatingInput.qml:175
379+#: qml/Dash/Previews/PreviewRatingInput.qml:202
402msgid "Send"
380msgid "Send"
403msgstr "Mandà"
381msgstr "Mandà"
404
382
405−#: qml/Dash/Previews/PreviewRatingInput.qml:82
383+#: qml/Dash/Previews/PreviewRatingInput.qml:109
406msgid "Rate this"
384msgid "Rate this"
407msgstr "Ghjudicà questu"
385msgstr "Ghjudicà questu"
408
386
409−#: qml/Dash/Previews/PreviewRatingInput.qml:157
387+#: qml/Dash/Previews/PreviewRatingInput.qml:184
410msgid "Add a review"
388msgid "Add a review"
411msgstr "Aghjustà una recensione"
389msgstr "Aghjustà una recensione"
412
390
413−#: qml/Dash/PullToRefreshScopeStyle.qml:55
391+#: qml/Dash/PullToRefreshScopeStyle.qml:56
414msgid "Pull to refresh…"
392msgid "Pull to refresh…"
415msgstr "Tirà per rinnuvà..."
393msgstr "Tirà per rinnuvà..."
416
394
417−#: qml/Dash/PullToRefreshScopeStyle.qml:60
395+#: qml/Dash/PullToRefreshScopeStyle.qml:61
418msgid "Release to refresh…"
396msgid "Release to refresh…"
419msgstr "Lascià andà per rinnuvà..."
397msgstr "Lascià andà per rinnuvà..."
420
398
@@ -422,15 +400,15 @@ msgstr "Lascià andà per rinnuvà..."
422msgid "Enable location data"
400msgid "Enable location data"
423msgstr "Abilità i dati nant'à u locu"
401msgstr "Abilità i dati nant'à u locu"
424
402
425−#: qml/Dash/ScopesList.qml:55
403+#: qml/Dash/ScopesList.qml:57
426msgid "Manage"
404msgid "Manage"
427msgstr "Gestì"
405msgstr "Gestì"
428
406
429−#: qml/Dash/ScopesList.qml:102
407+#: qml/Dash/ScopesList.qml:104
430msgid "Home"
408msgid "Home"
431msgstr "Accolta"
409msgstr "Accolta"
432
410
433−#: qml/Dash/ScopesList.qml:103
411+#: qml/Dash/ScopesList.qml:105
434msgid "Also installed"
412msgid "Also installed"
435msgstr "Anu dinù installatu..."
413msgstr "Anu dinù installatu..."
436
414
@@ -446,84 +424,56 @@ msgstr ""
446msgid "Unlock"
424msgid "Unlock"
447msgstr "Sbluccà"
425msgstr "Sbluccà"
448
426
449−#: qml/Greeter/Greeter.qml:555
427+#: qml/Greeter/DelayedLockscreen.qml:43
428+msgid "Device Locked"
429+msgstr "Dispusitivu bluccatu"
430+
431+#: qml/Greeter/DelayedLockscreen.qml:58
432+msgid "You have been locked out due to too many failed passphrase attempts."
433+msgstr ""
434+"Site stati bluccati per troppi tentativi fallati d'inserimentu di a frasa "
435+"d'ordine."
436+
437+#: qml/Greeter/DelayedLockscreen.qml:59
438+msgid "You have been locked out due to too many failed passcode attempts."
439+msgstr ""
440+"Site stati bluccati per troppi tentativi fallati d'inserimentu di u codice "
441+"d'accessu."
442+
443+#: qml/Greeter/DelayedLockscreen.qml:68
444+#, qt-format
445+msgid "Please wait %1 minute and then try again…"
446+msgid_plural "Please wait %1 minutes and then try again…"
447+msgstr[0] "Aspettà %1 minutu è po turnà à pruvà…"
448+msgstr[1] "Aspettà %1 minuti è po turnà à pruvà…"
449+
450+#: qml/Greeter/Greeter.qml:596
450msgid "Try again"
451msgid "Try again"
451msgstr ""
452msgstr ""
452
453
453−#: qml/Greeter/LoginList.qml:63
454+#: qml/Greeter/LoginList.qml:70
454msgid "Passphrase"
455msgid "Passphrase"
455msgstr ""
456msgstr ""
456
457
457−#: qml/Greeter/LoginList.qml:64
458+#: qml/Greeter/LoginList.qml:71
458msgid "Passcode"
459msgid "Passcode"
459msgstr ""
460msgstr ""
460
461
461−#: qml/Greeter/LoginList.qml:87
462+#: qml/Greeter/LoginList.qml:98
462msgid "Retry"
463msgid "Retry"
463msgstr "Turnà à pruvà"
464msgstr "Turnà à pruvà"
464
465
465−#: qml/Greeter/LoginList.qml:88
466+#: qml/Greeter/LoginList.qml:99
466msgid "Log In"
467msgid "Log In"
467msgstr ""
468msgstr ""
468
469
469−#: qml/Greeter/NarrowView.qml:55
470+#: qml/Greeter/NarrowView.qml:252
470−msgid "Sorry, incorrect passphrase."
471+msgid "Emergency"
471−msgstr "Spiacenti, frasa d'ordine errata"
472−
473−#: qml/Greeter/NarrowView.qml:56
474−msgid "Sorry, incorrect passcode."
475−msgstr "Spiacenti, codice d'accessu erratu"
476−
477−#: qml/Greeter/NarrowView.qml:57
478−msgid "This will be your last attempt."
479−msgstr "Questu tentativu serà l'ultimu."
480−
481−#: qml/Greeter/NarrowView.qml:59
482−msgid ""
483−"If passphrase is entered incorrectly, your phone will conduct a factory "
484−"reset and all personal data will be deleted."
485msgstr ""
472msgstr ""
486−"Si a frasa d'ordine hè errata, u telefunu serà reinizializatu, è tutti i "
487−"dati persunali serannu perduti."
488
473
489−#: qml/Greeter/NarrowView.qml:60
474+#: qml/Greeter/SessionsList.qml:122
490−msgid ""
475+msgid "Select desktop environment"
491−"If passcode is entered incorrectly, your phone will conduct a factory reset "
492−"and all personal data will be deleted."
493msgstr ""
476msgstr ""
494−"Si u codice d'accessu hè erratu, u telefunu serà reinizializatu, è tutti i "
495−"dati persunali serannu perduti."
496−
497−#: qml/Greeter/NarrowView.qml:129
498−#, qt-format
499−msgid "Enter %1"
500−msgstr "Inserì %1"
501−
502−#: qml/Greeter/NarrowView.qml:130
503−msgid "Enter passphrase"
504−msgstr "Inserì a frasa d'ordine"
505−
506−#: qml/Greeter/NarrowView.qml:131
507−msgid "Enter passcode"
508−msgstr "Inserì u codice d'accessu"
509−
510−#: qml/Greeter/NarrowView.qml:135
511−#, qt-format
512−msgid "Sorry, incorrect %1"
513−msgstr "Spiacenti, %1 micca currettu"
514−
515−#: qml/Greeter/NarrowView.qml:136
516−msgid "Sorry, incorrect passphrase"
517−msgstr "Spiacenti, frasa d'ordine micca curretta"
518−
519−#: qml/Greeter/NarrowView.qml:137
520−msgctxt "passphrase"
521−msgid "Please re-enter"
522−msgstr "Ripete l'inserimentu"
523−
524−#: qml/Greeter/NarrowView.qml:138
525−msgid "Sorry, incorrect passcode"
526−msgstr "Spiacenti, codice d'accessu micca currettu"
527
477
528#: qml/Notifications/NotificationMenuItemFactory.qml:124
478#: qml/Notifications/NotificationMenuItemFactory.qml:124
529msgid "Show password"
479msgid "Show password"
@@ -537,62 +487,62 @@ msgstr "Tuccà per riturnà à a chjamata..."
537msgid "Conference"
487msgid "Conference"
538msgstr "Cunferenza"
488msgstr "Cunferenza"
539
489
540−#: qml/Panel/Indicators/MenuItemFactory.qml:762
490+#: qml/Panel/Indicators/MenuItemFactory.qml:847
541msgid "Nothing is playing"
491msgid "Nothing is playing"
542msgstr "Nunda in ripruduzione..."
492msgstr "Nunda in ripruduzione..."
543
493
544−#: qml/Panel/Indicators/MenuItemFactory.qml:891
494+#: qml/Panel/Indicators/MenuItemFactory.qml:975
545#, qt-format
495#, qt-format
546msgid "%1 hour"
496msgid "%1 hour"
547msgid_plural "%1 hours"
497msgid_plural "%1 hours"
548msgstr[0] "%1 ora"
498msgstr[0] "%1 ora"
549msgstr[1] "%1 ore"
499msgstr[1] "%1 ore"
550
500
551−#: qml/Panel/Indicators/MenuItemFactory.qml:895
501+#: qml/Panel/Indicators/MenuItemFactory.qml:979
552#, qt-format
502#, qt-format
553msgid "%1 minute"
503msgid "%1 minute"
554msgid_plural "%1 minutes"
504msgid_plural "%1 minutes"
555msgstr[0] "%1 minutu"
505msgstr[0] "%1 minutu"
556msgstr[1] "%1 minuti"
506msgstr[1] "%1 minuti"
557
507
558−#: qml/Panel/Indicators/MenuItemFactory.qml:900
508+#: qml/Panel/Indicators/MenuItemFactory.qml:984
559#, qt-format
509#, qt-format
560msgid "%1 second"
510msgid "%1 second"
561msgid_plural "%1 seconds"
511msgid_plural "%1 seconds"
562msgstr[0] "%1 seconda"
512msgstr[0] "%1 seconda"
563msgstr[1] "%1 seconde"
513msgstr[1] "%1 seconde"
564
514
565−#: qml/Panel/Indicators/MenuItemFactory.qml:903
515+#: qml/Panel/Indicators/MenuItemFactory.qml:987
566msgid "0 seconds"
516msgid "0 seconds"
567msgstr "0 seconde"
517msgstr "0 seconde"
568
518
569#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
519#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
570−#: qml/Panel/Indicators/MenuItemFactory.qml:905
520+#: qml/Panel/Indicators/MenuItemFactory.qml:989
571#, qt-format
521#, qt-format
572msgid "%1 remaining"
522msgid "%1 remaining"
573msgstr "%1 rimanente"
523msgstr "%1 rimanente"
574
524
575−#: qml/Panel/Indicators/MenuItemFactory.qml:911
525+#: qml/Panel/Indicators/MenuItemFactory.qml:995
576msgid "In queue…"
526msgid "In queue…"
577msgstr "In coda..."
527msgstr "In coda..."
578
528
579−#: qml/Panel/Indicators/MenuItemFactory.qml:915
529+#: qml/Panel/Indicators/MenuItemFactory.qml:999
580msgid "Downloading"
530msgid "Downloading"
581msgstr "Scaricamentu..."
531msgstr "Scaricamentu..."
582
532
583−#: qml/Panel/Indicators/MenuItemFactory.qml:917
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
584msgid "Paused, tap to resume"
534msgid "Paused, tap to resume"
585msgstr "In sosta, tuccà pè riprende"
535msgstr "In sosta, tuccà pè riprende"
586
536
587−#: qml/Panel/Indicators/MenuItemFactory.qml:919
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
588msgid "Canceled"
538msgid "Canceled"
589msgstr "Annullatu"
539msgstr "Annullatu"
590
540
591−#: qml/Panel/Indicators/MenuItemFactory.qml:921
541+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
592msgid "Finished"
542msgid "Finished"
593msgstr "Cumpletu"
543msgstr "Cumpletu"
594
544
595−#: qml/Panel/Indicators/MenuItemFactory.qml:923
545+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
596msgid "Failed, tap to retry"
546msgid "Failed, tap to retry"
597msgstr "Fallatu, tocca per turnà à pruvà"
547msgstr "Fallatu, tocca per turnà à pruvà"
598
548
@@ -612,7 +562,7 @@ msgctxt "Button: Call back on phone"
612msgid "Call back"
562msgid "Call back"
613msgstr "Richjamà"
563msgstr "Richjamà"
614
564
615−#: qml/Stages/SideStage.qml:76
565+#: qml/Stage/SideStage.qml:76
616msgid "Drag using 3 fingers any application from one window to the other"
566msgid "Drag using 3 fingers any application from one window to the other"
617msgstr ""
567msgstr ""
618"Trascinà cù 3 dite qualichissia applicazione da una finestra à un'antra"
568"Trascinà cù 3 dite qualichissia applicazione da una finestra à un'antra"
@@ -642,40 +592,54 @@ msgctxt "Button: Go back one page in the Wizard"
642msgid "Back"
592msgid "Back"
643msgstr "Riturnà"
593msgstr "Riturnà"
644
594
645−#: qml/Wizard/Pages/10-welcome.qml:27
595+#: qml/Wizard/Pages/10-welcome.qml:28
646msgid "Language"
596msgid "Language"
647msgstr "Lingua"
597msgstr "Lingua"
648
598
649−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
599+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
650−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
600+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
601+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
651−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
602+#: qml/Wizard/Pages/70-passwd-type.qml:145
652#: qml/Wizard/Pages/75-report-check.qml:84
603#: qml/Wizard/Pages/75-report-check.qml:84
653−#: qml/Wizard/Pages/passcode-desktop.qml:141
604+#: qml/Wizard/Pages/passcode-desktop.qml:142
654−#: qml/Wizard/Pages/password-set.qml:141
605+#: qml/Wizard/Pages/password-set.qml:142
655msgid "Next"
606msgid "Next"
656msgstr "Prossimu"
607msgstr "Prossimu"
657
608
658−#: qml/Wizard/Pages/30-wifi.qml:29
609+#: qml/Wizard/Pages/20-keyboard.qml:31
610+msgid "Select Keyboard"
611+msgstr ""
612+
613+#: qml/Wizard/Pages/20-keyboard.qml:71
614+msgid "Keyboard language"
615+msgstr ""
616+
617+#: qml/Wizard/Pages/20-keyboard.qml:93
618+msgid "Keyboard layout"
619+msgstr ""
620+
621+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
622+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
623+#: qml/Wizard/Pages/sim.qml:101
624+msgid "Skip"
625+msgstr "Ignurà"
626+
627+#: qml/Wizard/Pages/30-wifi.qml:31
659msgid "Connect to Wi‑Fi"
628msgid "Connect to Wi‑Fi"
660msgstr "Cunnettesi à u Wi-Fi"
629msgstr "Cunnettesi à u Wi-Fi"
661
630
662−#: qml/Wizard/Pages/30-wifi.qml:130
631+#: qml/Wizard/Pages/30-wifi.qml:132
663msgid "Connected"
632msgid "Connected"
664msgstr "Cunnessu"
633msgstr "Cunnessu"
665
634
666−#: qml/Wizard/Pages/30-wifi.qml:163
635+#: qml/Wizard/Pages/30-wifi.qml:165
667msgid "Available Wi-Fi networks"
636msgid "Available Wi-Fi networks"
668msgstr "Rete Wi-Fi dispunibili"
637msgstr "Rete Wi-Fi dispunibili"
669
638
670−#: qml/Wizard/Pages/30-wifi.qml:164
639+#: qml/Wizard/Pages/30-wifi.qml:166
671msgid "No available Wi-Fi networks"
640msgid "No available Wi-Fi networks"
672msgstr "Nisuna reta Wi-Fi hè dispunibile"
641msgstr "Nisuna reta Wi-Fi hè dispunibile"
673
642
674−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
675−#: qml/Wizard/Pages/sim.qml:101
676−msgid "Skip"
677−msgstr "Ignurà"
678−
679#: qml/Wizard/Pages/40-location.qml:27
643#: qml/Wizard/Pages/40-location.qml:27
680msgid "Location Services"
644msgid "Location Services"
681msgstr "Servizi di lucalizazione"
645msgstr "Servizi di lucalizazione"
@@ -710,11 +674,11 @@ msgstr "Miccà usà u mo locu"
710msgid "You can change it later in System Settings."
674msgid "You can change it later in System Settings."
711msgstr "A pudite cambià successivamente ind'i Parametri di Sistema"
675msgstr "A pudite cambià successivamente ind'i Parametri di Sistema"
712
676
713−#: qml/Wizard/Pages/50-timezone.qml:29
677+#: qml/Wizard/Pages/50-timezone.qml:30
714msgid "Time Zone"
678msgid "Time Zone"
715msgstr "Fusu orariu"
679msgstr "Fusu orariu"
716
680
717−#: qml/Wizard/Pages/50-timezone.qml:181
681+#: qml/Wizard/Pages/50-timezone.qml:182
718msgid "Enter your city"
682msgid "Enter your city"
719msgstr "Inserì a vostra cità"
683msgstr "Inserì a vostra cità"
720
684
@@ -726,21 +690,21 @@ msgstr "Persunalizà u vostru dispusitivu"
726msgid "Preferred Name"
690msgid "Preferred Name"
727msgstr "Nome preferitu"
691msgstr "Nome preferitu"
728
692
729−#: qml/Wizard/Pages/70-passwd-type.qml:39
693+#: qml/Wizard/Pages/70-passwd-type.qml:40
730msgid "Lock Screen"
694msgid "Lock Screen"
731msgstr "Bluccà u screnu"
695msgstr "Bluccà u screnu"
732
696
733−#: qml/Wizard/Pages/70-passwd-type.qml:101
697+#: qml/Wizard/Pages/70-passwd-type.qml:102
734msgctxt "Label: Type of security method"
698msgctxt "Label: Type of security method"
735msgid "Create new password"
699msgid "Create new password"
736msgstr "Creà una nova parolla d'ordine"
700msgstr "Creà una nova parolla d'ordine"
737
701
738−#: qml/Wizard/Pages/70-passwd-type.qml:103
702+#: qml/Wizard/Pages/70-passwd-type.qml:104
739msgctxt "Label: Type of security method"
703msgctxt "Label: Type of security method"
740msgid "Create passcode (numbers only)"
704msgid "Create passcode (numbers only)"
741msgstr "Creà un codice d'accessu (sulamente numeri)"
705msgstr "Creà un codice d'accessu (sulamente numeri)"
742
706
743−#: qml/Wizard/Pages/70-passwd-type.qml:105
707+#: qml/Wizard/Pages/70-passwd-type.qml:106
744msgctxt "Label: Type of security method"
708msgctxt "Label: Type of security method"
745msgid "No lock code"
709msgid "No lock code"
746msgstr "Nisun codice di bloccu"
710msgstr "Nisun codice di bloccu"
@@ -763,6 +727,35 @@ msgstr ""
763msgid "Privacy policy"
727msgid "Privacy policy"
764msgstr "Pulitica di Riservatezza"
728msgstr "Pulitica di Riservatezza"
765
729
730+#: qml/Wizard/Pages/77-system-update.qml:28
731+msgid "Update Device"
732+msgstr ""
733+
734+#: qml/Wizard/Pages/77-system-update.qml:55
735+msgid ""
736+"There is a system update available and ready to install. Afterwards, the "
737+"device will automatically restart."
738+msgstr ""
739+
740+#: qml/Wizard/Pages/77-system-update.qml:76
741+msgctxt "string identifying name of the update"
742+msgid "Ubuntu system"
743+msgstr ""
744+
745+#: qml/Wizard/Pages/77-system-update.qml:83
746+#, qt-format
747+msgctxt "version of the system update"
748+msgid "Version %1"
749+msgstr ""
750+
751+#: qml/Wizard/Pages/77-system-update.qml:102
752+msgid "This could take a few minutes..."
753+msgstr ""
754+
755+#: qml/Wizard/Pages/77-system-update.qml:116
756+msgid "Install and restart now"
757+msgstr ""
758+
766#: qml/Wizard/Pages/80-finished.qml:89
759#: qml/Wizard/Pages/80-finished.qml:89
767msgid "Welcome to Ubuntu"
760msgid "Welcome to Ubuntu"
768msgstr "Benvenuti in Ubuntu"
761msgstr "Benvenuti in Ubuntu"
@@ -811,7 +804,7 @@ msgid "Service Terms"
811msgstr "Termini di u serviziu"
804msgstr "Termini di u serviziu"
812
805
813#: qml/Wizard/Pages/passcode-confirm.qml:43
806#: qml/Wizard/Pages/passcode-confirm.qml:43
814−#: qml/Wizard/Pages/passcode-desktop.qml:96
807+#: qml/Wizard/Pages/passcode-desktop.qml:97
815msgid "Confirm passcode"
808msgid "Confirm passcode"
816msgstr "Cunfirmà u codice d'accessu"
809msgstr "Cunfirmà u codice d'accessu"
817
810
@@ -824,28 +817,28 @@ msgctxt "Enter the passcode again"
824msgid "Please re-enter."
817msgid "Please re-enter."
825msgstr "Ripete l'inserimentu."
818msgstr "Ripete l'inserimentu."
826
819
827−#: qml/Wizard/Pages/passcode-desktop.qml:30
820+#: qml/Wizard/Pages/passcode-desktop.qml:31
828msgid "Lock Screen Passcode"
821msgid "Lock Screen Passcode"
829msgstr "Codice bloccu screnu"
822msgstr "Codice bloccu screnu"
830
823
831−#: qml/Wizard/Pages/passcode-desktop.qml:60
824+#: qml/Wizard/Pages/passcode-desktop.qml:61
832msgid "Enter 4 numbers to setup your passcode"
825msgid "Enter 4 numbers to setup your passcode"
833msgstr "Inserì 4 numeri per creà u vostru codice d'accessu"
826msgstr "Inserì 4 numeri per creà u vostru codice d'accessu"
834
827
835−#: qml/Wizard/Pages/passcode-desktop.qml:76
828+#: qml/Wizard/Pages/passcode-desktop.qml:77
836#: qml/Wizard/Pages/passcode-set.qml:54
829#: qml/Wizard/Pages/passcode-set.qml:54
837msgid "Choose passcode"
830msgid "Choose passcode"
838msgstr "Sceglie u codice d'accessu"
831msgstr "Sceglie u codice d'accessu"
839
832
840−#: qml/Wizard/Pages/passcode-desktop.qml:126
833+#: qml/Wizard/Pages/passcode-desktop.qml:127
841msgid "Passcode too short"
834msgid "Passcode too short"
842msgstr "Codice d'accessu troppu cortu"
835msgstr "Codice d'accessu troppu cortu"
843
836
844−#: qml/Wizard/Pages/passcode-desktop.qml:128
837+#: qml/Wizard/Pages/passcode-desktop.qml:129
845msgid "Passcodes match"
838msgid "Passcodes match"
846msgstr "I codici currispondenu."
839msgstr "I codici currispondenu."
847
840
848−#: qml/Wizard/Pages/passcode-desktop.qml:130
841+#: qml/Wizard/Pages/passcode-desktop.qml:131
849msgid "Passcodes do not match"
842msgid "Passcodes do not match"
850msgstr "I codici ùn currispondenu micca."
843msgstr "I codici ùn currispondenu micca."
851
844
@@ -853,19 +846,19 @@ msgstr "I codici ùn currispondenu micca."
853msgid "Passcode must be 4 characters long"
846msgid "Passcode must be 4 characters long"
854msgstr "U codice d'accessu hà da esse longu almenu 4 caratteri"
847msgstr "U codice d'accessu hà da esse longu almenu 4 caratteri"
855
848
856−#: qml/Wizard/Pages/password-set.qml:30
849+#: qml/Wizard/Pages/password-set.qml:31
857msgid "Lock Screen Password"
850msgid "Lock Screen Password"
858msgstr "Parolla d'ordine per bloccu screnu"
851msgstr "Parolla d'ordine per bloccu screnu"
859
852
860−#: qml/Wizard/Pages/password-set.qml:61
853+#: qml/Wizard/Pages/password-set.qml:62
861msgid "Enter at least 8 characters"
854msgid "Enter at least 8 characters"
862msgstr "Inserì almenu 8 caratteri"
855msgstr "Inserì almenu 8 caratteri"
863
856
864−#: qml/Wizard/Pages/password-set.qml:73
857+#: qml/Wizard/Pages/password-set.qml:74
865msgid "Choose password"
858msgid "Choose password"
866msgstr "Sceglie a parolla d'ordine"
859msgstr "Sceglie a parolla d'ordine"
867
860
868−#: qml/Wizard/Pages/password-set.qml:103
861+#: qml/Wizard/Pages/password-set.qml:104
869msgid "Confirm password"
862msgid "Confirm password"
870msgstr "Cunfirmà parolla d'ordine"
863msgstr "Cunfirmà parolla d'ordine"
871
864
@@ -928,9 +921,21 @@ msgstr "Parolla d'ordine moltu debule"
928#~ msgid "Tap to unlock"
921#~ msgid "Tap to unlock"
929#~ msgstr "Tuccà per sbluccà"
922#~ msgstr "Tuccà per sbluccà"
930
923
924+#~ msgid "Sorry, incorrect passphrase."
925+#~ msgstr "Spiacenti, frasa d'ordine errata"
926+
927+#~ msgid "Sorry, incorrect passcode."
928+#~ msgstr "Spiacenti, codice d'accessu erratu"
929+
931#~ msgid "See less"
930#~ msgid "See less"
932#~ msgstr "Vede menu"
931#~ msgstr "Vede menu"
933
932
933+#~ msgid "Enter passphrase"
934+#~ msgstr "Inserì a frasa d'ordine"
935+
936+#~ msgid "Enter passcode"
937+#~ msgstr "Inserì u codice d'accessu"
938+
934#~ msgid "Swipe from the left edge to open the launcher"
939#~ msgid "Swipe from the left edge to open the launcher"
935#~ msgstr "Scorre da mancina versu diritta per aprì u launcher"
940#~ msgstr "Scorre da mancina versu diritta per aprì u launcher"
936
941
@@ -953,6 +958,20 @@ msgstr "Parolla d'ordine moltu debule"
953#~ msgstr ""
958#~ msgstr ""
954#~ "Scorre cortu o longu da diritta versu mancina per vede e applicazioni aperte"
959#~ "Scorre cortu o longu da diritta versu mancina per vede e applicazioni aperte"
955
960
961+#, qt-format
962+#~ msgid "Enter %1"
963+#~ msgstr "Inserì %1"
964+
965+#~ msgid "Sorry, incorrect passphrase"
966+#~ msgstr "Spiacenti, frasa d'ordine micca curretta"
967+
968+#, qt-format
969+#~ msgid "Sorry, incorrect %1"
970+#~ msgstr "Spiacenti, %1 micca currettu"
971+
972+#~ msgid "Sorry, incorrect passcode"
973+#~ msgstr "Spiacenti, codice d'accessu micca currettu"
974+
956#~ msgid "Swipe from the top right edge to open the notification bar"
975#~ msgid "Swipe from the top right edge to open the notification bar"
957#~ msgstr "Scorre da l'altu à diritta per aprì a barra di e nutificazione"
976#~ msgstr "Scorre da l'altu à diritta per aprì a barra di e nutificazione"
958
977
@@ -962,3 +981,24 @@ msgstr "Parolla d'ordine moltu debule"
962#~ msgid "Hover your mouse on the right edge to view your open apps"
981#~ msgid "Hover your mouse on the right edge to view your open apps"
963#~ msgstr ""
982#~ msgstr ""
964#~ "Passà u puntatore di u topu nant'à u bordu destru per vede e app aperte"
983#~ "Passà u puntatore di u topu nant'à u bordu destru per vede e app aperte"
984+
985+#~ msgid "This will be your last attempt."
986+#~ msgstr "Questu tentativu serà l'ultimu."
987+
988+#~ msgctxt "passphrase"
989+#~ msgid "Please re-enter"
990+#~ msgstr "Ripete l'inserimentu"
991+
992+#~ msgid ""
993+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
994+#~ "and all personal data will be deleted."
995+#~ msgstr ""
996+#~ "Si u codice d'accessu hè erratu, u telefunu serà reinizializatu, è tutti i "
997+#~ "dati persunali serannu perduti."
998+
999+#~ msgid ""
1000+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1001+#~ "reset and all personal data will be deleted."
1002+#~ msgstr ""
1003+#~ "Si a frasa d'ordine hè errata, u telefunu serà reinizializatu, è tutti i "
1004+#~ "dati persunali serannu perduti."
po/cs.po+210−174
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -15,97 +15,76 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20"Language: cs\n"
20"Language: cs\n"
21
21
22#: plugins/LightDM/Greeter.cpp:123
22#: plugins/LightDM/Greeter.cpp:123
23msgid "Password: "
23msgid "Password: "
24msgstr "Heslo: "
24msgstr "Heslo: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "Připíchnout zkratku"
29msgstr "Připíchnout zkratku"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
32msgid "Quit"
32msgid "Quit"
33msgstr ""
33msgstr ""
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "Odpíchnout zkratku"
37msgstr "Odpíchnout zkratku"
38
38
39−#: qml/Components/DelayedLockscreen.qml:50
39+#: qml/Components/Dialogs.qml:149
40−msgid "Device Locked"
41−msgstr "Zařízení uzamčeno"
42−
43−#: qml/Components/DelayedLockscreen.qml:65
44−msgid "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í."
47−
48−#: qml/Components/DelayedLockscreen.qml:66
49−msgid "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í."
52−
53−#: qml/Components/DelayedLockscreen.qml:75
54−#, qt-format
55−msgid "Please wait %1 minute and then try again…"
56−msgid_plural "Please wait %1 minutes and then try again…"
57−msgstr[0] "Počkejte, prosím, %1 minut a poté to zkuste znovu..."
58−msgstr[1] "Počkejte, prosím, %1 minuty a poté to zkuste znovu..."
59−msgstr[2] "Počkejte, prosím, %1 minut a poté to zkuste znovu..."
60−
61−#: qml/Components/Dialogs.qml:144
62msgctxt "Title: Lock/Log out dialog"
40msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
41msgid "Log out"
64msgstr "Odhlásit se"
42msgstr "Odhlásit se"
65
43
66−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
67msgid "Are you sure you want to log out?"
45msgid "Are you sure you want to log out?"
68msgstr "Jste si jistí, že se chcete odhlásit?"
46msgstr "Jste si jistí, že se chcete odhlásit?"
69
47
70−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
71msgctxt "Button: Lock the system"
49msgctxt "Button: Lock the system"
72msgid "Lock"
50msgid "Lock"
73msgstr "Uzamknout"
51msgstr "Uzamknout"
74
52
75−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
76msgctxt "Button: Log out from the system"
54msgctxt "Button: Log out from the system"
77msgid "Log Out"
55msgid "Log Out"
78msgstr "Odhlásit"
56msgstr "Odhlásit"
79
57
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
61#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
62msgid "Cancel"
84msgstr "Zrušit"
63msgstr "Zrušit"
85
64
86−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
87msgctxt "Title: Reboot dialog"
66msgctxt "Title: Reboot dialog"
88msgid "Reboot"
67msgid "Reboot"
89msgstr "Restartovat"
68msgstr "Restartovat"
90
69
91−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
92msgid "Are you sure you want to reboot?"
71msgid "Are you sure you want to reboot?"
93msgstr "Jste si jistí, že chcete zařízení restartovat?"
72msgstr "Jste si jistí, že chcete zařízení restartovat?"
94
73
95−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
96msgid "No"
75msgid "No"
97msgstr "Ne"
76msgstr "Ne"
98
77
99−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
100msgid "Yes"
79msgid "Yes"
101msgstr "Ano"
80msgstr "Ano"
102
81
103−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
104msgctxt "Title: Power off/Restart dialog"
83msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
84msgid "Power"
106msgstr "Vypnutí"
85msgstr "Vypnutí"
107
86
108−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
109msgid ""
88msgid ""
110"Are you sure you would like\n"
89"Are you sure you would like\n"
111"to power off?"
90"to power off?"
@@ -113,12 +92,12 @@ msgstr ""
113"Jste si jistí, že chcete\n"
92"Jste si jistí, že chcete\n"
114"telefon vypnout?"
93"telefon vypnout?"
115
94
116−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
117msgctxt "Button: Power off the system"
96msgctxt "Button: Power off the system"
118msgid "Power off"
97msgid "Power off"
119msgstr "Vypnutí"
98msgstr "Vypnutí"
120
99
121−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
122msgctxt "Button: Restart the system"
101msgctxt "Button: Restart the system"
123msgid "Restart"
102msgid "Restart"
124msgstr "Reboot"
103msgstr "Reboot"
@@ -283,15 +262,15 @@ msgstr ""
283msgid "Closes the current window."
262msgid "Closes the current window."
284msgstr ""
263msgstr ""
285
264
286−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287msgid "Return to Call"
266msgid "Return to Call"
288msgstr "Vrátit se k hovoru"
267msgstr "Vrátit se k hovoru"
289
268
290−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
291msgid "Emergency Call"
270msgid "Emergency Call"
292msgstr "Tísňové volání"
271msgstr "Tísňové volání"
293
272
294−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
295msgid "OK"
274msgid "OK"
296msgstr "OK"
275msgstr "OK"
297
276
@@ -335,84 +314,84 @@ msgstr ""
335msgid "Preview Share Item"
314msgid "Preview Share Item"
336msgstr ""
315msgstr ""
337
316
338−#: qml/Dash/DashPageHeader.qml:333
317+#: qml/Dash/DashPageHeader.qml:361
339msgctxt "Button: Open the Ubuntu Store"
318msgctxt "Button: Open the Ubuntu Store"
340msgid "Store"
319msgid "Store"
341msgstr "Obchod"
320msgstr "Obchod"
342
321
343−#: qml/Dash/DashPageHeader.qml:340
322+#: qml/Dash/DashPageHeader.qml:368
344msgctxt "Button: Start a search in the current dash scope"
323msgctxt "Button: Start a search in the current dash scope"
345msgid "Search"
324msgid "Search"
346msgstr "Hledat"
325msgstr "Hledat"
347
326
348−#: qml/Dash/DashPageHeader.qml:350
327+#: qml/Dash/DashPageHeader.qml:378
349msgctxt "Button: Show the current dash scope settings"
328msgctxt "Button: Show the current dash scope settings"
350msgid "Settings"
329msgid "Settings"
351msgstr "Nastavení"
330msgstr "Nastavení"
352
331
353−#: qml/Dash/DashPageHeader.qml:357
332+#: qml/Dash/DashPageHeader.qml:385
354msgid "Remove from Favorites"
333msgid "Remove from Favorites"
355msgstr "Odstranit z oblíbených"
334msgstr "Odstranit z oblíbených"
356
335
357−#: qml/Dash/DashPageHeader.qml:357
336+#: qml/Dash/DashPageHeader.qml:385
358msgid "Add to Favorites"
337msgid "Add to Favorites"
359msgstr "Přidat do oblíbených"
338msgstr "Přidat do oblíbených"
360
339
361−#: qml/Dash/FiltersPopover.qml:60
340+#: qml/Dash/FiltersPopover.qml:61
362msgid "Refine your results"
341msgid "Refine your results"
363msgstr ""
342msgstr ""
364
343
365−#: qml/Dash/FiltersPopover.qml:69
344+#: qml/Dash/FiltersPopover.qml:70
366msgid "Reset"
345msgid "Reset"
367msgstr ""
346msgstr ""
368
347
369−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
348+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
370msgid "Show less"
349msgid "Show less"
371msgstr ""
350msgstr ""
372
351
373−#: qml/Dash/GenericScopeView.qml:580
352+#: qml/Dash/GenericScopeView.qml:547
374msgid "Show all"
353msgid "Show all"
375msgstr ""
354msgstr ""
376
355
377−#: qml/Dash/GenericScopeView.qml:637
356+#: qml/Dash/GenericScopeView.qml:578
378msgctxt "Label: Hint for dash search line edit"
357msgctxt "Label: Hint for dash search line edit"
379msgid "Search"
358msgid "Search"
380msgstr "Hledat"
359msgstr "Hledat"
381
360
382−#: qml/Dash/PageHeaderExtraPanel.qml:56
361+#: qml/Dash/PageHeaderExtraPanel.qml:67
383msgid "Recent Searches"
362msgid "Recent Searches"
384msgstr ""
363msgstr ""
385
364
386−#: qml/Dash/PageHeaderExtraPanel.qml:67
365+#: qml/Dash/PageHeaderExtraPanel.qml:78
387msgid "Clear All"
366msgid "Clear All"
388msgstr ""
367msgstr ""
389
368
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
369+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391msgid "More..."
370msgid "More..."
392msgstr "Více..."
371msgstr "Více..."
393
372
394−#: qml/Dash/Previews/PreviewActionCombo.qml:35
373+#: qml/Dash/Previews/PreviewActionCombo.qml:36
395msgid "Less..."
374msgid "Less..."
396msgstr "Méně..."
375msgstr "Méně..."
397
376
398−#: qml/Dash/Previews/PreviewCommentInput.qml:68
377+#: qml/Dash/Previews/PreviewCommentInput.qml:83
399−#: qml/Dash/Previews/PreviewRatingInput.qml:175
378+#: qml/Dash/Previews/PreviewRatingInput.qml:202
400msgid "Send"
379msgid "Send"
401msgstr "Odeslat"
380msgstr "Odeslat"
402
381
403−#: qml/Dash/Previews/PreviewRatingInput.qml:82
382+#: qml/Dash/Previews/PreviewRatingInput.qml:109
404msgid "Rate this"
383msgid "Rate this"
405msgstr "Ohodnoťte to"
384msgstr "Ohodnoťte to"
406
385
407−#: qml/Dash/Previews/PreviewRatingInput.qml:157
386+#: qml/Dash/Previews/PreviewRatingInput.qml:184
408msgid "Add a review"
387msgid "Add a review"
409msgstr "Přidat recenzi"
388msgstr "Přidat recenzi"
410
389
411−#: qml/Dash/PullToRefreshScopeStyle.qml:55
390+#: qml/Dash/PullToRefreshScopeStyle.qml:56
412msgid "Pull to refresh…"
391msgid "Pull to refresh…"
413msgstr "Vytáhněte pro obnovení..."
392msgstr "Vytáhněte pro obnovení..."
414
393
415−#: qml/Dash/PullToRefreshScopeStyle.qml:60
394+#: qml/Dash/PullToRefreshScopeStyle.qml:61
416msgid "Release to refresh…"
395msgid "Release to refresh…"
417msgstr "Pusťte pro obnovení..."
396msgstr "Pusťte pro obnovení..."
418
397
@@ -420,15 +399,15 @@ msgstr "Pusťte pro obnovení..."
420msgid "Enable location data"
399msgid "Enable location data"
421msgstr "Povolit údaje umístění"
400msgstr "Povolit údaje umístění"
422
401
423−#: qml/Dash/ScopesList.qml:55
402+#: qml/Dash/ScopesList.qml:57
424msgid "Manage"
403msgid "Manage"
425msgstr "Spravovat"
404msgstr "Spravovat"
426
405
427−#: qml/Dash/ScopesList.qml:102
406+#: qml/Dash/ScopesList.qml:104
428msgid "Home"
407msgid "Home"
429msgstr "Domů"
408msgstr "Domů"
430
409
431−#: qml/Dash/ScopesList.qml:103
410+#: qml/Dash/ScopesList.qml:105
432msgid "Also installed"
411msgid "Also installed"
433msgstr "Také nainstalováno"
412msgstr "Také nainstalováno"
434
413
@@ -442,85 +421,56 @@ msgstr ""
442msgid "Unlock"
421msgid "Unlock"
443msgstr "Odemknout"
422msgstr "Odemknout"
444
423
424+#: qml/Greeter/DelayedLockscreen.qml:43
425+msgid "Device Locked"
426+msgstr "Zařízení uzamčeno"
427+
428+#: qml/Greeter/DelayedLockscreen.qml:58
429+msgid "You have been locked out due to too many failed passphrase attempts."
430+msgstr ""
431+"Zařízení bylo uzamčeno z důvodu mnoha neúspěšných pokusů o přihlášení."
432+
433+#: qml/Greeter/DelayedLockscreen.qml:59
434+msgid "You have been locked out due to too many failed passcode attempts."
435+msgstr ""
436+"Zařízení bylo uzamčeno z důvodu mnoha neúspěšných pokusů o přihlášení."
437+
438+#: qml/Greeter/DelayedLockscreen.qml:68
439+#, qt-format
440+msgid "Please wait %1 minute and then try again…"
441+msgid_plural "Please wait %1 minutes and then try again…"
442+msgstr[0] "Počkejte, prosím, %1 minut a poté to zkuste znovu..."
443+msgstr[1] "Počkejte, prosím, %1 minuty a poté to zkuste znovu..."
444+msgstr[2] "Počkejte, prosím, %1 minut a poté to zkuste znovu..."
445+
445−#: qml/Greeter/Greeter.qml:555
446+#: qml/Greeter/Greeter.qml:596
446msgid "Try again"
447msgid "Try again"
447msgstr ""
448msgstr ""
448
449
449−#: qml/Greeter/LoginList.qml:63
450+#: qml/Greeter/LoginList.qml:70
450msgid "Passphrase"
451msgid "Passphrase"
451msgstr ""
452msgstr ""
452
453
453−#: qml/Greeter/LoginList.qml:64
454+#: qml/Greeter/LoginList.qml:71
454msgid "Passcode"
455msgid "Passcode"
455msgstr ""
456msgstr ""
456
457
457−#: qml/Greeter/LoginList.qml:87
458+#: qml/Greeter/LoginList.qml:98
458msgid "Retry"
459msgid "Retry"
459msgstr "Znovu"
460msgstr "Znovu"
460
461
461−#: qml/Greeter/LoginList.qml:88
462+#: qml/Greeter/LoginList.qml:99
462msgid "Log In"
463msgid "Log In"
463msgstr ""
464msgstr ""
464
465
465−#: qml/Greeter/NarrowView.qml:55
466+#: qml/Greeter/NarrowView.qml:252
466−msgid "Sorry, incorrect passphrase."
467+msgid "Emergency"
467−msgstr "Zadali jste špatné heslo."
468−
469−#: qml/Greeter/NarrowView.qml:56
470−msgid "Sorry, incorrect passcode."
471−msgstr "Zadali jste špatné heslo."
472−
473−#: qml/Greeter/NarrowView.qml:57
474−msgid "This will be your last attempt."
475−msgstr "Toto je váš poslední pokus."
476−
477−#: qml/Greeter/NarrowView.qml:59
478−msgid ""
479−"If passphrase is entered incorrectly, your phone will conduct a factory "
480−"reset and all personal data will be deleted."
481−msgstr ""
482−"Pokud bude heslo zadáno nesprávně, bude telefon obnoven do továrního "
483−"nastavení a všechna osobní data budou smazána."
484−
485−#: qml/Greeter/NarrowView.qml:60
486−msgid ""
487−"If passcode is entered incorrectly, your phone will conduct a factory reset "
488−"and all personal data will be deleted."
489msgstr ""
468msgstr ""
490−"Pokud bude heslo zadáno nesprávně, bude telefon obnoven do továrního "
491−"nastavení a všechna osobní data budou smazána."
492−
493−#: qml/Greeter/NarrowView.qml:129
494−#, qt-format
495−msgid "Enter %1"
496−msgstr "Vložte %1"
497−
498−#: qml/Greeter/NarrowView.qml:130
499−msgid "Enter passphrase"
500−msgstr "Vložte heslo"
501−
502−#: qml/Greeter/NarrowView.qml:131
503−msgid "Enter passcode"
504−msgstr "Vložte heslo"
505
469
506−#: qml/Greeter/NarrowView.qml:135
470+#: qml/Greeter/SessionsList.qml:122
507−#, qt-format
471+msgid "Select desktop environment"
508−msgid "Sorry, incorrect %1"
509−msgstr "Špatné %1"
510−
511−#: qml/Greeter/NarrowView.qml:136
512−msgid "Sorry, incorrect passphrase"
513−msgstr "Špatné heslo"
514−
515−#: qml/Greeter/NarrowView.qml:137
516−msgctxt "passphrase"
517−msgid "Please re-enter"
518msgstr ""
472msgstr ""
519
473
520−#: qml/Greeter/NarrowView.qml:138
521−msgid "Sorry, incorrect passcode"
522−msgstr "Špatné heslo"
523−
524#: qml/Notifications/NotificationMenuItemFactory.qml:124
474#: qml/Notifications/NotificationMenuItemFactory.qml:124
525msgid "Show password"
475msgid "Show password"
526msgstr "Zobrazit heslo"
476msgstr "Zobrazit heslo"
@@ -533,11 +483,11 @@ msgstr "Klepnutím se vrátíte k hovoru..."
533msgid "Conference"
483msgid "Conference"
534msgstr "Konferenční hovor"
484msgstr "Konferenční hovor"
535
485
536−#: qml/Panel/Indicators/MenuItemFactory.qml:762
486+#: qml/Panel/Indicators/MenuItemFactory.qml:847
537msgid "Nothing is playing"
487msgid "Nothing is playing"
538msgstr "Nic se nepřehrává"
488msgstr "Nic se nepřehrává"
539
489
540−#: qml/Panel/Indicators/MenuItemFactory.qml:891
490+#: qml/Panel/Indicators/MenuItemFactory.qml:975
541#, qt-format
491#, qt-format
542msgid "%1 hour"
492msgid "%1 hour"
543msgid_plural "%1 hours"
493msgid_plural "%1 hours"
@@ -545,7 +495,7 @@ msgstr[0] "%1 hodina"
545msgstr[1] "%1 hodiny"
495msgstr[1] "%1 hodiny"
546msgstr[2] "%1 hodin"
496msgstr[2] "%1 hodin"
547
497
548−#: qml/Panel/Indicators/MenuItemFactory.qml:895
498+#: qml/Panel/Indicators/MenuItemFactory.qml:979
549#, qt-format
499#, qt-format
550msgid "%1 minute"
500msgid "%1 minute"
551msgid_plural "%1 minutes"
501msgid_plural "%1 minutes"
@@ -553,7 +503,7 @@ msgstr[0] "%1 minuta"
553msgstr[1] "%1 minuty"
503msgstr[1] "%1 minuty"
554msgstr[2] "%1 minut"
504msgstr[2] "%1 minut"
555
505
556−#: qml/Panel/Indicators/MenuItemFactory.qml:900
506+#: qml/Panel/Indicators/MenuItemFactory.qml:984
557#, qt-format
507#, qt-format
558msgid "%1 second"
508msgid "%1 second"
559msgid_plural "%1 seconds"
509msgid_plural "%1 seconds"
@@ -561,37 +511,37 @@ msgstr[0] "%1 sekunda"
561msgstr[1] "%1 sekundy"
511msgstr[1] "%1 sekundy"
562msgstr[2] "%1 sekund"
512msgstr[2] "%1 sekund"
563
513
564−#: qml/Panel/Indicators/MenuItemFactory.qml:903
514+#: qml/Panel/Indicators/MenuItemFactory.qml:987
565msgid "0 seconds"
515msgid "0 seconds"
566msgstr "0 sekund"
516msgstr "0 sekund"
567
517
568#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
518#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
569−#: qml/Panel/Indicators/MenuItemFactory.qml:905
519+#: qml/Panel/Indicators/MenuItemFactory.qml:989
570#, qt-format
520#, qt-format
571msgid "%1 remaining"
521msgid "%1 remaining"
572msgstr "Zbývá %1"
522msgstr "Zbývá %1"
573
523
574−#: qml/Panel/Indicators/MenuItemFactory.qml:911
524+#: qml/Panel/Indicators/MenuItemFactory.qml:995
575msgid "In queue…"
525msgid "In queue…"
576msgstr "Ve frontě..."
526msgstr "Ve frontě..."
577
527
578−#: qml/Panel/Indicators/MenuItemFactory.qml:915
528+#: qml/Panel/Indicators/MenuItemFactory.qml:999
579msgid "Downloading"
529msgid "Downloading"
580msgstr "Stahování"
530msgstr "Stahování"
581
531
582−#: qml/Panel/Indicators/MenuItemFactory.qml:917
532+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
583msgid "Paused, tap to resume"
533msgid "Paused, tap to resume"
584msgstr "Pauza, pro pokračování klepněte"
534msgstr "Pauza, pro pokračování klepněte"
585
535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:919
536+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
587msgid "Canceled"
537msgid "Canceled"
588msgstr "Zrušeno"
538msgstr "Zrušeno"
589
539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:921
540+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
591msgid "Finished"
541msgid "Finished"
592msgstr "Dokončeno"
542msgstr "Dokončeno"
593
543
594−#: qml/Panel/Indicators/MenuItemFactory.qml:923
544+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
595msgid "Failed, tap to retry"
545msgid "Failed, tap to retry"
596msgstr "Nezdařilo se, opakujte klepnutím"
546msgstr "Nezdařilo se, opakujte klepnutím"
597
547
@@ -611,7 +561,7 @@ msgctxt "Button: Call back on phone"
611msgid "Call back"
561msgid "Call back"
612msgstr ""
562msgstr ""
613
563
614−#: qml/Stages/SideStage.qml:76
564+#: qml/Stage/SideStage.qml:76
615msgid "Drag using 3 fingers any application from one window to the other"
565msgid "Drag using 3 fingers any application from one window to the other"
616msgstr ""
566msgstr ""
617
567
@@ -640,40 +590,54 @@ msgctxt "Button: Go back one page in the Wizard"
640msgid "Back"
590msgid "Back"
641msgstr "Zpět"
591msgstr "Zpět"
642
592
643−#: qml/Wizard/Pages/10-welcome.qml:27
593+#: qml/Wizard/Pages/10-welcome.qml:28
644msgid "Language"
594msgid "Language"
645msgstr ""
595msgstr ""
646
596
647−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
597+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
648−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
598+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
599+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
649−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
600+#: qml/Wizard/Pages/70-passwd-type.qml:145
650#: qml/Wizard/Pages/75-report-check.qml:84
601#: qml/Wizard/Pages/75-report-check.qml:84
651−#: qml/Wizard/Pages/passcode-desktop.qml:141
602+#: qml/Wizard/Pages/passcode-desktop.qml:142
652−#: qml/Wizard/Pages/password-set.qml:141
603+#: qml/Wizard/Pages/password-set.qml:142
653msgid "Next"
604msgid "Next"
654msgstr ""
605msgstr ""
655
606
656−#: qml/Wizard/Pages/30-wifi.qml:29
607+#: qml/Wizard/Pages/20-keyboard.qml:31
608+msgid "Select Keyboard"
609+msgstr ""
610+
611+#: qml/Wizard/Pages/20-keyboard.qml:71
612+msgid "Keyboard language"
613+msgstr ""
614+
615+#: qml/Wizard/Pages/20-keyboard.qml:93
616+msgid "Keyboard layout"
617+msgstr ""
618+
619+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
620+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
621+#: qml/Wizard/Pages/sim.qml:101
622+msgid "Skip"
623+msgstr "Přeskočit"
624+
625+#: qml/Wizard/Pages/30-wifi.qml:31
657msgid "Connect to Wi‑Fi"
626msgid "Connect to Wi‑Fi"
658msgstr "Připojte se k Wi-Fi"
627msgstr "Připojte se k Wi-Fi"
659
628
660−#: qml/Wizard/Pages/30-wifi.qml:130
629+#: qml/Wizard/Pages/30-wifi.qml:132
661msgid "Connected"
630msgid "Connected"
662msgstr ""
631msgstr ""
663
632
664−#: qml/Wizard/Pages/30-wifi.qml:163
633+#: qml/Wizard/Pages/30-wifi.qml:165
665msgid "Available Wi-Fi networks"
634msgid "Available Wi-Fi networks"
666msgstr ""
635msgstr ""
667
636
668−#: qml/Wizard/Pages/30-wifi.qml:164
637+#: qml/Wizard/Pages/30-wifi.qml:166
669msgid "No available Wi-Fi networks"
638msgid "No available Wi-Fi networks"
670msgstr ""
639msgstr ""
671
640
672−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
673−#: qml/Wizard/Pages/sim.qml:101
674−msgid "Skip"
675−msgstr "Přeskočit"
676−
677#: qml/Wizard/Pages/40-location.qml:27
641#: qml/Wizard/Pages/40-location.qml:27
678msgid "Location Services"
642msgid "Location Services"
679msgstr ""
643msgstr ""
@@ -706,11 +670,11 @@ msgstr ""
706msgid "You can change it later in System Settings."
670msgid "You can change it later in System Settings."
707msgstr ""
671msgstr ""
708
672
709−#: qml/Wizard/Pages/50-timezone.qml:29
673+#: qml/Wizard/Pages/50-timezone.qml:30
710msgid "Time Zone"
674msgid "Time Zone"
711msgstr ""
675msgstr ""
712
676
713−#: qml/Wizard/Pages/50-timezone.qml:181
677+#: qml/Wizard/Pages/50-timezone.qml:182
714msgid "Enter your city"
678msgid "Enter your city"
715msgstr ""
679msgstr ""
716
680
@@ -722,21 +686,21 @@ msgstr ""
722msgid "Preferred Name"
686msgid "Preferred Name"
723msgstr ""
687msgstr ""
724
688
725−#: qml/Wizard/Pages/70-passwd-type.qml:39
689+#: qml/Wizard/Pages/70-passwd-type.qml:40
726msgid "Lock Screen"
690msgid "Lock Screen"
727msgstr ""
691msgstr ""
728
692
729−#: qml/Wizard/Pages/70-passwd-type.qml:101
693+#: qml/Wizard/Pages/70-passwd-type.qml:102
730msgctxt "Label: Type of security method"
694msgctxt "Label: Type of security method"
731msgid "Create new password"
695msgid "Create new password"
732msgstr ""
696msgstr ""
733
697
734−#: qml/Wizard/Pages/70-passwd-type.qml:103
698+#: qml/Wizard/Pages/70-passwd-type.qml:104
735msgctxt "Label: Type of security method"
699msgctxt "Label: Type of security method"
736msgid "Create passcode (numbers only)"
700msgid "Create passcode (numbers only)"
737msgstr ""
701msgstr ""
738
702
739−#: qml/Wizard/Pages/70-passwd-type.qml:105
703+#: qml/Wizard/Pages/70-passwd-type.qml:106
740msgctxt "Label: Type of security method"
704msgctxt "Label: Type of security method"
741msgid "No lock code"
705msgid "No lock code"
742msgstr ""
706msgstr ""
@@ -757,6 +721,35 @@ msgstr ""
757msgid "Privacy policy"
721msgid "Privacy policy"
758msgstr ""
722msgstr ""
759
723
724+#: qml/Wizard/Pages/77-system-update.qml:28
725+msgid "Update Device"
726+msgstr ""
727+
728+#: qml/Wizard/Pages/77-system-update.qml:55
729+msgid ""
730+"There is a system update available and ready to install. Afterwards, the "
731+"device will automatically restart."
732+msgstr ""
733+
734+#: qml/Wizard/Pages/77-system-update.qml:76
735+msgctxt "string identifying name of the update"
736+msgid "Ubuntu system"
737+msgstr ""
738+
739+#: qml/Wizard/Pages/77-system-update.qml:83
740+#, qt-format
741+msgctxt "version of the system update"
742+msgid "Version %1"
743+msgstr ""
744+
745+#: qml/Wizard/Pages/77-system-update.qml:102
746+msgid "This could take a few minutes..."
747+msgstr ""
748+
749+#: qml/Wizard/Pages/77-system-update.qml:116
750+msgid "Install and restart now"
751+msgstr ""
752+
760#: qml/Wizard/Pages/80-finished.qml:89
753#: qml/Wizard/Pages/80-finished.qml:89
761msgid "Welcome to Ubuntu"
754msgid "Welcome to Ubuntu"
762msgstr ""
755msgstr ""
@@ -800,7 +793,7 @@ msgid "Service Terms"
800msgstr ""
793msgstr ""
801
794
802#: qml/Wizard/Pages/passcode-confirm.qml:43
795#: qml/Wizard/Pages/passcode-confirm.qml:43
803−#: qml/Wizard/Pages/passcode-desktop.qml:96
796+#: qml/Wizard/Pages/passcode-desktop.qml:97
804msgid "Confirm passcode"
797msgid "Confirm passcode"
805msgstr "Potvrdit číselné heslo"
798msgstr "Potvrdit číselné heslo"
806
799
@@ -813,28 +806,28 @@ msgctxt "Enter the passcode again"
813msgid "Please re-enter."
806msgid "Please re-enter."
814msgstr ""
807msgstr ""
815
808
816−#: qml/Wizard/Pages/passcode-desktop.qml:30
809+#: qml/Wizard/Pages/passcode-desktop.qml:31
817msgid "Lock Screen Passcode"
810msgid "Lock Screen Passcode"
818msgstr ""
811msgstr ""
819
812
820−#: qml/Wizard/Pages/passcode-desktop.qml:60
813+#: qml/Wizard/Pages/passcode-desktop.qml:61
821msgid "Enter 4 numbers to setup your passcode"
814msgid "Enter 4 numbers to setup your passcode"
822msgstr ""
815msgstr ""
823
816
824−#: qml/Wizard/Pages/passcode-desktop.qml:76
817+#: qml/Wizard/Pages/passcode-desktop.qml:77
825#: qml/Wizard/Pages/passcode-set.qml:54
818#: qml/Wizard/Pages/passcode-set.qml:54
826msgid "Choose passcode"
819msgid "Choose passcode"
827msgstr ""
820msgstr ""
828
821
829−#: qml/Wizard/Pages/passcode-desktop.qml:126
822+#: qml/Wizard/Pages/passcode-desktop.qml:127
830msgid "Passcode too short"
823msgid "Passcode too short"
831msgstr ""
824msgstr ""
832
825
833−#: qml/Wizard/Pages/passcode-desktop.qml:128
826+#: qml/Wizard/Pages/passcode-desktop.qml:129
834msgid "Passcodes match"
827msgid "Passcodes match"
835msgstr ""
828msgstr ""
836
829
837−#: qml/Wizard/Pages/passcode-desktop.qml:130
830+#: qml/Wizard/Pages/passcode-desktop.qml:131
838msgid "Passcodes do not match"
831msgid "Passcodes do not match"
839msgstr ""
832msgstr ""
840
833
@@ -842,19 +835,19 @@ msgstr ""
842msgid "Passcode must be 4 characters long"
835msgid "Passcode must be 4 characters long"
843msgstr ""
836msgstr ""
844
837
845−#: qml/Wizard/Pages/password-set.qml:30
838+#: qml/Wizard/Pages/password-set.qml:31
846msgid "Lock Screen Password"
839msgid "Lock Screen Password"
847msgstr ""
840msgstr ""
848
841
849−#: qml/Wizard/Pages/password-set.qml:61
842+#: qml/Wizard/Pages/password-set.qml:62
850msgid "Enter at least 8 characters"
843msgid "Enter at least 8 characters"
851msgstr ""
844msgstr ""
852
845
853−#: qml/Wizard/Pages/password-set.qml:73
846+#: qml/Wizard/Pages/password-set.qml:74
854msgid "Choose password"
847msgid "Choose password"
855msgstr ""
848msgstr ""
856
849
857−#: qml/Wizard/Pages/password-set.qml:103
850+#: qml/Wizard/Pages/password-set.qml:104
858msgid "Confirm password"
851msgid "Confirm password"
859msgstr ""
852msgstr ""
860
853
@@ -964,9 +957,16 @@ msgstr ""
964#~ msgid "See less"
957#~ msgid "See less"
965#~ msgstr "Zobrazit méně"
958#~ msgstr "Zobrazit méně"
966
959
960+#~ msgid "This will be your last attempt."
961+#~ msgstr "Toto je váš poslední pokus."
962+
967#~ msgid "Store"
963#~ msgid "Store"
968#~ msgstr "Obchod"
964#~ msgstr "Obchod"
969
965
966+#, qt-format
967+#~ msgid "Enter %1"
968+#~ msgstr "Vložte %1"
969+
970#~ msgctxt "Title: Reboot/Shut down dialog"
970#~ msgctxt "Title: Reboot/Shut down dialog"
971#~ msgid "Shut down"
971#~ msgid "Shut down"
972#~ msgstr "Vypnout"
972#~ msgstr "Vypnout"
@@ -985,9 +985,45 @@ msgstr ""
985#~ msgid "Tap to unlock"
985#~ msgid "Tap to unlock"
986#~ msgstr "Klepnout pro odemčení"
986#~ msgstr "Klepnout pro odemčení"
987
987
988+#~ msgid "Sorry, incorrect passphrase."
989+#~ msgstr "Zadali jste špatné heslo."
990+
991+#~ msgid "Sorry, incorrect passcode."
992+#~ msgstr "Zadali jste špatné heslo."
993+
994+#~ msgid ""
995+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
996+#~ "reset and all personal data will be deleted."
997+#~ msgstr ""
998+#~ "Pokud bude heslo zadáno nesprávně, bude telefon obnoven do továrního "
999+#~ "nastavení a všechna osobní data budou smazána."
1000+
1001+#~ msgid ""
1002+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
1003+#~ "and all personal data will be deleted."
1004+#~ msgstr ""
1005+#~ "Pokud bude heslo zadáno nesprávně, bude telefon obnoven do továrního "
1006+#~ "nastavení a všechna osobní data budou smazána."
1007+
1008+#~ msgid "Enter passphrase"
1009+#~ msgstr "Vložte heslo"
1010+
1011+#~ msgid "Enter passcode"
1012+#~ msgstr "Vložte heslo"
1013+
1014+#, qt-format
1015+#~ msgid "Sorry, incorrect %1"
1016+#~ msgstr "Špatné %1"
1017+
1018+#~ msgid "Sorry, incorrect passphrase"
1019+#~ msgstr "Špatné heslo"
1020+
988#~ msgid "Please re-enter"
1021#~ msgid "Please re-enter"
989#~ msgstr "Vložte znovu"
1022#~ msgstr "Vložte znovu"
990
1023
1024+#~ msgid "Sorry, incorrect passcode"
1025+#~ msgstr "Špatné heslo"
1026+
991#~ msgid "Unlock SIM"
1027#~ msgid "Unlock SIM"
992#~ msgstr "Odemknout SIM"
1028#~ msgstr "Odemknout SIM"
993
1029
po/cy.po+215−175
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -16,97 +16,75 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
18"2 : 3;\n"
18"2 : 3;\n"
19−"X-Launchpad-Export-Date: 2016-07-22 05:54+0000\n"
19+"X-Launchpad-Export-Date: 2016-12-01 04:58+0000\n"
20−"X-Generator: Launchpad (build 18147)\n"
20+"X-Generator: Launchpad (build 18282)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:123
22#: plugins/LightDM/Greeter.cpp:123
23msgid "Password: "
23msgid "Password: "
24msgstr "Cyfrinair: "
24msgstr "Cyfrinair: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "Pinio llwybr byr"
29msgstr "Pinio llwybr byr"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
32msgid "Quit"
32msgid "Quit"
33msgstr ""
33msgstr ""
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "Dadbinio llwybr byr"
37msgstr "Dadbinio llwybr byr"
38
38
39−#: qml/Components/DelayedLockscreen.qml:50
39+#: qml/Components/Dialogs.qml:149
40−msgid "Device Locked"
41−msgstr "Dyfais ar glo"
42−
43−#: qml/Components/DelayedLockscreen.qml:65
44−msgid "You have been locked out due to too many failed passphrase attempts."
45−msgstr ""
46−"Cawsoch eich cloi allan am gyflwyno cyfrinair anghywir ormod o weithiau."
47−
48−#: qml/Components/DelayedLockscreen.qml:66
49−msgid "You have been locked out due to too many failed passcode attempts."
50−msgstr ""
51−"Cawsoch eich cloi allan am gyflwyno côd mynediad anghywir ormod o weithiau."
52−
53−#: qml/Components/DelayedLockscreen.qml:75
54−#, qt-format
55−msgid "Please wait %1 minute and then try again…"
56−msgid_plural "Please wait %1 minutes and then try again…"
57−msgstr[0] "Arhoswch am %1 munud cyn cynnig eto..."
58−msgstr[1] "Arhoswch am %1 munud cyn cynnig eto..."
59−msgstr[2] "Arhoswch am %1 munud cyn cynnig eto..."
60−msgstr[3] "Arhoswch am %1 munud cyn cynnig eto..."
61−
62−#: qml/Components/Dialogs.qml:144
63msgctxt "Title: Lock/Log out dialog"
40msgctxt "Title: Lock/Log out dialog"
64msgid "Log out"
41msgid "Log out"
65msgstr "Allgofnodi"
42msgstr "Allgofnodi"
66
43
67−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
68msgid "Are you sure you want to log out?"
45msgid "Are you sure you want to log out?"
69msgstr "Ydych chi'n sicr eich bod am allgofnodi?"
46msgstr "Ydych chi'n sicr eich bod am allgofnodi?"
70
47
71−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
72msgctxt "Button: Lock the system"
49msgctxt "Button: Lock the system"
73msgid "Lock"
50msgid "Lock"
74msgstr "Cloi"
51msgstr "Cloi"
75
52
76−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
77msgctxt "Button: Log out from the system"
54msgctxt "Button: Log out from the system"
78msgid "Log Out"
55msgid "Log Out"
79msgstr "Allgofnodi"
56msgstr "Allgofnodi"
80
57
81−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
82−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
83#: qml/Wizard/Pages/passcode-set.qml:32
61#: qml/Wizard/Pages/passcode-set.qml:32
84msgid "Cancel"
62msgid "Cancel"
85msgstr "Diddymu"
63msgstr "Diddymu"
86
64
87−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
88msgctxt "Title: Reboot dialog"
66msgctxt "Title: Reboot dialog"
89msgid "Reboot"
67msgid "Reboot"
90msgstr "Ailgychwyn"
68msgstr "Ailgychwyn"
91
69
92−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
93msgid "Are you sure you want to reboot?"
71msgid "Are you sure you want to reboot?"
94msgstr "Ydych chi'n sicr eich bod am ailgychwyn?"
72msgstr "Ydych chi'n sicr eich bod am ailgychwyn?"
95
73
96−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
97msgid "No"
75msgid "No"
98msgstr "Na"
76msgstr "Na"
99
77
100−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
101msgid "Yes"
79msgid "Yes"
102msgstr "Ydw"
80msgstr "Ydw"
103
81
104−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
105msgctxt "Title: Power off/Restart dialog"
83msgctxt "Title: Power off/Restart dialog"
106msgid "Power"
84msgid "Power"
107msgstr "Pŵer"
85msgstr "Pŵer"
108
86
109−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
110msgid ""
88msgid ""
111"Are you sure you would like\n"
89"Are you sure you would like\n"
112"to power off?"
90"to power off?"
@@ -114,12 +92,12 @@ msgstr ""
114"Ydych chi'n sicr eich bod am\n"
92"Ydych chi'n sicr eich bod am\n"
115"ddiffodd y pŵer?"
93"ddiffodd y pŵer?"
116
94
117−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
118msgctxt "Button: Power off the system"
96msgctxt "Button: Power off the system"
119msgid "Power off"
97msgid "Power off"
120msgstr "Diffodd y pŵer"
98msgstr "Diffodd y pŵer"
121
99
122−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
123msgctxt "Button: Restart the system"
101msgctxt "Button: Restart the system"
124msgid "Restart"
102msgid "Restart"
125msgstr "Ailgychwyn"
103msgstr "Ailgychwyn"
@@ -284,15 +262,15 @@ msgstr ""
284msgid "Closes the current window."
262msgid "Closes the current window."
285msgstr ""
263msgstr ""
286
264
287−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
288msgid "Return to Call"
266msgid "Return to Call"
289msgstr "Nôl i'r alwad"
267msgstr "Nôl i'r alwad"
290
268
291−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
292msgid "Emergency Call"
270msgid "Emergency Call"
293msgstr "Galwad Frys"
271msgstr "Galwad Frys"
294
272
295−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
296msgid "OK"
274msgid "OK"
297msgstr "Iawn"
275msgstr "Iawn"
298
276
@@ -336,84 +314,84 @@ msgstr ""
336msgid "Preview Share Item"
314msgid "Preview Share Item"
337msgstr ""
315msgstr ""
338
316
339−#: qml/Dash/DashPageHeader.qml:333
317+#: qml/Dash/DashPageHeader.qml:361
340msgctxt "Button: Open the Ubuntu Store"
318msgctxt "Button: Open the Ubuntu Store"
341msgid "Store"
319msgid "Store"
342msgstr "Marchnad"
320msgstr "Marchnad"
343
321
344−#: qml/Dash/DashPageHeader.qml:340
322+#: qml/Dash/DashPageHeader.qml:368
345msgctxt "Button: Start a search in the current dash scope"
323msgctxt "Button: Start a search in the current dash scope"
346msgid "Search"
324msgid "Search"
347msgstr "Chwilio"
325msgstr "Chwilio"
348
326
349−#: qml/Dash/DashPageHeader.qml:350
327+#: qml/Dash/DashPageHeader.qml:378
350msgctxt "Button: Show the current dash scope settings"
328msgctxt "Button: Show the current dash scope settings"
351msgid "Settings"
329msgid "Settings"
352msgstr "Gosodiadau"
330msgstr "Gosodiadau"
353
331
354−#: qml/Dash/DashPageHeader.qml:357
332+#: qml/Dash/DashPageHeader.qml:385
355msgid "Remove from Favorites"
333msgid "Remove from Favorites"
356msgstr "Tynnu o Ffefrynnau"
334msgstr "Tynnu o Ffefrynnau"
357
335
358−#: qml/Dash/DashPageHeader.qml:357
336+#: qml/Dash/DashPageHeader.qml:385
359msgid "Add to Favorites"
337msgid "Add to Favorites"
360msgstr "Ychwanegu at Ffefrynnau"
338msgstr "Ychwanegu at Ffefrynnau"
361
339
362−#: qml/Dash/FiltersPopover.qml:60
340+#: qml/Dash/FiltersPopover.qml:61
363msgid "Refine your results"
341msgid "Refine your results"
364msgstr ""
342msgstr ""
365
343
366−#: qml/Dash/FiltersPopover.qml:69
344+#: qml/Dash/FiltersPopover.qml:70
367msgid "Reset"
345msgid "Reset"
368msgstr ""
346msgstr ""
369
347
370−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
348+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
371msgid "Show less"
349msgid "Show less"
372msgstr ""
350msgstr ""
373
351
374−#: qml/Dash/GenericScopeView.qml:580
352+#: qml/Dash/GenericScopeView.qml:547
375msgid "Show all"
353msgid "Show all"
376msgstr ""
354msgstr ""
377
355
378−#: qml/Dash/GenericScopeView.qml:637
356+#: qml/Dash/GenericScopeView.qml:578
379msgctxt "Label: Hint for dash search line edit"
357msgctxt "Label: Hint for dash search line edit"
380msgid "Search"
358msgid "Search"
381msgstr "Chwilio"
359msgstr "Chwilio"
382
360
383−#: qml/Dash/PageHeaderExtraPanel.qml:56
361+#: qml/Dash/PageHeaderExtraPanel.qml:67
384msgid "Recent Searches"
362msgid "Recent Searches"
385msgstr ""
363msgstr ""
386
364
387−#: qml/Dash/PageHeaderExtraPanel.qml:67
365+#: qml/Dash/PageHeaderExtraPanel.qml:78
388msgid "Clear All"
366msgid "Clear All"
389msgstr ""
367msgstr ""
390
368
391−#: qml/Dash/Previews/PreviewActionCombo.qml:35
369+#: qml/Dash/Previews/PreviewActionCombo.qml:36
392msgid "More..."
370msgid "More..."
393msgstr "Mwy..."
371msgstr "Mwy..."
394
372
395−#: qml/Dash/Previews/PreviewActionCombo.qml:35
373+#: qml/Dash/Previews/PreviewActionCombo.qml:36
396msgid "Less..."
374msgid "Less..."
397msgstr "Llai..."
375msgstr "Llai..."
398
376
399−#: qml/Dash/Previews/PreviewCommentInput.qml:68
377+#: qml/Dash/Previews/PreviewCommentInput.qml:83
400−#: qml/Dash/Previews/PreviewRatingInput.qml:175
378+#: qml/Dash/Previews/PreviewRatingInput.qml:202
401msgid "Send"
379msgid "Send"
402msgstr "Anfon"
380msgstr "Anfon"
403
381
404−#: qml/Dash/Previews/PreviewRatingInput.qml:82
382+#: qml/Dash/Previews/PreviewRatingInput.qml:109
405msgid "Rate this"
383msgid "Rate this"
406msgstr "Graddio hwn"
384msgstr "Graddio hwn"
407
385
408−#: qml/Dash/Previews/PreviewRatingInput.qml:157
386+#: qml/Dash/Previews/PreviewRatingInput.qml:184
409msgid "Add a review"
387msgid "Add a review"
410msgstr "Ychwanegu adolygiad"
388msgstr "Ychwanegu adolygiad"
411
389
412−#: qml/Dash/PullToRefreshScopeStyle.qml:55
390+#: qml/Dash/PullToRefreshScopeStyle.qml:56
413msgid "Pull to refresh…"
391msgid "Pull to refresh…"
414msgstr "Tynnwch i adnewyddu..."
392msgstr "Tynnwch i adnewyddu..."
415
393
416−#: qml/Dash/PullToRefreshScopeStyle.qml:60
394+#: qml/Dash/PullToRefreshScopeStyle.qml:61
417msgid "Release to refresh…"
395msgid "Release to refresh…"
418msgstr "Rhyddhewch i adnewyddu..."
396msgstr "Rhyddhewch i adnewyddu..."
419
397
@@ -421,15 +399,15 @@ msgstr "Rhyddhewch i adnewyddu..."
421msgid "Enable location data"
399msgid "Enable location data"
422msgstr "Galluogi data lleoliad"
400msgstr "Galluogi data lleoliad"
423
401
424−#: qml/Dash/ScopesList.qml:55
402+#: qml/Dash/ScopesList.qml:57
425msgid "Manage"
403msgid "Manage"
426msgstr "Rheoli"
404msgstr "Rheoli"
427
405
428−#: qml/Dash/ScopesList.qml:102
406+#: qml/Dash/ScopesList.qml:104
429msgid "Home"
407msgid "Home"
430msgstr "Cartref"
408msgstr "Cartref"
431
409
432−#: qml/Dash/ScopesList.qml:103
410+#: qml/Dash/ScopesList.qml:105
433msgid "Also installed"
411msgid "Also installed"
434msgstr "Hefyd wedi gosod"
412msgstr "Hefyd wedi gosod"
435
413
@@ -443,84 +421,56 @@ msgstr ""
443msgid "Unlock"
421msgid "Unlock"
444msgstr "Datgloi"
422msgstr "Datgloi"
445
423
446−#: qml/Greeter/Greeter.qml:555
424+#: qml/Greeter/DelayedLockscreen.qml:43
425+msgid "Device Locked"
426+msgstr "Dyfais ar glo"
427+
428+#: qml/Greeter/DelayedLockscreen.qml:58
429+msgid "You have been locked out due to too many failed passphrase attempts."
430+msgstr ""
431+"Cawsoch eich cloi allan am gyflwyno cyfrinair anghywir ormod o weithiau."
432+
433+#: qml/Greeter/DelayedLockscreen.qml:59
434+msgid "You have been locked out due to too many failed passcode attempts."
435+msgstr ""
436+"Cawsoch eich cloi allan am gyflwyno côd mynediad anghywir ormod o weithiau."
437+
438+#: qml/Greeter/DelayedLockscreen.qml:68
439+#, qt-format
440+msgid "Please wait %1 minute and then try again…"
441+msgid_plural "Please wait %1 minutes and then try again…"
442+msgstr[0] "Arhoswch am %1 munud cyn cynnig eto..."
443+msgstr[1] "Arhoswch am %1 munud cyn cynnig eto..."
444+msgstr[2] "Arhoswch am %1 munud cyn cynnig eto..."
445+msgstr[3] "Arhoswch am %1 munud cyn cynnig eto..."
446+
447+#: qml/Greeter/Greeter.qml:596
447msgid "Try again"
448msgid "Try again"
448msgstr ""
449msgstr ""
449
450
450−#: qml/Greeter/LoginList.qml:63
451+#: qml/Greeter/LoginList.qml:70
451msgid "Passphrase"
452msgid "Passphrase"
452msgstr ""
453msgstr ""
453
454
454−#: qml/Greeter/LoginList.qml:64
455+#: qml/Greeter/LoginList.qml:71
455msgid "Passcode"
456msgid "Passcode"
456msgstr ""
457msgstr ""
457
458
458−#: qml/Greeter/LoginList.qml:87
459+#: qml/Greeter/LoginList.qml:98
459msgid "Retry"
460msgid "Retry"
460msgstr "Ailgynnig"
461msgstr "Ailgynnig"
461
462
462−#: qml/Greeter/LoginList.qml:88
463+#: qml/Greeter/LoginList.qml:99
463msgid "Log In"
464msgid "Log In"
464msgstr ""
465msgstr ""
465
466
466−#: qml/Greeter/NarrowView.qml:55
467+#: qml/Greeter/NarrowView.qml:252
467−msgid "Sorry, incorrect passphrase."
468−msgstr "Cyfrinair anghywir"
469−
470−#: qml/Greeter/NarrowView.qml:56
471−msgid "Sorry, incorrect passcode."
472−msgstr "Cod cyfrinachol anghywir"
473−
474−#: qml/Greeter/NarrowView.qml:57
475−msgid "This will be your last attempt."
476−msgstr "Hwn yw eich ymgais olaf"
477−
478−#: qml/Greeter/NarrowView.qml:59
479−msgid ""
468+msgid "Emergency"
480−"If passphrase is entered incorrectly, your phone will conduct a factory "
481−"reset and all personal data will be deleted."
482msgstr ""
469msgstr ""
483−"Os fydd y cyfrinair yn anghywir bydd eich ffôn yn cael ei ailosod i gyflwr "
484−"ffatri a bydd data personol yn cael ei ddileu."
485
470
486−#: qml/Greeter/NarrowView.qml:60
471+#: qml/Greeter/SessionsList.qml:122
487−msgid ""
472+msgid "Select desktop environment"
488−"If passcode is entered incorrectly, your phone will conduct a factory reset "
489−"and all personal data will be deleted."
490msgstr ""
473msgstr ""
491−"Os fydd y cod cyfrinachol yn anghywir bydd eich ffôn yn cael ei ailosod i "
492−"gyflwr ffatri a bydd data personol yn cael ei ddileu."
493−
494−#: qml/Greeter/NarrowView.qml:129
495−#, qt-format
496−msgid "Enter %1"
497−msgstr "Rhowch %1"
498−
499−#: qml/Greeter/NarrowView.qml:130
500−msgid "Enter passphrase"
501−msgstr "Rhowch gyfrinair"
502−
503−#: qml/Greeter/NarrowView.qml:131
504−msgid "Enter passcode"
505−msgstr "Rhowch god cyfrinachol"
506−
507−#: qml/Greeter/NarrowView.qml:135
508−#, qt-format
509−msgid "Sorry, incorrect %1"
510−msgstr "%1 anghywir"
511−
512−#: qml/Greeter/NarrowView.qml:136
513−msgid "Sorry, incorrect passphrase"
514−msgstr "Cyfrinair anghywir"
515−
516−#: qml/Greeter/NarrowView.qml:137
517−msgctxt "passphrase"
518−msgid "Please re-enter"
519−msgstr "Ceisiwch eto"
520−
521−#: qml/Greeter/NarrowView.qml:138
522−msgid "Sorry, incorrect passcode"
523−msgstr "Cod cyfrinachol anghywir"
524
474
525#: qml/Notifications/NotificationMenuItemFactory.qml:124
475#: qml/Notifications/NotificationMenuItemFactory.qml:124
526msgid "Show password"
476msgid "Show password"
@@ -534,11 +484,11 @@ msgstr "Tapiwch i ffonio nôl"
534msgid "Conference"
484msgid "Conference"
535msgstr "Cydalwad"
485msgstr "Cydalwad"
536
486
537−#: qml/Panel/Indicators/MenuItemFactory.qml:762
487+#: qml/Panel/Indicators/MenuItemFactory.qml:847
538msgid "Nothing is playing"
488msgid "Nothing is playing"
539msgstr "Dim byd yn chwarae"
489msgstr "Dim byd yn chwarae"
540
490
541−#: qml/Panel/Indicators/MenuItemFactory.qml:891
491+#: qml/Panel/Indicators/MenuItemFactory.qml:975
542#, qt-format
492#, qt-format
543msgid "%1 hour"
493msgid "%1 hour"
544msgid_plural "%1 hours"
494msgid_plural "%1 hours"
@@ -547,7 +497,7 @@ msgstr[1] "%1 awr"
547msgstr[2] "%1 awr"
497msgstr[2] "%1 awr"
548msgstr[3] "%1 awr"
498msgstr[3] "%1 awr"
549
499
550−#: qml/Panel/Indicators/MenuItemFactory.qml:895
500+#: qml/Panel/Indicators/MenuItemFactory.qml:979
551#, qt-format
501#, qt-format
552msgid "%1 minute"
502msgid "%1 minute"
553msgid_plural "%1 minutes"
503msgid_plural "%1 minutes"
@@ -556,7 +506,7 @@ msgstr[1] "%1 munud"
556msgstr[2] "%1 munud"
506msgstr[2] "%1 munud"
557msgstr[3] "%1 munud"
507msgstr[3] "%1 munud"
558
508
559−#: qml/Panel/Indicators/MenuItemFactory.qml:900
509+#: qml/Panel/Indicators/MenuItemFactory.qml:984
560#, qt-format
510#, qt-format
561msgid "%1 second"
511msgid "%1 second"
562msgid_plural "%1 seconds"
512msgid_plural "%1 seconds"
@@ -565,37 +515,37 @@ msgstr[1] "%1 eiliad"
565msgstr[2] "%1 eiliad"
515msgstr[2] "%1 eiliad"
566msgstr[3] "%1 eiliad"
516msgstr[3] "%1 eiliad"
567
517
568−#: qml/Panel/Indicators/MenuItemFactory.qml:903
518+#: qml/Panel/Indicators/MenuItemFactory.qml:987
569msgid "0 seconds"
519msgid "0 seconds"
570msgstr "0 eiliad"
520msgstr "0 eiliad"
571
521
572#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
522#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
573−#: qml/Panel/Indicators/MenuItemFactory.qml:905
523+#: qml/Panel/Indicators/MenuItemFactory.qml:989
574#, qt-format
524#, qt-format
575msgid "%1 remaining"
525msgid "%1 remaining"
576msgstr "%1 yn weddill"
526msgstr "%1 yn weddill"
577
527
578−#: qml/Panel/Indicators/MenuItemFactory.qml:911
528+#: qml/Panel/Indicators/MenuItemFactory.qml:995
579msgid "In queue…"
529msgid "In queue…"
580msgstr "Mewn ciw..."
530msgstr "Mewn ciw..."
581
531
582−#: qml/Panel/Indicators/MenuItemFactory.qml:915
532+#: qml/Panel/Indicators/MenuItemFactory.qml:999
583msgid "Downloading"
533msgid "Downloading"
584msgstr "Yn llwytho i lawr"
534msgstr "Yn llwytho i lawr"
585
535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:917
536+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
587msgid "Paused, tap to resume"
537msgid "Paused, tap to resume"
588msgstr "Seibiwyd, tapiwch i ailafael ynddi"
538msgstr "Seibiwyd, tapiwch i ailafael ynddi"
589
539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:919
540+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
591msgid "Canceled"
541msgid "Canceled"
592msgstr "Diddymwyd"
542msgstr "Diddymwyd"
593
543
594−#: qml/Panel/Indicators/MenuItemFactory.qml:921
544+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
595msgid "Finished"
545msgid "Finished"
596msgstr "Wedi gorffen"
546msgstr "Wedi gorffen"
597
547
598−#: qml/Panel/Indicators/MenuItemFactory.qml:923
548+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
599msgid "Failed, tap to retry"
549msgid "Failed, tap to retry"
600msgstr "Methwyd, tapiwch i geisio eto"
550msgstr "Methwyd, tapiwch i geisio eto"
601
551
@@ -615,7 +565,7 @@ msgctxt "Button: Call back on phone"
615msgid "Call back"
565msgid "Call back"
616msgstr ""
566msgstr ""
617
567
618−#: qml/Stages/SideStage.qml:76
568+#: qml/Stage/SideStage.qml:76
619msgid "Drag using 3 fingers any application from one window to the other"
569msgid "Drag using 3 fingers any application from one window to the other"
620msgstr ""
570msgstr ""
621
571
@@ -644,40 +594,54 @@ msgctxt "Button: Go back one page in the Wizard"
644msgid "Back"
594msgid "Back"
645msgstr "Nôl"
595msgstr "Nôl"
646
596
647−#: qml/Wizard/Pages/10-welcome.qml:27
597+#: qml/Wizard/Pages/10-welcome.qml:28
648msgid "Language"
598msgid "Language"
649msgstr ""
599msgstr ""
650
600
651−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
601+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
652−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
602+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
603+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
653−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
604+#: qml/Wizard/Pages/70-passwd-type.qml:145
654#: qml/Wizard/Pages/75-report-check.qml:84
605#: qml/Wizard/Pages/75-report-check.qml:84
655−#: qml/Wizard/Pages/passcode-desktop.qml:141
606+#: qml/Wizard/Pages/passcode-desktop.qml:142
656−#: qml/Wizard/Pages/password-set.qml:141
607+#: qml/Wizard/Pages/password-set.qml:142
657msgid "Next"
608msgid "Next"
658msgstr ""
609msgstr ""
659
610
660−#: qml/Wizard/Pages/30-wifi.qml:29
611+#: qml/Wizard/Pages/20-keyboard.qml:31
612+msgid "Select Keyboard"
613+msgstr ""
614+
615+#: qml/Wizard/Pages/20-keyboard.qml:71
616+msgid "Keyboard language"
617+msgstr ""
618+
619+#: qml/Wizard/Pages/20-keyboard.qml:93
620+msgid "Keyboard layout"
621+msgstr ""
622+
623+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
624+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
625+#: qml/Wizard/Pages/sim.qml:101
626+msgid "Skip"
627+msgstr "Neidio"
628+
629+#: qml/Wizard/Pages/30-wifi.qml:31
661msgid "Connect to Wi‑Fi"
630msgid "Connect to Wi‑Fi"
662msgstr "Cysylltu â diwifr"
631msgstr "Cysylltu â diwifr"
663
632
664−#: qml/Wizard/Pages/30-wifi.qml:130
633+#: qml/Wizard/Pages/30-wifi.qml:132
665msgid "Connected"
634msgid "Connected"
666msgstr ""
635msgstr ""
667
636
668−#: qml/Wizard/Pages/30-wifi.qml:163
637+#: qml/Wizard/Pages/30-wifi.qml:165
669msgid "Available Wi-Fi networks"
638msgid "Available Wi-Fi networks"
670msgstr ""
639msgstr ""
671
640
672−#: qml/Wizard/Pages/30-wifi.qml:164
641+#: qml/Wizard/Pages/30-wifi.qml:166
673msgid "No available Wi-Fi networks"
642msgid "No available Wi-Fi networks"
674msgstr ""
643msgstr ""
675
644
676−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
677−#: qml/Wizard/Pages/sim.qml:101
678−msgid "Skip"
679−msgstr "Neidio"
680−
681#: qml/Wizard/Pages/40-location.qml:27
645#: qml/Wizard/Pages/40-location.qml:27
682msgid "Location Services"
646msgid "Location Services"
683msgstr ""
647msgstr ""
@@ -710,11 +674,11 @@ msgstr ""
710msgid "You can change it later in System Settings."
674msgid "You can change it later in System Settings."
711msgstr ""
675msgstr ""
712
676
713−#: qml/Wizard/Pages/50-timezone.qml:29
677+#: qml/Wizard/Pages/50-timezone.qml:30
714msgid "Time Zone"
678msgid "Time Zone"
715msgstr ""
679msgstr ""
716
680
717−#: qml/Wizard/Pages/50-timezone.qml:181
681+#: qml/Wizard/Pages/50-timezone.qml:182
718msgid "Enter your city"
682msgid "Enter your city"
719msgstr ""
683msgstr ""
720
684
@@ -726,21 +690,21 @@ msgstr ""
726msgid "Preferred Name"
690msgid "Preferred Name"
727msgstr ""
691msgstr ""
728
692
729−#: qml/Wizard/Pages/70-passwd-type.qml:39
693+#: qml/Wizard/Pages/70-passwd-type.qml:40
730msgid "Lock Screen"
694msgid "Lock Screen"
731msgstr ""
695msgstr ""
732
696
733−#: qml/Wizard/Pages/70-passwd-type.qml:101
697+#: qml/Wizard/Pages/70-passwd-type.qml:102
734msgctxt "Label: Type of security method"
698msgctxt "Label: Type of security method"
735msgid "Create new password"
699msgid "Create new password"
736msgstr ""
700msgstr ""
737
701
738−#: qml/Wizard/Pages/70-passwd-type.qml:103
702+#: qml/Wizard/Pages/70-passwd-type.qml:104
739msgctxt "Label: Type of security method"
703msgctxt "Label: Type of security method"
740msgid "Create passcode (numbers only)"
704msgid "Create passcode (numbers only)"
741msgstr ""
705msgstr ""
742
706
743−#: qml/Wizard/Pages/70-passwd-type.qml:105
707+#: qml/Wizard/Pages/70-passwd-type.qml:106
744msgctxt "Label: Type of security method"
708msgctxt "Label: Type of security method"
745msgid "No lock code"
709msgid "No lock code"
746msgstr ""
710msgstr ""
@@ -761,6 +725,35 @@ msgstr ""
761msgid "Privacy policy"
725msgid "Privacy policy"
762msgstr ""
726msgstr ""
763
727
728+#: qml/Wizard/Pages/77-system-update.qml:28
729+msgid "Update Device"
730+msgstr ""
731+
732+#: qml/Wizard/Pages/77-system-update.qml:55
733+msgid ""
734+"There is a system update available and ready to install. Afterwards, the "
735+"device will automatically restart."
736+msgstr ""
737+
738+#: qml/Wizard/Pages/77-system-update.qml:76
739+msgctxt "string identifying name of the update"
740+msgid "Ubuntu system"
741+msgstr ""
742+
743+#: qml/Wizard/Pages/77-system-update.qml:83
744+#, qt-format
745+msgctxt "version of the system update"
746+msgid "Version %1"
747+msgstr ""
748+
749+#: qml/Wizard/Pages/77-system-update.qml:102
750+msgid "This could take a few minutes..."
751+msgstr ""
752+
753+#: qml/Wizard/Pages/77-system-update.qml:116
754+msgid "Install and restart now"
755+msgstr ""
756+
764#: qml/Wizard/Pages/80-finished.qml:89
757#: qml/Wizard/Pages/80-finished.qml:89
765msgid "Welcome to Ubuntu"
758msgid "Welcome to Ubuntu"
766msgstr ""
759msgstr ""
@@ -804,7 +797,7 @@ msgid "Service Terms"
804msgstr ""
797msgstr ""
805
798
806#: qml/Wizard/Pages/passcode-confirm.qml:43
799#: qml/Wizard/Pages/passcode-confirm.qml:43
807−#: qml/Wizard/Pages/passcode-desktop.qml:96
800+#: qml/Wizard/Pages/passcode-desktop.qml:97
808msgid "Confirm passcode"
801msgid "Confirm passcode"
809msgstr "Cadarnhau cod cyfrinachol"
802msgstr "Cadarnhau cod cyfrinachol"
810
803
@@ -817,28 +810,28 @@ msgctxt "Enter the passcode again"
817msgid "Please re-enter."
810msgid "Please re-enter."
818msgstr ""
811msgstr ""
819
812
820−#: qml/Wizard/Pages/passcode-desktop.qml:30
813+#: qml/Wizard/Pages/passcode-desktop.qml:31
821msgid "Lock Screen Passcode"
814msgid "Lock Screen Passcode"
822msgstr ""
815msgstr ""
823
816
824−#: qml/Wizard/Pages/passcode-desktop.qml:60
817+#: qml/Wizard/Pages/passcode-desktop.qml:61
825msgid "Enter 4 numbers to setup your passcode"
818msgid "Enter 4 numbers to setup your passcode"
826msgstr ""
819msgstr ""
827
820
828−#: qml/Wizard/Pages/passcode-desktop.qml:76
821+#: qml/Wizard/Pages/passcode-desktop.qml:77
829#: qml/Wizard/Pages/passcode-set.qml:54
822#: qml/Wizard/Pages/passcode-set.qml:54
830msgid "Choose passcode"
823msgid "Choose passcode"
831msgstr ""
824msgstr ""
832
825
833−#: qml/Wizard/Pages/passcode-desktop.qml:126
826+#: qml/Wizard/Pages/passcode-desktop.qml:127
834msgid "Passcode too short"
827msgid "Passcode too short"
835msgstr ""
828msgstr ""
836
829
837−#: qml/Wizard/Pages/passcode-desktop.qml:128
830+#: qml/Wizard/Pages/passcode-desktop.qml:129
838msgid "Passcodes match"
831msgid "Passcodes match"
839msgstr ""
832msgstr ""
840
833
841−#: qml/Wizard/Pages/passcode-desktop.qml:130
834+#: qml/Wizard/Pages/passcode-desktop.qml:131
842msgid "Passcodes do not match"
835msgid "Passcodes do not match"
843msgstr ""
836msgstr ""
844
837
@@ -846,19 +839,19 @@ msgstr ""
846msgid "Passcode must be 4 characters long"
839msgid "Passcode must be 4 characters long"
847msgstr ""
840msgstr ""
848
841
849−#: qml/Wizard/Pages/password-set.qml:30
842+#: qml/Wizard/Pages/password-set.qml:31
850msgid "Lock Screen Password"
843msgid "Lock Screen Password"
851msgstr ""
844msgstr ""
852
845
853−#: qml/Wizard/Pages/password-set.qml:61
846+#: qml/Wizard/Pages/password-set.qml:62
854msgid "Enter at least 8 characters"
847msgid "Enter at least 8 characters"
855msgstr ""
848msgstr ""
856
849
857−#: qml/Wizard/Pages/password-set.qml:73
850+#: qml/Wizard/Pages/password-set.qml:74
858msgid "Choose password"
851msgid "Choose password"
859msgstr ""
852msgstr ""
860
853
861−#: qml/Wizard/Pages/password-set.qml:103
854+#: qml/Wizard/Pages/password-set.qml:104
862msgid "Confirm password"
855msgid "Confirm password"
863msgstr ""
856msgstr ""
864
857
@@ -968,6 +961,53 @@ msgstr ""
968#~ msgid "Tap to unlock"
961#~ msgid "Tap to unlock"
969#~ msgstr "Tapiwch i ddatgloi"
962#~ msgstr "Tapiwch i ddatgloi"
970
963
964+#~ msgid "Sorry, incorrect passphrase."
965+#~ msgstr "Cyfrinair anghywir"
966+
967+#, qt-format
968+#~ msgid "Enter %1"
969+#~ msgstr "Rhowch %1"
970+
971+#~ msgid "Sorry, incorrect passphrase"
972+#~ msgstr "Cyfrinair anghywir"
973+
974+#~ msgctxt "passphrase"
975+#~ msgid "Please re-enter"
976+#~ msgstr "Ceisiwch eto"
977+
978+#~ msgid "Sorry, incorrect passcode."
979+#~ msgstr "Cod cyfrinachol anghywir"
980+
981+#~ msgid "Enter passphrase"
982+#~ msgstr "Rhowch gyfrinair"
983+
984+#~ msgid "Enter passcode"
985+#~ msgstr "Rhowch god cyfrinachol"
986+
987+#, qt-format
988+#~ msgid "Sorry, incorrect %1"
989+#~ msgstr "%1 anghywir"
990+
991+#~ msgid ""
992+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
993+#~ "and all personal data will be deleted."
994+#~ msgstr ""
995+#~ "Os fydd y cod cyfrinachol yn anghywir bydd eich ffôn yn cael ei ailosod i "
996+#~ "gyflwr ffatri a bydd data personol yn cael ei ddileu."
997+
998+#~ msgid ""
999+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1000+#~ "reset and all personal data will be deleted."
1001+#~ msgstr ""
1002+#~ "Os fydd y cyfrinair yn anghywir bydd eich ffôn yn cael ei ailosod i gyflwr "
1003+#~ "ffatri a bydd data personol yn cael ei ddileu."
1004+
1005+#~ msgid "This will be your last attempt."
1006+#~ msgstr "Hwn yw eich ymgais olaf"
1007+
1008+#~ msgid "Sorry, incorrect passcode"
1009+#~ msgstr "Cod cyfrinachol anghywir"
1010+
971#~ msgid "This action does different things for different apps"
1011#~ msgid "This action does different things for different apps"
972#~ msgstr "Mae'r weithred hon yn gwneud pethau gwahanol mewn apiau gwahanol"
1012#~ msgstr "Mae'r weithred hon yn gwneud pethau gwahanol mewn apiau gwahanol"
973
1013
po/da.po+211−175
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
11+"POT-Creation-Date: 2016-11-29 09:43+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"
@@ -16,97 +16,75 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
20−"X-Generator: Launchpad (build 18147)\n"
20+"X-Generator: Launchpad (build 18282)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:123
22#: plugins/LightDM/Greeter.cpp:123
23msgid "Password: "
23msgid "Password: "
24msgstr "Adgangskode: "
24msgstr "Adgangskode: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "Fastgør genvej"
29msgstr "Fastgør genvej"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
32msgid "Quit"
32msgid "Quit"
33msgstr ""
33msgstr ""
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "Gør genvej flytbar"
37msgstr "Gør genvej flytbar"
38
38
39−#: qml/Components/DelayedLockscreen.qml:50
39+#: qml/Components/Dialogs.qml:149
40−msgid "Device Locked"
41−msgstr "Enheden er låst"
42−
43−#: qml/Components/DelayedLockscreen.qml:65
44−msgid "You have been locked out due to too many failed passphrase attempts."
45−msgstr ""
46−"Du er blevet låst ude på grund af for mange fejlslagne forsøg på at angive "
47−"adgangskode."
48−
49−#: qml/Components/DelayedLockscreen.qml:66
50−msgid "You have been locked out due to too many failed passcode attempts."
51−msgstr ""
52−"Du er blevet låst ude på grund af for mange fejlslagne forsøg på at angive "
53−"adgangskode."
54−
55−#: qml/Components/DelayedLockscreen.qml:75
56−#, qt-format
57−msgid "Please wait %1 minute and then try again…"
58−msgid_plural "Please wait %1 minutes and then try again…"
59−msgstr[0] "Vent venligst %1 minut og prøv igen..."
60−msgstr[1] "Vent venligst %1 minutter og prøv igen..."
61−
62−#: qml/Components/Dialogs.qml:144
63msgctxt "Title: Lock/Log out dialog"
40msgctxt "Title: Lock/Log out dialog"
64msgid "Log out"
41msgid "Log out"
65msgstr "Log af"
42msgstr "Log af"
66
43
67−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
68msgid "Are you sure you want to log out?"
45msgid "Are you sure you want to log out?"
69msgstr "Vil du logge ud?"
46msgstr "Vil du logge ud?"
70
47
71−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
72msgctxt "Button: Lock the system"
49msgctxt "Button: Lock the system"
73msgid "Lock"
50msgid "Lock"
74msgstr "Lås"
51msgstr "Lås"
75
52
76−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
77msgctxt "Button: Log out from the system"
54msgctxt "Button: Log out from the system"
78msgid "Log Out"
55msgid "Log Out"
79msgstr "Log af"
56msgstr "Log af"
80
57
81−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
82−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
83#: qml/Wizard/Pages/passcode-set.qml:32
61#: qml/Wizard/Pages/passcode-set.qml:32
84msgid "Cancel"
62msgid "Cancel"
85msgstr "Annullér"
63msgstr "Annullér"
86
64
87−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
88msgctxt "Title: Reboot dialog"
66msgctxt "Title: Reboot dialog"
89msgid "Reboot"
67msgid "Reboot"
90msgstr "Genstart"
68msgstr "Genstart"
91
69
92−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
93msgid "Are you sure you want to reboot?"
71msgid "Are you sure you want to reboot?"
94msgstr "Er du sikker på du vil genstarte?"
72msgstr "Er du sikker på du vil genstarte?"
95
73
96−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
97msgid "No"
75msgid "No"
98msgstr "Nej"
76msgstr "Nej"
99
77
100−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
101msgid "Yes"
79msgid "Yes"
102msgstr "Ja"
80msgstr "Ja"
103
81
104−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
105msgctxt "Title: Power off/Restart dialog"
83msgctxt "Title: Power off/Restart dialog"
106msgid "Power"
84msgid "Power"
107msgstr "Sluk/genstart"
85msgstr "Sluk/genstart"
108
86
109−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
110msgid ""
88msgid ""
111"Are you sure you would like\n"
89"Are you sure you would like\n"
112"to power off?"
90"to power off?"
@@ -114,12 +92,12 @@ msgstr ""
114"Er du sikker på at du vil\n"
92"Er du sikker på at du vil\n"
115"slukke enheden?"
93"slukke enheden?"
116
94
117−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
118msgctxt "Button: Power off the system"
96msgctxt "Button: Power off the system"
119msgid "Power off"
97msgid "Power off"
120msgstr "Luk ned"
98msgstr "Luk ned"
121
99
122−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
123msgctxt "Button: Restart the system"
101msgctxt "Button: Restart the system"
124msgid "Restart"
102msgid "Restart"
125msgstr "Genstart"
103msgstr "Genstart"
@@ -284,15 +262,15 @@ msgstr ""
284msgid "Closes the current window."
262msgid "Closes the current window."
285msgstr ""
263msgstr ""
286
264
287−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
288msgid "Return to Call"
266msgid "Return to Call"
289msgstr "Vend tilbage til opkald"
267msgstr "Vend tilbage til opkald"
290
268
291−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
292msgid "Emergency Call"
270msgid "Emergency Call"
293msgstr "Nødopkald"
271msgstr "Nødopkald"
294
272
295−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
296msgid "OK"
274msgid "OK"
297msgstr "Ok"
275msgstr "Ok"
298
276
@@ -336,84 +314,84 @@ msgstr ""
336msgid "Preview Share Item"
314msgid "Preview Share Item"
337msgstr ""
315msgstr ""
338
316
339−#: qml/Dash/DashPageHeader.qml:333
317+#: qml/Dash/DashPageHeader.qml:361
340msgctxt "Button: Open the Ubuntu Store"
318msgctxt "Button: Open the Ubuntu Store"
341msgid "Store"
319msgid "Store"
342msgstr "Butik"
320msgstr "Butik"
343
321
344−#: qml/Dash/DashPageHeader.qml:340
322+#: qml/Dash/DashPageHeader.qml:368
345msgctxt "Button: Start a search in the current dash scope"
323msgctxt "Button: Start a search in the current dash scope"
346msgid "Search"
324msgid "Search"
347msgstr "Søg"
325msgstr "Søg"
348
326
349−#: qml/Dash/DashPageHeader.qml:350
327+#: qml/Dash/DashPageHeader.qml:378
350msgctxt "Button: Show the current dash scope settings"
328msgctxt "Button: Show the current dash scope settings"
351msgid "Settings"
329msgid "Settings"
352msgstr "Indstillinger"
330msgstr "Indstillinger"
353
331
354−#: qml/Dash/DashPageHeader.qml:357
332+#: qml/Dash/DashPageHeader.qml:385
355msgid "Remove from Favorites"
333msgid "Remove from Favorites"
356msgstr "Fjern fra Favoritter"
334msgstr "Fjern fra Favoritter"
357
335
358−#: qml/Dash/DashPageHeader.qml:357
336+#: qml/Dash/DashPageHeader.qml:385
359msgid "Add to Favorites"
337msgid "Add to Favorites"
360msgstr "Tilføj til Favoritter"
338msgstr "Tilføj til Favoritter"
361
339
362−#: qml/Dash/FiltersPopover.qml:60
340+#: qml/Dash/FiltersPopover.qml:61
363msgid "Refine your results"
341msgid "Refine your results"
364msgstr ""
342msgstr ""
365
343
366−#: qml/Dash/FiltersPopover.qml:69
344+#: qml/Dash/FiltersPopover.qml:70
367msgid "Reset"
345msgid "Reset"
368msgstr ""
346msgstr ""
369
347
370−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
348+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
371msgid "Show less"
349msgid "Show less"
372msgstr ""
350msgstr ""
373
351
374−#: qml/Dash/GenericScopeView.qml:580
352+#: qml/Dash/GenericScopeView.qml:547
375msgid "Show all"
353msgid "Show all"
376msgstr ""
354msgstr ""
377
355
378−#: qml/Dash/GenericScopeView.qml:637
356+#: qml/Dash/GenericScopeView.qml:578
379msgctxt "Label: Hint for dash search line edit"
357msgctxt "Label: Hint for dash search line edit"
380msgid "Search"
358msgid "Search"
381msgstr "Søg"
359msgstr "Søg"
382
360
383−#: qml/Dash/PageHeaderExtraPanel.qml:56
361+#: qml/Dash/PageHeaderExtraPanel.qml:67
384msgid "Recent Searches"
362msgid "Recent Searches"
385msgstr ""
363msgstr ""
386
364
387−#: qml/Dash/PageHeaderExtraPanel.qml:67
365+#: qml/Dash/PageHeaderExtraPanel.qml:78
388msgid "Clear All"
366msgid "Clear All"
389msgstr ""
367msgstr ""
390
368
391−#: qml/Dash/Previews/PreviewActionCombo.qml:35
369+#: qml/Dash/Previews/PreviewActionCombo.qml:36
392msgid "More..."
370msgid "More..."
393msgstr "Mere..."
371msgstr "Mere..."
394
372
395−#: qml/Dash/Previews/PreviewActionCombo.qml:35
373+#: qml/Dash/Previews/PreviewActionCombo.qml:36
396msgid "Less..."
374msgid "Less..."
397msgstr "Mindre..."
375msgstr "Mindre..."
398
376
399−#: qml/Dash/Previews/PreviewCommentInput.qml:68
377+#: qml/Dash/Previews/PreviewCommentInput.qml:83
400−#: qml/Dash/Previews/PreviewRatingInput.qml:175
378+#: qml/Dash/Previews/PreviewRatingInput.qml:202
401msgid "Send"
379msgid "Send"
402msgstr "Send"
380msgstr "Send"
403
381
404−#: qml/Dash/Previews/PreviewRatingInput.qml:82
382+#: qml/Dash/Previews/PreviewRatingInput.qml:109
405msgid "Rate this"
383msgid "Rate this"
406msgstr "Bedøm dette"
384msgstr "Bedøm dette"
407
385
408−#: qml/Dash/Previews/PreviewRatingInput.qml:157
386+#: qml/Dash/Previews/PreviewRatingInput.qml:184
409msgid "Add a review"
387msgid "Add a review"
410msgstr "Tilføj en anmeldelse"
388msgstr "Tilføj en anmeldelse"
411
389
412−#: qml/Dash/PullToRefreshScopeStyle.qml:55
390+#: qml/Dash/PullToRefreshScopeStyle.qml:56
413msgid "Pull to refresh…"
391msgid "Pull to refresh…"
414msgstr "Træk ned for at genindlæse..."
392msgstr "Træk ned for at genindlæse..."
415
393
416−#: qml/Dash/PullToRefreshScopeStyle.qml:60
394+#: qml/Dash/PullToRefreshScopeStyle.qml:61
417msgid "Release to refresh…"
395msgid "Release to refresh…"
418msgstr "Giv slip for at genindlæse..."
396msgstr "Giv slip for at genindlæse..."
419
397
@@ -421,15 +399,15 @@ msgstr "Giv slip for at genindlæse..."
421msgid "Enable location data"
399msgid "Enable location data"
422msgstr "Aktivér lokationsdata"
400msgstr "Aktivér lokationsdata"
423
401
424−#: qml/Dash/ScopesList.qml:55
402+#: qml/Dash/ScopesList.qml:57
425msgid "Manage"
403msgid "Manage"
426msgstr "Administrér"
404msgstr "Administrér"
427
405
428−#: qml/Dash/ScopesList.qml:102
406+#: qml/Dash/ScopesList.qml:104
429msgid "Home"
407msgid "Home"
430msgstr "Hjem"
408msgstr "Hjem"
431
409
432−#: qml/Dash/ScopesList.qml:103
410+#: qml/Dash/ScopesList.qml:105
433msgid "Also installed"
411msgid "Also installed"
434msgstr "Også installeret"
412msgstr "Også installeret"
435
413
@@ -443,85 +421,57 @@ msgstr ""
443msgid "Unlock"
421msgid "Unlock"
444msgstr "Lås op"
422msgstr "Lås op"
445
423
446−#: qml/Greeter/Greeter.qml:555
424+#: qml/Greeter/DelayedLockscreen.qml:43
425+msgid "Device Locked"
426+msgstr "Enheden er låst"
427+
428+#: qml/Greeter/DelayedLockscreen.qml:58
429+msgid "You have been locked out due to too many failed passphrase attempts."
430+msgstr ""
431+"Du er blevet låst ude på grund af for mange fejlslagne forsøg på at angive "
432+"adgangskode."
433+
434+#: qml/Greeter/DelayedLockscreen.qml:59
435+msgid "You have been locked out due to too many failed passcode attempts."
436+msgstr ""
437+"Du er blevet låst ude på grund af for mange fejlslagne forsøg på at angive "
438+"adgangskode."
439+
440+#: qml/Greeter/DelayedLockscreen.qml:68
441+#, qt-format
442+msgid "Please wait %1 minute and then try again…"
443+msgid_plural "Please wait %1 minutes and then try again…"
444+msgstr[0] "Vent venligst %1 minut og prøv igen..."
445+msgstr[1] "Vent venligst %1 minutter og prøv igen..."
446+
447+#: qml/Greeter/Greeter.qml:596
447msgid "Try again"
448msgid "Try again"
448msgstr ""
449msgstr ""
449
450
450−#: qml/Greeter/LoginList.qml:63
451+#: qml/Greeter/LoginList.qml:70
451msgid "Passphrase"
452msgid "Passphrase"
452msgstr ""
453msgstr ""
453
454
454−#: qml/Greeter/LoginList.qml:64
455+#: qml/Greeter/LoginList.qml:71
455msgid "Passcode"
456msgid "Passcode"
456msgstr ""
457msgstr ""
457
458
458−#: qml/Greeter/LoginList.qml:87
459+#: qml/Greeter/LoginList.qml:98
459msgid "Retry"
460msgid "Retry"
460msgstr "Forsøg igen"
461msgstr "Forsøg igen"
461
462
462−#: qml/Greeter/LoginList.qml:88
463+#: qml/Greeter/LoginList.qml:99
463msgid "Log In"
464msgid "Log In"
464msgstr ""
465msgstr ""
465
466
466−#: qml/Greeter/NarrowView.qml:55
467+#: qml/Greeter/NarrowView.qml:252
467−msgid "Sorry, incorrect passphrase."
468+msgid "Emergency"
468−msgstr "Beklager, forkert adgangsfrase."
469−
470−#: qml/Greeter/NarrowView.qml:56
471−msgid "Sorry, incorrect passcode."
472−msgstr "Beklager, forkert adgangskode."
473−
474−#: qml/Greeter/NarrowView.qml:57
475−msgid "This will be your last attempt."
476−msgstr "Dette er dit sidste forsøg."
477−
478−#: qml/Greeter/NarrowView.qml:59
479−msgid ""
480−"If passphrase is entered incorrectly, your phone will conduct a factory "
481−"reset and all personal data will be deleted."
482−msgstr ""
483−"Hvis adgangsfrasen er forkert, vil telefonen blive gendannet til "
484−"fabriksindstillinger og al personlig data vil blive slettet."
485−
486−#: qml/Greeter/NarrowView.qml:60
487−msgid ""
488−"If passcode is entered incorrectly, your phone will conduct a factory reset "
489−"and all personal data will be deleted."
490msgstr ""
469msgstr ""
491−"Hvis adgangskoden er forkert, vil telefonen blive gendannet til "
492−"fabriksindstillinger og al personlig data vil blive slettet."
493−
494−#: qml/Greeter/NarrowView.qml:129
495−#, qt-format
496−msgid "Enter %1"
497−msgstr "Indtast %1"
498−
499−#: qml/Greeter/NarrowView.qml:130
500−msgid "Enter passphrase"
501−msgstr "Angiv adgangsfrase"
502
470
503−#: qml/Greeter/NarrowView.qml:131
471+#: qml/Greeter/SessionsList.qml:122
504−msgid "Enter passcode"
472+msgid "Select desktop environment"
505−msgstr "Indtast adgangskode"
506−
507−#: qml/Greeter/NarrowView.qml:135
508−#, qt-format
509−msgid "Sorry, incorrect %1"
510−msgstr "Beklager, forkert %1"
511−
512−#: qml/Greeter/NarrowView.qml:136
513−msgid "Sorry, incorrect passphrase"
514−msgstr "Beklager, forkert adgangsfrase"
515−
516−#: qml/Greeter/NarrowView.qml:137
517−msgctxt "passphrase"
518−msgid "Please re-enter"
519msgstr ""
473msgstr ""
520
474
521−#: qml/Greeter/NarrowView.qml:138
522−msgid "Sorry, incorrect passcode"
523−msgstr "Beklager, forkert adgangskode"
524−
525#: qml/Notifications/NotificationMenuItemFactory.qml:124
475#: qml/Notifications/NotificationMenuItemFactory.qml:124
526msgid "Show password"
476msgid "Show password"
527msgstr "Vis adgangskode"
477msgstr "Vis adgangskode"
@@ -534,62 +484,62 @@ msgstr "Tryk for at vende tilbage til opkaldet..."
534msgid "Conference"
484msgid "Conference"
535msgstr "Konference"
485msgstr "Konference"
536
486
537−#: qml/Panel/Indicators/MenuItemFactory.qml:762
487+#: qml/Panel/Indicators/MenuItemFactory.qml:847
538msgid "Nothing is playing"
488msgid "Nothing is playing"
539msgstr "Intet afspilles"
489msgstr "Intet afspilles"
540
490
541−#: qml/Panel/Indicators/MenuItemFactory.qml:891
491+#: qml/Panel/Indicators/MenuItemFactory.qml:975
542#, qt-format
492#, qt-format
543msgid "%1 hour"
493msgid "%1 hour"
544msgid_plural "%1 hours"
494msgid_plural "%1 hours"
545msgstr[0] "%1 time"
495msgstr[0] "%1 time"
546msgstr[1] "%1 timer"
496msgstr[1] "%1 timer"
547
497
548−#: qml/Panel/Indicators/MenuItemFactory.qml:895
498+#: qml/Panel/Indicators/MenuItemFactory.qml:979
549#, qt-format
499#, qt-format
550msgid "%1 minute"
500msgid "%1 minute"
551msgid_plural "%1 minutes"
501msgid_plural "%1 minutes"
552msgstr[0] "%1 minut"
502msgstr[0] "%1 minut"
553msgstr[1] "%1 minutter"
503msgstr[1] "%1 minutter"
554
504
555−#: qml/Panel/Indicators/MenuItemFactory.qml:900
505+#: qml/Panel/Indicators/MenuItemFactory.qml:984
556#, qt-format
506#, qt-format
557msgid "%1 second"
507msgid "%1 second"
558msgid_plural "%1 seconds"
508msgid_plural "%1 seconds"
559msgstr[0] "%1 sekund"
509msgstr[0] "%1 sekund"
560msgstr[1] "%1 sekunder"
510msgstr[1] "%1 sekunder"
561
511
562−#: qml/Panel/Indicators/MenuItemFactory.qml:903
512+#: qml/Panel/Indicators/MenuItemFactory.qml:987
563msgid "0 seconds"
513msgid "0 seconds"
564msgstr "0 sekunder"
514msgstr "0 sekunder"
565
515
566#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
516#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
567−#: qml/Panel/Indicators/MenuItemFactory.qml:905
517+#: qml/Panel/Indicators/MenuItemFactory.qml:989
568#, qt-format
518#, qt-format
569msgid "%1 remaining"
519msgid "%1 remaining"
570msgstr "%1 tilbage"
520msgstr "%1 tilbage"
571
521
572−#: qml/Panel/Indicators/MenuItemFactory.qml:911
522+#: qml/Panel/Indicators/MenuItemFactory.qml:995
573msgid "In queue…"
523msgid "In queue…"
574msgstr "I kø…"
524msgstr "I kø…"
575
525
576−#: qml/Panel/Indicators/MenuItemFactory.qml:915
526+#: qml/Panel/Indicators/MenuItemFactory.qml:999
577msgid "Downloading"
527msgid "Downloading"
578msgstr "Henter"
528msgstr "Henter"
579
529
580−#: qml/Panel/Indicators/MenuItemFactory.qml:917
530+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
581msgid "Paused, tap to resume"
531msgid "Paused, tap to resume"
582msgstr "På pause - tryk for at fortsætte"
532msgstr "På pause - tryk for at fortsætte"
583
533
584−#: qml/Panel/Indicators/MenuItemFactory.qml:919
534+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
585msgid "Canceled"
535msgid "Canceled"
586msgstr "Annulleret"
536msgstr "Annulleret"
587
537
588−#: qml/Panel/Indicators/MenuItemFactory.qml:921
538+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
589msgid "Finished"
539msgid "Finished"
590msgstr "Færdig"
540msgstr "Færdig"
591
541
592−#: qml/Panel/Indicators/MenuItemFactory.qml:923
542+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
593msgid "Failed, tap to retry"
543msgid "Failed, tap to retry"
594msgstr "Mislykkedes - tryk for at prøve igen"
544msgstr "Mislykkedes - tryk for at prøve igen"
595
545
@@ -609,7 +559,7 @@ msgctxt "Button: Call back on phone"
609msgid "Call back"
559msgid "Call back"
610msgstr ""
560msgstr ""
611
561
612−#: qml/Stages/SideStage.qml:76
562+#: qml/Stage/SideStage.qml:76
613msgid "Drag using 3 fingers any application from one window to the other"
563msgid "Drag using 3 fingers any application from one window to the other"
614msgstr ""
564msgstr ""
615
565
@@ -638,40 +588,54 @@ msgctxt "Button: Go back one page in the Wizard"
638msgid "Back"
588msgid "Back"
639msgstr "Tilbage"
589msgstr "Tilbage"
640
590
641−#: qml/Wizard/Pages/10-welcome.qml:27
591+#: qml/Wizard/Pages/10-welcome.qml:28
642msgid "Language"
592msgid "Language"
643msgstr ""
593msgstr ""
644
594
645−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
595+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
646−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
596+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
597+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
647−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
598+#: qml/Wizard/Pages/70-passwd-type.qml:145
648#: qml/Wizard/Pages/75-report-check.qml:84
599#: qml/Wizard/Pages/75-report-check.qml:84
649−#: qml/Wizard/Pages/passcode-desktop.qml:141
600+#: qml/Wizard/Pages/passcode-desktop.qml:142
650−#: qml/Wizard/Pages/password-set.qml:141
601+#: qml/Wizard/Pages/password-set.qml:142
651msgid "Next"
602msgid "Next"
652msgstr ""
603msgstr ""
653
604
654−#: qml/Wizard/Pages/30-wifi.qml:29
605+#: qml/Wizard/Pages/20-keyboard.qml:31
606+msgid "Select Keyboard"
607+msgstr ""
608+
609+#: qml/Wizard/Pages/20-keyboard.qml:71
610+msgid "Keyboard language"
611+msgstr ""
612+
613+#: qml/Wizard/Pages/20-keyboard.qml:93
614+msgid "Keyboard layout"
615+msgstr ""
616+
617+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
618+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
619+#: qml/Wizard/Pages/sim.qml:101
620+msgid "Skip"
621+msgstr "Spring over"
622+
623+#: qml/Wizard/Pages/30-wifi.qml:31
655msgid "Connect to Wi‑Fi"
624msgid "Connect to Wi‑Fi"
656msgstr "Tilslut til Wi-Fi"
625msgstr "Tilslut til Wi-Fi"
657
626
658−#: qml/Wizard/Pages/30-wifi.qml:130
627+#: qml/Wizard/Pages/30-wifi.qml:132
659msgid "Connected"
628msgid "Connected"
660msgstr ""
629msgstr ""
661
630
662−#: qml/Wizard/Pages/30-wifi.qml:163
631+#: qml/Wizard/Pages/30-wifi.qml:165
663msgid "Available Wi-Fi networks"
632msgid "Available Wi-Fi networks"
664msgstr ""
633msgstr ""
665
634
666−#: qml/Wizard/Pages/30-wifi.qml:164
635+#: qml/Wizard/Pages/30-wifi.qml:166
667msgid "No available Wi-Fi networks"
636msgid "No available Wi-Fi networks"
668msgstr ""
637msgstr ""
669
638
670−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
671−#: qml/Wizard/Pages/sim.qml:101
672−msgid "Skip"
673−msgstr "Spring over"
674−
675#: qml/Wizard/Pages/40-location.qml:27
639#: qml/Wizard/Pages/40-location.qml:27
676msgid "Location Services"
640msgid "Location Services"
677msgstr ""
641msgstr ""
@@ -704,11 +668,11 @@ msgstr ""
704msgid "You can change it later in System Settings."
668msgid "You can change it later in System Settings."
705msgstr ""
669msgstr ""
706
670
707−#: qml/Wizard/Pages/50-timezone.qml:29
671+#: qml/Wizard/Pages/50-timezone.qml:30
708msgid "Time Zone"
672msgid "Time Zone"
709msgstr ""
673msgstr ""
710
674
711−#: qml/Wizard/Pages/50-timezone.qml:181
675+#: qml/Wizard/Pages/50-timezone.qml:182
712msgid "Enter your city"
676msgid "Enter your city"
713msgstr ""
677msgstr ""
714
678
@@ -720,21 +684,21 @@ msgstr ""
720msgid "Preferred Name"
684msgid "Preferred Name"
721msgstr ""
685msgstr ""
722
686
723−#: qml/Wizard/Pages/70-passwd-type.qml:39
687+#: qml/Wizard/Pages/70-passwd-type.qml:40
724msgid "Lock Screen"
688msgid "Lock Screen"
725msgstr ""
689msgstr ""
726
690
727−#: qml/Wizard/Pages/70-passwd-type.qml:101
691+#: qml/Wizard/Pages/70-passwd-type.qml:102
728msgctxt "Label: Type of security method"
692msgctxt "Label: Type of security method"
729msgid "Create new password"
693msgid "Create new password"
730msgstr ""
694msgstr ""
731
695
732−#: qml/Wizard/Pages/70-passwd-type.qml:103
696+#: qml/Wizard/Pages/70-passwd-type.qml:104
733msgctxt "Label: Type of security method"
697msgctxt "Label: Type of security method"
734msgid "Create passcode (numbers only)"
698msgid "Create passcode (numbers only)"
735msgstr ""
699msgstr ""
736
700
737−#: qml/Wizard/Pages/70-passwd-type.qml:105
701+#: qml/Wizard/Pages/70-passwd-type.qml:106
738msgctxt "Label: Type of security method"
702msgctxt "Label: Type of security method"
739msgid "No lock code"
703msgid "No lock code"
740msgstr ""
704msgstr ""
@@ -755,6 +719,35 @@ msgstr ""
755msgid "Privacy policy"
719msgid "Privacy policy"
756msgstr ""
720msgstr ""
757
721
722+#: qml/Wizard/Pages/77-system-update.qml:28
723+msgid "Update Device"
724+msgstr ""
725+
726+#: qml/Wizard/Pages/77-system-update.qml:55
727+msgid ""
728+"There is a system update available and ready to install. Afterwards, the "
729+"device will automatically restart."
730+msgstr ""
731+
732+#: qml/Wizard/Pages/77-system-update.qml:76
733+msgctxt "string identifying name of the update"
734+msgid "Ubuntu system"
735+msgstr ""
736+
737+#: qml/Wizard/Pages/77-system-update.qml:83
738+#, qt-format
739+msgctxt "version of the system update"
740+msgid "Version %1"
741+msgstr ""
742+
743+#: qml/Wizard/Pages/77-system-update.qml:102
744+msgid "This could take a few minutes..."
745+msgstr ""
746+
747+#: qml/Wizard/Pages/77-system-update.qml:116
748+msgid "Install and restart now"
749+msgstr ""
750+
758#: qml/Wizard/Pages/80-finished.qml:89
751#: qml/Wizard/Pages/80-finished.qml:89
759msgid "Welcome to Ubuntu"
752msgid "Welcome to Ubuntu"
760msgstr ""
753msgstr ""
@@ -798,7 +791,7 @@ msgid "Service Terms"
798msgstr ""
791msgstr ""
799
792
800#: qml/Wizard/Pages/passcode-confirm.qml:43
793#: qml/Wizard/Pages/passcode-confirm.qml:43
801−#: qml/Wizard/Pages/passcode-desktop.qml:96
794+#: qml/Wizard/Pages/passcode-desktop.qml:97
802msgid "Confirm passcode"
795msgid "Confirm passcode"
803msgstr "Bekræft adgangskode"
796msgstr "Bekræft adgangskode"
804
797
@@ -811,28 +804,28 @@ msgctxt "Enter the passcode again"
811msgid "Please re-enter."
804msgid "Please re-enter."
812msgstr ""
805msgstr ""
813
806
814−#: qml/Wizard/Pages/passcode-desktop.qml:30
807+#: qml/Wizard/Pages/passcode-desktop.qml:31
815msgid "Lock Screen Passcode"
808msgid "Lock Screen Passcode"
816msgstr ""
809msgstr ""
817
810
818−#: qml/Wizard/Pages/passcode-desktop.qml:60
811+#: qml/Wizard/Pages/passcode-desktop.qml:61
819msgid "Enter 4 numbers to setup your passcode"
812msgid "Enter 4 numbers to setup your passcode"
820msgstr ""
813msgstr ""
821
814
822−#: qml/Wizard/Pages/passcode-desktop.qml:76
815+#: qml/Wizard/Pages/passcode-desktop.qml:77
823#: qml/Wizard/Pages/passcode-set.qml:54
816#: qml/Wizard/Pages/passcode-set.qml:54
824msgid "Choose passcode"
817msgid "Choose passcode"
825msgstr ""
818msgstr ""
826
819
827−#: qml/Wizard/Pages/passcode-desktop.qml:126
820+#: qml/Wizard/Pages/passcode-desktop.qml:127
828msgid "Passcode too short"
821msgid "Passcode too short"
829msgstr ""
822msgstr ""
830
823
831−#: qml/Wizard/Pages/passcode-desktop.qml:128
824+#: qml/Wizard/Pages/passcode-desktop.qml:129
832msgid "Passcodes match"
825msgid "Passcodes match"
833msgstr ""
826msgstr ""
834
827
835−#: qml/Wizard/Pages/passcode-desktop.qml:130
828+#: qml/Wizard/Pages/passcode-desktop.qml:131
836msgid "Passcodes do not match"
829msgid "Passcodes do not match"
837msgstr ""
830msgstr ""
838
831
@@ -840,19 +833,19 @@ msgstr ""
840msgid "Passcode must be 4 characters long"
833msgid "Passcode must be 4 characters long"
841msgstr ""
834msgstr ""
842
835
843−#: qml/Wizard/Pages/password-set.qml:30
836+#: qml/Wizard/Pages/password-set.qml:31
844msgid "Lock Screen Password"
837msgid "Lock Screen Password"
845msgstr ""
838msgstr ""
846
839
847−#: qml/Wizard/Pages/password-set.qml:61
840+#: qml/Wizard/Pages/password-set.qml:62
848msgid "Enter at least 8 characters"
841msgid "Enter at least 8 characters"
849msgstr ""
842msgstr ""
850
843
851−#: qml/Wizard/Pages/password-set.qml:73
844+#: qml/Wizard/Pages/password-set.qml:74
852msgid "Choose password"
845msgid "Choose password"
853msgstr ""
846msgstr ""
854
847
855−#: qml/Wizard/Pages/password-set.qml:103
848+#: qml/Wizard/Pages/password-set.qml:104
856msgid "Confirm password"
849msgid "Confirm password"
857msgstr ""
850msgstr ""
858
851
@@ -975,12 +968,43 @@ msgstr ""
975#~ msgid "Unlock SIM"
968#~ msgid "Unlock SIM"
976#~ msgstr "Lås SIM-kort op"
969#~ msgstr "Lås SIM-kort op"
977
970
971+#~ msgid "Sorry, incorrect passphrase"
972+#~ msgstr "Beklager, forkert adgangsfrase"
973+
974+#~ msgid "Enter passcode"
975+#~ msgstr "Indtast adgangskode"
976+
977+#, qt-format
978+#~ msgid "Sorry, incorrect %1"
979+#~ msgstr "Beklager, forkert %1"
980+
981+#, qt-format
982+#~ msgid "Enter %1"
983+#~ msgstr "Indtast %1"
984+
978#~ msgid "This action does different things for different apps"
985#~ msgid "This action does different things for different apps"
979#~ msgstr "Denne handling gør forskellige ting i forskellige apps"
986#~ msgstr "Denne handling gør forskellige ting i forskellige apps"
980
987
981#~ msgid "Please re-enter"
988#~ msgid "Please re-enter"
982#~ msgstr "Vær venlig at genindtaste"
989#~ msgstr "Vær venlig at genindtaste"
983
990
991+#~ msgid "Sorry, incorrect passcode"
992+#~ msgstr "Beklager, forkert adgangskode"
993+
994+#~ msgid ""
995+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
996+#~ "and all personal data will be deleted."
997+#~ msgstr ""
998+#~ "Hvis adgangskoden er forkert, vil telefonen blive gendannet til "
999+#~ "fabriksindstillinger og al personlig data vil blive slettet."
1000+
1001+#~ msgid ""
1002+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1003+#~ "reset and all personal data will be deleted."
1004+#~ msgstr ""
1005+#~ "Hvis adgangsfrasen er forkert, vil telefonen blive gendannet til "
1006+#~ "fabriksindstillinger og al personlig data vil blive slettet."
1007+
984#~ msgid "To view open apps"
1008#~ msgid "To view open apps"
985#~ msgstr "For at se åbne apps"
1009#~ msgstr "For at se åbne apps"
986
1010
@@ -1043,6 +1067,15 @@ msgstr ""
1043#~ msgid "〈 %1"
1067#~ msgid "〈 %1"
1044#~ msgstr "〈 %1"
1068#~ msgstr "〈 %1"
1045
1069
1070+#~ msgid "Sorry, incorrect passphrase."
1071+#~ msgstr "Beklager, forkert adgangsfrase."
1072+
1073+#~ msgid "Sorry, incorrect passcode."
1074+#~ msgstr "Beklager, forkert adgangskode."
1075+
1076+#~ msgid "This will be your last attempt."
1077+#~ msgstr "Dette er dit sidste forsøg."
1078+
1046#~ msgid "Swipe up from the bottom edge."
1079#~ msgid "Swipe up from the bottom edge."
1047#~ msgstr "Swipe op fra den nedre kant."
1080#~ msgstr "Swipe op fra den nedre kant."
1048
1081
@@ -1110,6 +1143,9 @@ msgstr ""
1110#~ msgid "Roaming"
1143#~ msgid "Roaming"
1111#~ msgstr "Roaming"
1144#~ msgstr "Roaming"
1112
1145
1146+#~ msgid "Enter passphrase"
1147+#~ msgstr "Angiv adgangsfrase"
1148+
1113#~ msgctxt "Label: Type of security method"
1149#~ msgctxt "Label: Type of security method"
1114#~ msgid "Passcode"
1150#~ msgid "Passcode"
1115#~ msgstr "Adgangskode"
1151#~ msgstr "Adgangskode"
po/de.po+240−198
@@ -7,105 +7,83 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11−"PO-Revision-Date: 2016-07-24 11:38+0000\n"
11+"PO-Revision-Date: 2016-09-29 12:06+0000\n"
12"Last-Translator: Matthias Seidel <matthias.seidel@hamburg.de>\n"
12"Last-Translator: Matthias Seidel <matthias.seidel@hamburg.de>\n"
13"Language-Team: German <de@li.org>\n"
13"Language-Team: German <de@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-25 05:34+0000\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
19+"X-Generator: Launchpad (build 18282)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:123
21#: plugins/LightDM/Greeter.cpp:123
22msgid "Password: "
22msgid "Password: "
23msgstr "Passwort: "
23msgstr "Passwort: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Verknüpfung anheften"
28msgstr "Verknüpfung anheften"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
31msgid "Quit"
31msgid "Quit"
32msgstr "Beenden"
32msgstr "Beenden"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Verknüpfung entfernen"
36msgstr "Verknüpfung entfernen"
37
37
38−#: qml/Components/DelayedLockscreen.qml:50
38+#: qml/Components/Dialogs.qml:149
39−msgid "Device Locked"
40−msgstr "Gerät gesperrt"
41−
42−#: qml/Components/DelayedLockscreen.qml:65
43−msgid "You have been locked out due to too many failed passphrase attempts."
44−msgstr ""
45−"Das Gerät wurde aufgrund zu vieler falscher Passworteingaben für längere "
46−"Zeit gesperrt."
47−
48−#: qml/Components/DelayedLockscreen.qml:66
49−msgid "You have been locked out due to too many failed passcode attempts."
50−msgstr ""
51−"Das Gerät wurde aufgrund zu vieler falscher PIN-Eingaben für längere Zeit "
52−"gesperrt."
53−
54−#: qml/Components/DelayedLockscreen.qml:75
55−#, qt-format
56−msgid "Please wait %1 minute and then try again…"
57−msgid_plural "Please wait %1 minutes and then try again…"
58−msgstr[0] "Bitte %1 Minute warten und es dann erneut versuchen …"
59−msgstr[1] "Bitte %1 Minuten warten und es dann erneut versuchen …"
60−
61−#: qml/Components/Dialogs.qml:144
62msgctxt "Title: Lock/Log out dialog"
39msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
40msgid "Log out"
64msgstr "Abmelden"
41msgstr "Abmelden"
65
42
66−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
67msgid "Are you sure you want to log out?"
44msgid "Are you sure you want to log out?"
68msgstr "Sind Sie sicher, dass Sie sich abmelden wollen?"
45msgstr "Sind Sie sicher, dass Sie sich abmelden wollen?"
69
46
70−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
71msgctxt "Button: Lock the system"
48msgctxt "Button: Lock the system"
72msgid "Lock"
49msgid "Lock"
73msgstr "Sperren"
50msgstr "Sperren"
74
51
75−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
76msgctxt "Button: Log out from the system"
53msgctxt "Button: Log out from the system"
77msgid "Log Out"
54msgid "Log Out"
78msgstr "Abmelden"
55msgstr "Abmelden"
79
56
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
60#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
61msgid "Cancel"
84msgstr "Abbrechen"
62msgstr "Abbrechen"
85
63
86−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
87msgctxt "Title: Reboot dialog"
65msgctxt "Title: Reboot dialog"
88msgid "Reboot"
66msgid "Reboot"
89msgstr "Neustarten"
67msgstr "Neustarten"
90
68
91−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
92msgid "Are you sure you want to reboot?"
70msgid "Are you sure you want to reboot?"
93msgstr "Sind Sie sicher, dass Sie neu starten wollen?"
71msgstr "Sind Sie sicher, dass Sie neu starten wollen?"
94
72
95−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
96msgid "No"
74msgid "No"
97msgstr "Nein"
75msgstr "Nein"
98
76
99−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
100msgid "Yes"
78msgid "Yes"
101msgstr "Ja"
79msgstr "Ja"
102
80
103−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
104msgctxt "Title: Power off/Restart dialog"
82msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
83msgid "Power"
106msgstr "Ausschalten"
84msgstr "Ausschalten"
107
85
108−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
109msgid ""
87msgid ""
110"Are you sure you would like\n"
88"Are you sure you would like\n"
111"to power off?"
89"to power off?"
@@ -113,12 +91,12 @@ msgstr ""
113"Sind Sie sicher, dass Sie das\n"
91"Sind Sie sicher, dass Sie das\n"
114"Gerät ausschalten wollen?"
92"Gerät ausschalten wollen?"
115
93
116−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
117msgctxt "Button: Power off the system"
95msgctxt "Button: Power off the system"
118msgid "Power off"
96msgid "Power off"
119msgstr "Ausschalten"
97msgstr "Ausschalten"
120
98
121−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
122msgctxt "Button: Restart the system"
100msgctxt "Button: Restart the system"
123msgid "Restart"
101msgid "Restart"
124msgstr "Neustarten"
102msgstr "Neustarten"
@@ -153,7 +131,7 @@ msgstr "Super + Leertaste"
153
131
154#: qml/Components/KeyboardShortcutsOverlay.qml:93
132#: qml/Components/KeyboardShortcutsOverlay.qml:93
155msgid "Switches to next keyboard layout."
133msgid "Switches to next keyboard layout."
156−msgstr "Zum nächsten Tastaturlayout umschalten"
134+msgstr "Wechselt zur nächsten Tastaturbelegung."
157
135
158#: qml/Components/KeyboardShortcutsOverlay.qml:101
136#: qml/Components/KeyboardShortcutsOverlay.qml:101
159msgid "Super + Shift + Space"
137msgid "Super + Shift + Space"
@@ -161,7 +139,7 @@ msgstr "Super + Hochstell + Leertaste"
161
139
162#: qml/Components/KeyboardShortcutsOverlay.qml:106
140#: qml/Components/KeyboardShortcutsOverlay.qml:106
163msgid "Switches to previous keyboard layout."
141msgid "Switches to previous keyboard layout."
164−msgstr "Zum vorherigen Tastaturlayout umschalten"
142+msgstr "Wechselt zur vorherigen Tastaturbelegung."
165
143
166#: qml/Components/KeyboardShortcutsOverlay.qml:118
144#: qml/Components/KeyboardShortcutsOverlay.qml:118
167msgid "Launcher"
145msgid "Launcher"
@@ -283,15 +261,15 @@ msgstr "Alt + F4"
283msgid "Closes the current window."
261msgid "Closes the current window."
284msgstr "Schließt das aktive Fenster."
262msgstr "Schließt das aktive Fenster."
285
263
286−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287msgid "Return to Call"
265msgid "Return to Call"
288msgstr "Zu Anruf zurückkehren"
266msgstr "Zu Anruf zurückkehren"
289
267
290−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
291msgid "Emergency Call"
269msgid "Emergency Call"
292msgstr "Notruf"
270msgstr "Notruf"
293
271
294−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
295msgid "OK"
273msgid "OK"
296msgstr "OK"
274msgstr "OK"
297
275
@@ -337,84 +315,84 @@ msgstr "Alle schließen"
337msgid "Preview Share Item"
315msgid "Preview Share Item"
338msgstr "Vorschau für zu teilendes Element"
316msgstr "Vorschau für zu teilendes Element"
339
317
340−#: qml/Dash/DashPageHeader.qml:333
318+#: qml/Dash/DashPageHeader.qml:361
341msgctxt "Button: Open the Ubuntu Store"
319msgctxt "Button: Open the Ubuntu Store"
342msgid "Store"
320msgid "Store"
343msgstr "Speichern"
321msgstr "Speichern"
344
322
345−#: qml/Dash/DashPageHeader.qml:340
323+#: qml/Dash/DashPageHeader.qml:368
346msgctxt "Button: Start a search in the current dash scope"
324msgctxt "Button: Start a search in the current dash scope"
347msgid "Search"
325msgid "Search"
348msgstr "Suchen"
326msgstr "Suchen"
349
327
350−#: qml/Dash/DashPageHeader.qml:350
328+#: qml/Dash/DashPageHeader.qml:378
351msgctxt "Button: Show the current dash scope settings"
329msgctxt "Button: Show the current dash scope settings"
352msgid "Settings"
330msgid "Settings"
353msgstr "Einstellungen"
331msgstr "Einstellungen"
354
332
355−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
356msgid "Remove from Favorites"
334msgid "Remove from Favorites"
357msgstr "Aus den Favoriten entfernen"
335msgstr "Aus den Favoriten entfernen"
358
336
359−#: qml/Dash/DashPageHeader.qml:357
337+#: qml/Dash/DashPageHeader.qml:385
360msgid "Add to Favorites"
338msgid "Add to Favorites"
361msgstr "Zu Favoriten hinzufügen"
339msgstr "Zu Favoriten hinzufügen"
362
340
363−#: qml/Dash/FiltersPopover.qml:60
341+#: qml/Dash/FiltersPopover.qml:61
364msgid "Refine your results"
342msgid "Refine your results"
365msgstr "Ergebnisse verfeinern"
343msgstr "Ergebnisse verfeinern"
366
344
367−#: qml/Dash/FiltersPopover.qml:69
345+#: qml/Dash/FiltersPopover.qml:70
368msgid "Reset"
346msgid "Reset"
369msgstr "Zurücksetzen"
347msgstr "Zurücksetzen"
370
348
371−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
349+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
372msgid "Show less"
350msgid "Show less"
373msgstr "Weniger anzeigen"
351msgstr "Weniger anzeigen"
374
352
375−#: qml/Dash/GenericScopeView.qml:580
353+#: qml/Dash/GenericScopeView.qml:547
376msgid "Show all"
354msgid "Show all"
377msgstr "Alle anzeigen"
355msgstr "Alle anzeigen"
378
356
379−#: qml/Dash/GenericScopeView.qml:637
357+#: qml/Dash/GenericScopeView.qml:578
380msgctxt "Label: Hint for dash search line edit"
358msgctxt "Label: Hint for dash search line edit"
381msgid "Search"
359msgid "Search"
382msgstr "Suchen"
360msgstr "Suchen"
383
361
384−#: qml/Dash/PageHeaderExtraPanel.qml:56
362+#: qml/Dash/PageHeaderExtraPanel.qml:67
385msgid "Recent Searches"
363msgid "Recent Searches"
386msgstr "Letzte Suchanfragen"
364msgstr "Letzte Suchanfragen"
387
365
388−#: qml/Dash/PageHeaderExtraPanel.qml:67
366+#: qml/Dash/PageHeaderExtraPanel.qml:78
389msgid "Clear All"
367msgid "Clear All"
390msgstr "Alle zurücksetzen"
368msgstr "Alle zurücksetzen"
391
369
392−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
393msgid "More..."
371msgid "More..."
394msgstr "Mehr …"
372msgstr "Mehr …"
395
373
396−#: qml/Dash/Previews/PreviewActionCombo.qml:35
374+#: qml/Dash/Previews/PreviewActionCombo.qml:36
397msgid "Less..."
375msgid "Less..."
398msgstr "Weniger …"
376msgstr "Weniger …"
399
377
400−#: qml/Dash/Previews/PreviewCommentInput.qml:68
378+#: qml/Dash/Previews/PreviewCommentInput.qml:83
401−#: qml/Dash/Previews/PreviewRatingInput.qml:175
379+#: qml/Dash/Previews/PreviewRatingInput.qml:202
402msgid "Send"
380msgid "Send"
403msgstr "Senden"
381msgstr "Senden"
404
382
405−#: qml/Dash/Previews/PreviewRatingInput.qml:82
383+#: qml/Dash/Previews/PreviewRatingInput.qml:109
406msgid "Rate this"
384msgid "Rate this"
407msgstr "Bewerten"
385msgstr "Bewerten"
408
386
409−#: qml/Dash/Previews/PreviewRatingInput.qml:157
387+#: qml/Dash/Previews/PreviewRatingInput.qml:184
410msgid "Add a review"
388msgid "Add a review"
411msgstr "Bewertung hinzufügen"
389msgstr "Bewertung hinzufügen"
412
390
413−#: qml/Dash/PullToRefreshScopeStyle.qml:55
391+#: qml/Dash/PullToRefreshScopeStyle.qml:56
414msgid "Pull to refresh…"
392msgid "Pull to refresh…"
415msgstr "Zum Aktualisieren ziehen …"
393msgstr "Zum Aktualisieren ziehen …"
416
394
417−#: qml/Dash/PullToRefreshScopeStyle.qml:60
395+#: qml/Dash/PullToRefreshScopeStyle.qml:61
418msgid "Release to refresh…"
396msgid "Release to refresh…"
419msgstr "Zum Aktualisieren loslassen …"
397msgstr "Zum Aktualisieren loslassen …"
420
398
@@ -422,15 +400,15 @@ msgstr "Zum Aktualisieren loslassen …"
422msgid "Enable location data"
400msgid "Enable location data"
423msgstr "Standortdaten aktivieren"
401msgstr "Standortdaten aktivieren"
424
402
425−#: qml/Dash/ScopesList.qml:55
403+#: qml/Dash/ScopesList.qml:57
426msgid "Manage"
404msgid "Manage"
427msgstr "Verwalten"
405msgstr "Verwalten"
428
406
429−#: qml/Dash/ScopesList.qml:102
407+#: qml/Dash/ScopesList.qml:104
430msgid "Home"
408msgid "Home"
431msgstr "Startseite"
409msgstr "Startseite"
432
410
433−#: qml/Dash/ScopesList.qml:103
411+#: qml/Dash/ScopesList.qml:105
434msgid "Also installed"
412msgid "Also installed"
435msgstr "Ebenfalls installiert"
413msgstr "Ebenfalls installiert"
436
414
@@ -446,84 +424,56 @@ msgstr ""
446msgid "Unlock"
424msgid "Unlock"
447msgstr "Entsperren"
425msgstr "Entsperren"
448
426
449−#: qml/Greeter/Greeter.qml:555
427+#: qml/Greeter/DelayedLockscreen.qml:43
428+msgid "Device Locked"
429+msgstr "Gerät gesperrt"
430+
431+#: qml/Greeter/DelayedLockscreen.qml:58
432+msgid "You have been locked out due to too many failed passphrase attempts."
433+msgstr ""
434+"Das Gerät wurde aufgrund zu vieler falscher Passworteingaben für längere "
435+"Zeit gesperrt."
436+
437+#: qml/Greeter/DelayedLockscreen.qml:59
438+msgid "You have been locked out due to too many failed passcode attempts."
439+msgstr ""
440+"Das Gerät wurde aufgrund zu vieler falscher PIN-Eingaben für längere Zeit "
441+"gesperrt."
442+
443+#: qml/Greeter/DelayedLockscreen.qml:68
444+#, qt-format
445+msgid "Please wait %1 minute and then try again…"
446+msgid_plural "Please wait %1 minutes and then try again…"
447+msgstr[0] "Bitte %1 Minute warten und dann erneut versuchen …"
448+msgstr[1] "Bitte %1 Minuten warten und dann erneut versuchen …"
449+
450+#: qml/Greeter/Greeter.qml:596
450msgid "Try again"
451msgid "Try again"
451msgstr "Erneut versuchen"
452msgstr "Erneut versuchen"
452
453
453−#: qml/Greeter/LoginList.qml:63
454+#: qml/Greeter/LoginList.qml:70
454msgid "Passphrase"
455msgid "Passphrase"
455msgstr "Passwort"
456msgstr "Passwort"
456
457
457−#: qml/Greeter/LoginList.qml:64
458+#: qml/Greeter/LoginList.qml:71
458msgid "Passcode"
459msgid "Passcode"
459msgstr "PIN"
460msgstr "PIN"
460
461
461−#: qml/Greeter/LoginList.qml:87
462+#: qml/Greeter/LoginList.qml:98
462msgid "Retry"
463msgid "Retry"
463msgstr "Erneut versuchen"
464msgstr "Erneut versuchen"
464
465
465−#: qml/Greeter/LoginList.qml:88
466+#: qml/Greeter/LoginList.qml:99
466msgid "Log In"
467msgid "Log In"
467msgstr "Anmelden"
468msgstr "Anmelden"
468
469
469−#: qml/Greeter/NarrowView.qml:55
470+#: qml/Greeter/NarrowView.qml:252
470−msgid "Sorry, incorrect passphrase."
471+msgid "Emergency"
471−msgstr "Entschuldigung, falsches Passwort."
472+msgstr "Notruf"
472−
473−#: qml/Greeter/NarrowView.qml:56
474−msgid "Sorry, incorrect passcode."
475−msgstr "Falsche PIN"
476−
477−#: qml/Greeter/NarrowView.qml:57
478−msgid "This will be your last attempt."
479−msgstr "Dies ist Ihr letzter Versuch."
480−
481−#: qml/Greeter/NarrowView.qml:59
482−msgid ""
483−"If passphrase is entered incorrectly, your phone will conduct a factory "
484−"reset and all personal data will be deleted."
485−msgstr ""
486−"Wird das Passwort falsch eingegeben, wird das Telefon auf den Werkszustand "
487−"zurückgesetzt und alle Daten werden gelöscht."
488−
489−#: qml/Greeter/NarrowView.qml:60
490−msgid ""
491−"If passcode is entered incorrectly, your phone will conduct a factory reset "
492−"and all personal data will be deleted."
493−msgstr ""
494−"Wird die PIN falsch eingegeben, wird das Telefon auf den Werkszustand "
495−"zurückgesetzt und alle Daten werden gelöscht."
496−
497−#: qml/Greeter/NarrowView.qml:129
498−#, qt-format
499−msgid "Enter %1"
500−msgstr "%1 eingeben"
501−
502−#: qml/Greeter/NarrowView.qml:130
503−msgid "Enter passphrase"
504−msgstr "Passphrase eingeben"
505−
506−#: qml/Greeter/NarrowView.qml:131
507−msgid "Enter passcode"
508−msgstr "PIN eingeben"
509−
510−#: qml/Greeter/NarrowView.qml:135
511−#, qt-format
512−msgid "Sorry, incorrect %1"
513−msgstr "%1 falsch"
514−
515−#: qml/Greeter/NarrowView.qml:136
516−msgid "Sorry, incorrect passphrase"
517−msgstr "Das Passwort ist nicht korrekt"
518−
519−#: qml/Greeter/NarrowView.qml:137
520−msgctxt "passphrase"
521−msgid "Please re-enter"
522−msgstr "Bitte erneut eingeben"
523
473
524−#: qml/Greeter/NarrowView.qml:138
474+#: qml/Greeter/SessionsList.qml:122
525−msgid "Sorry, incorrect passcode"
475+msgid "Select desktop environment"
526−msgstr "Falsches Passwort"
476+msgstr "Arbeitsumgebung auswählen"
527
477
528#: qml/Notifications/NotificationMenuItemFactory.qml:124
478#: qml/Notifications/NotificationMenuItemFactory.qml:124
529msgid "Show password"
479msgid "Show password"
@@ -537,64 +487,64 @@ msgstr "Tippen, um zum Anruf zurückzugehen …"
537msgid "Conference"
487msgid "Conference"
538msgstr "Konferenz"
488msgstr "Konferenz"
539
489
540−#: qml/Panel/Indicators/MenuItemFactory.qml:762
490+#: qml/Panel/Indicators/MenuItemFactory.qml:847
541msgid "Nothing is playing"
491msgid "Nothing is playing"
542msgstr "Nichts wird abgespielt"
492msgstr "Nichts wird abgespielt"
543
493
544−#: qml/Panel/Indicators/MenuItemFactory.qml:891
494+#: qml/Panel/Indicators/MenuItemFactory.qml:975
545#, qt-format
495#, qt-format
546msgid "%1 hour"
496msgid "%1 hour"
547msgid_plural "%1 hours"
497msgid_plural "%1 hours"
548msgstr[0] "%1 Stunde"
498msgstr[0] "%1 Stunde"
549msgstr[1] "%1 Stunden"
499msgstr[1] "%1 Stunden"
550
500
551−#: qml/Panel/Indicators/MenuItemFactory.qml:895
501+#: qml/Panel/Indicators/MenuItemFactory.qml:979
552#, qt-format
502#, qt-format
553msgid "%1 minute"
503msgid "%1 minute"
554msgid_plural "%1 minutes"
504msgid_plural "%1 minutes"
555msgstr[0] "%1 Minute"
505msgstr[0] "%1 Minute"
556msgstr[1] "%1 Minuten"
506msgstr[1] "%1 Minuten"
557
507
558−#: qml/Panel/Indicators/MenuItemFactory.qml:900
508+#: qml/Panel/Indicators/MenuItemFactory.qml:984
559#, qt-format
509#, qt-format
560msgid "%1 second"
510msgid "%1 second"
561msgid_plural "%1 seconds"
511msgid_plural "%1 seconds"
562msgstr[0] "%1 Sekunde"
512msgstr[0] "%1 Sekunde"
563msgstr[1] "%1 Sekunden"
513msgstr[1] "%1 Sekunden"
564
514
565−#: qml/Panel/Indicators/MenuItemFactory.qml:903
515+#: qml/Panel/Indicators/MenuItemFactory.qml:987
566msgid "0 seconds"
516msgid "0 seconds"
567msgstr "0 Sekunden"
517msgstr "0 Sekunden"
568
518
569#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
519#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
570−#: qml/Panel/Indicators/MenuItemFactory.qml:905
520+#: qml/Panel/Indicators/MenuItemFactory.qml:989
571#, qt-format
521#, qt-format
572msgid "%1 remaining"
522msgid "%1 remaining"
573msgstr "%1 verbleibend"
523msgstr "%1 verbleibend"
574
524
575−#: qml/Panel/Indicators/MenuItemFactory.qml:911
525+#: qml/Panel/Indicators/MenuItemFactory.qml:995
576msgid "In queue…"
526msgid "In queue…"
577msgstr "In Warteschlange …"
527msgstr "In Warteschlange …"
578
528
579−#: qml/Panel/Indicators/MenuItemFactory.qml:915
529+#: qml/Panel/Indicators/MenuItemFactory.qml:999
580msgid "Downloading"
530msgid "Downloading"
581msgstr "Wird heruntergeladen"
531msgstr "Wird heruntergeladen"
582
532
583−#: qml/Panel/Indicators/MenuItemFactory.qml:917
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
584msgid "Paused, tap to resume"
534msgid "Paused, tap to resume"
585−msgstr "Pausiert, tippen Sie zum fortsetzen"
535+msgstr "Pausiert, tippen zum Fortsetzen"
586
536
587−#: qml/Panel/Indicators/MenuItemFactory.qml:919
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
588msgid "Canceled"
538msgid "Canceled"
589msgstr "Abgebrochen"
539msgstr "Abgebrochen"
590
540
591−#: qml/Panel/Indicators/MenuItemFactory.qml:921
541+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
592msgid "Finished"
542msgid "Finished"
593msgstr "Erledigt"
543msgstr "Erledigt"
594
544
595−#: qml/Panel/Indicators/MenuItemFactory.qml:923
545+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
596msgid "Failed, tap to retry"
546msgid "Failed, tap to retry"
597−msgstr "Fehlgeschlagen, tippen Sie zum Wiederholen"
547+msgstr "Fehlgeschlagen, tippen zum Wiederholen"
598
548
599#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
549#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
600#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
550#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
@@ -612,7 +562,7 @@ msgctxt "Button: Call back on phone"
612msgid "Call back"
562msgid "Call back"
613msgstr "Zurückrufen"
563msgstr "Zurückrufen"
614
564
615−#: qml/Stages/SideStage.qml:76
565+#: qml/Stage/SideStage.qml:76
616msgid "Drag using 3 fingers any application from one window to the other"
566msgid "Drag using 3 fingers any application from one window to the other"
617msgstr "Eine Anwendung mit 3 Fingern von einem Fenster zum anderen ziehen"
567msgstr "Eine Anwendung mit 3 Fingern von einem Fenster zum anderen ziehen"
618
568
@@ -646,40 +596,54 @@ msgctxt "Button: Go back one page in the Wizard"
646msgid "Back"
596msgid "Back"
647msgstr "Zurück"
597msgstr "Zurück"
648
598
649−#: qml/Wizard/Pages/10-welcome.qml:27
599+#: qml/Wizard/Pages/10-welcome.qml:28
650msgid "Language"
600msgid "Language"
651msgstr "Sprache"
601msgstr "Sprache"
652
602
653−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
603+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
654−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
604+#: qml/Wizard/Pages/30-wifi.qml:207 qml/Wizard/Pages/40-location.qml:271
605+#: qml/Wizard/Pages/50-timezone.qml:271 qml/Wizard/Pages/60-account.qml:65
655−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
606+#: qml/Wizard/Pages/70-passwd-type.qml:145
656#: qml/Wizard/Pages/75-report-check.qml:84
607#: qml/Wizard/Pages/75-report-check.qml:84
657−#: qml/Wizard/Pages/passcode-desktop.qml:141
608+#: qml/Wizard/Pages/passcode-desktop.qml:142
658−#: qml/Wizard/Pages/password-set.qml:141
609+#: qml/Wizard/Pages/password-set.qml:142
659msgid "Next"
610msgid "Next"
660msgstr "Weiter"
611msgstr "Weiter"
661
612
662−#: qml/Wizard/Pages/30-wifi.qml:29
613+#: qml/Wizard/Pages/20-keyboard.qml:31
614+msgid "Select Keyboard"
615+msgstr "Tastatur wählen"
616+
617+#: qml/Wizard/Pages/20-keyboard.qml:71
618+msgid "Keyboard language"
619+msgstr "Tastatursprache"
620+
621+#: qml/Wizard/Pages/20-keyboard.qml:93
622+msgid "Keyboard layout"
623+msgstr "Tastaturbelegung"
624+
625+#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
626+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
627+#: qml/Wizard/Pages/sim.qml:101
628+msgid "Skip"
629+msgstr "Überspringen"
630+
631+#: qml/Wizard/Pages/30-wifi.qml:31
663msgid "Connect to Wi‑Fi"
632msgid "Connect to Wi‑Fi"
664msgstr "Mit WLAN verbinden"
633msgstr "Mit WLAN verbinden"
665
634
666−#: qml/Wizard/Pages/30-wifi.qml:130
635+#: qml/Wizard/Pages/30-wifi.qml:132
667msgid "Connected"
636msgid "Connected"
668msgstr "Verbunden"
637msgstr "Verbunden"
669
638
670−#: qml/Wizard/Pages/30-wifi.qml:163
639+#: qml/Wizard/Pages/30-wifi.qml:165
671msgid "Available Wi-Fi networks"
640msgid "Available Wi-Fi networks"
672msgstr "Verfügbare Funknetzwerke"
641msgstr "Verfügbare Funknetzwerke"
673
642
674−#: qml/Wizard/Pages/30-wifi.qml:164
643+#: qml/Wizard/Pages/30-wifi.qml:166
675msgid "No available Wi-Fi networks"
644msgid "No available Wi-Fi networks"
676msgstr "Keine Funknetzwerke verfügbar"
645msgstr "Keine Funknetzwerke verfügbar"
677
646
678−#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
679−#: qml/Wizard/Pages/sim.qml:101
680−msgid "Skip"
681−msgstr "Überspringen"
682−
683#: qml/Wizard/Pages/40-location.qml:27
647#: qml/Wizard/Pages/40-location.qml:27
684msgid "Location Services"
648msgid "Location Services"
685msgstr "Standortdienste"
649msgstr "Standortdienste"
@@ -695,7 +659,7 @@ msgstr ""
695#: qml/Wizard/Pages/40-location.qml:105
659#: qml/Wizard/Pages/40-location.qml:105
696#, qt-format
660#, qt-format
697msgid "By selecting this option you agree to the Nokia HERE %1."
661msgid "By selecting this option you agree to the Nokia HERE %1."
698−msgstr "Mit dem Auswählen dieser Option akzeptieren Sie die Nokia HERE %1."
662+msgstr "Durch Auswahl dieser Option akzeptieren Sie die Nokia-HERE-%1."
699
663
700#: qml/Wizard/Pages/40-location.qml:106
664#: qml/Wizard/Pages/40-location.qml:106
701msgctxt "part of: Nokia HERE terms and conditions"
665msgctxt "part of: Nokia HERE terms and conditions"
@@ -712,13 +676,13 @@ msgstr "Meinen Standort nicht verwenden"
712
676
713#: qml/Wizard/Pages/40-location.qml:260
677#: qml/Wizard/Pages/40-location.qml:260
714msgid "You can change it later in System Settings."
678msgid "You can change it later in System Settings."
715−msgstr "Dies kann später in den Systemeinstellungen geändert werden."
679+msgstr "Sie können das später in den Systemeinstellungen ändern."
716
680
717−#: qml/Wizard/Pages/50-timezone.qml:29
681+#: qml/Wizard/Pages/50-timezone.qml:30
718msgid "Time Zone"
682msgid "Time Zone"
719msgstr "Zeitzone"
683msgstr "Zeitzone"
720
684
721−#: qml/Wizard/Pages/50-timezone.qml:181
685+#: qml/Wizard/Pages/50-timezone.qml:182
722msgid "Enter your city"
686msgid "Enter your city"
723msgstr "Bitte Ihre Stadt eingeben"
687msgstr "Bitte Ihre Stadt eingeben"
724
688
@@ -730,21 +694,21 @@ msgstr "Ihr Gerät personalisieren"
730msgid "Preferred Name"
694msgid "Preferred Name"
731msgstr "Bevorzugter Name"
695msgstr "Bevorzugter Name"
732
696
733−#: qml/Wizard/Pages/70-passwd-type.qml:39
697+#: qml/Wizard/Pages/70-passwd-type.qml:40
734msgid "Lock Screen"
698msgid "Lock Screen"
735msgstr "Sperrbildschirm"
699msgstr "Sperrbildschirm"
736
700
737−#: qml/Wizard/Pages/70-passwd-type.qml:101
701+#: qml/Wizard/Pages/70-passwd-type.qml:102
738msgctxt "Label: Type of security method"
702msgctxt "Label: Type of security method"
739msgid "Create new password"
703msgid "Create new password"
740msgstr "Neues Passwort erstellen"
704msgstr "Neues Passwort erstellen"
741
705
742−#: qml/Wizard/Pages/70-passwd-type.qml:103
706+#: qml/Wizard/Pages/70-passwd-type.qml:104
743msgctxt "Label: Type of security method"
707msgctxt "Label: Type of security method"
744msgid "Create passcode (numbers only)"
708msgid "Create passcode (numbers only)"
745msgstr "PIN erstellen (nur Ziffern)"
709msgstr "PIN erstellen (nur Ziffern)"
746
710
747−#: qml/Wizard/Pages/70-passwd-type.qml:105
711+#: qml/Wizard/Pages/70-passwd-type.qml:106
748msgctxt "Label: Type of security method"
712msgctxt "Label: Type of security method"
749msgid "No lock code"
713msgid "No lock code"
750msgstr "Kein Sperrcode"
714msgstr "Kein Sperrcode"
@@ -767,6 +731,37 @@ msgstr ""
767msgid "Privacy policy"
731msgid "Privacy policy"
768msgstr "Datenschutzerklärung"
732msgstr "Datenschutzerklärung"
769
733
734+#: qml/Wizard/Pages/77-system-update.qml:28
735+msgid "Update Device"
736+msgstr "Gerät aktualisieren"
737+
738+#: qml/Wizard/Pages/77-system-update.qml:55
739+msgid ""
740+"There is a system update available and ready to install. Afterwards, the "
741+"device will automatically restart."
742+msgstr ""
743+"Es ist eine Systemaktualisierung verfügbar und bereit zur Installation. "
744+"Danach wird das Gerät automatisch neu starten."
745+
746+#: qml/Wizard/Pages/77-system-update.qml:76
747+msgctxt "string identifying name of the update"
748+msgid "Ubuntu system"
749+msgstr "Ubuntu-System"
750+
751+#: qml/Wizard/Pages/77-system-update.qml:83
752+#, qt-format
753+msgctxt "version of the system update"
754+msgid "Version %1"
755+msgstr "Version %1"
756+
757+#: qml/Wizard/Pages/77-system-update.qml:102
758+msgid "This could take a few minutes..."
759+msgstr "Das kann ein paar Minuten dauern …"
760+
761+#: qml/Wizard/Pages/77-system-update.qml:116
762+msgid "Install and restart now"
763+msgstr "Jetzt installieren und neu starten"
764+
770#: qml/Wizard/Pages/80-finished.qml:89
765#: qml/Wizard/Pages/80-finished.qml:89
771msgid "Welcome to Ubuntu"
766msgid "Welcome to Ubuntu"
772msgstr "Willkommen bei Ubuntu"
767msgstr "Willkommen bei Ubuntu"
@@ -795,9 +790,9 @@ msgid ""
795"collects information about nearby cell towers and Wi-Fi hotspots around your "
790"collects information about nearby cell towers and Wi-Fi hotspots around your "
796"current location whenever your position is being found."
791"current location whenever your position is being found."
797msgstr ""
792msgstr ""
798−"Um die Standortbestimmung zu ermöglichen und zu verbessern, sammelt HERE "
793+"Zur Standortbestimmung und Verbesserung der Qualität dieser, sammelt HERE "
799−"Informationen über nahegelegene Netzwerkstationen und WLAN-Hotspots in der "
794+"Informationen über Netzwerkstationen und WLAN-Zugangspunkte in der Umgebung, "
800−"Umgebung, sobald eine Position erfasst wurde."
795+"sobald eine Position erfasst wurde."
801
796
802#: qml/Wizard/Pages/here-terms.qml:93
797#: qml/Wizard/Pages/here-terms.qml:93
803msgid ""
798msgid ""
@@ -810,14 +805,14 @@ msgstr ""
810#: qml/Wizard/Pages/here-terms.qml:106
805#: qml/Wizard/Pages/here-terms.qml:106
811#, qt-format
806#, qt-format
812msgid "By continuing, you agree to the HERE platform %1 and %2."
807msgid "By continuing, you agree to the HERE platform %1 and %2."
813−msgstr "Wenn Sie fortfahren, stimmen Sie mit den HERE %1 und %2 überein."
808+msgstr "Wenn Sie fortfahren, stimmen Sie den HERE-%1 und -%2 zu."
814
809
815#: qml/Wizard/Pages/here-terms.qml:107
810#: qml/Wizard/Pages/here-terms.qml:107
816msgid "Service Terms"
811msgid "Service Terms"
817msgstr "Bedingungen des Dienstes"
812msgstr "Bedingungen des Dienstes"
818
813
819#: qml/Wizard/Pages/passcode-confirm.qml:43
814#: qml/Wizard/Pages/passcode-confirm.qml:43
820−#: qml/Wizard/Pages/passcode-desktop.qml:96
815+#: qml/Wizard/Pages/passcode-desktop.qml:97
821msgid "Confirm passcode"
816msgid "Confirm passcode"
822msgstr "PIN bestätigen"
817msgstr "PIN bestätigen"
823
818
@@ -830,28 +825,28 @@ msgctxt "Enter the passcode again"
830msgid "Please re-enter."
825msgid "Please re-enter."
831msgstr "Bitte erneut eingeben."
826msgstr "Bitte erneut eingeben."
832
827
833−#: qml/Wizard/Pages/passcode-desktop.qml:30
828+#: qml/Wizard/Pages/passcode-desktop.qml:31
834msgid "Lock Screen Passcode"
829msgid "Lock Screen Passcode"
835msgstr "Sperrbildschirm-PIN"
830msgstr "Sperrbildschirm-PIN"
836
831
837−#: qml/Wizard/Pages/passcode-desktop.qml:60
832+#: qml/Wizard/Pages/passcode-desktop.qml:61
838msgid "Enter 4 numbers to setup your passcode"
833msgid "Enter 4 numbers to setup your passcode"
839msgstr "Geben Sie 4 Ziffern ein, um Ihre PIN einzurichten"
834msgstr "Geben Sie 4 Ziffern ein, um Ihre PIN einzurichten"
840
835
841−#: qml/Wizard/Pages/passcode-desktop.qml:76
836+#: qml/Wizard/Pages/passcode-desktop.qml:77
842#: qml/Wizard/Pages/passcode-set.qml:54
837#: qml/Wizard/Pages/passcode-set.qml:54
843msgid "Choose passcode"
838msgid "Choose passcode"
844msgstr "PIN wählen"
839msgstr "PIN wählen"
845
840
846−#: qml/Wizard/Pages/passcode-desktop.qml:126
841+#: qml/Wizard/Pages/passcode-desktop.qml:127
847msgid "Passcode too short"
842msgid "Passcode too short"
848msgstr "PIN zu kurz"
843msgstr "PIN zu kurz"
849
844
850−#: qml/Wizard/Pages/passcode-desktop.qml:128
845+#: qml/Wizard/Pages/passcode-desktop.qml:129
851msgid "Passcodes match"
846msgid "Passcodes match"
852msgstr "PINs stimmen überein"
847msgstr "PINs stimmen überein"
853
848
854−#: qml/Wizard/Pages/passcode-desktop.qml:130
849+#: qml/Wizard/Pages/passcode-desktop.qml:131
855msgid "Passcodes do not match"
850msgid "Passcodes do not match"
856msgstr "PINs stimmen nicht überein"
851msgstr "PINs stimmen nicht überein"
857
852
@@ -859,19 +854,19 @@ msgstr "PINs stimmen nicht überein"
859msgid "Passcode must be 4 characters long"
854msgid "Passcode must be 4 characters long"
860msgstr "PIN muss 4 Ziffern lang sein"
855msgstr "PIN muss 4 Ziffern lang sein"
861
856
862−#: qml/Wizard/Pages/password-set.qml:30
857+#: qml/Wizard/Pages/password-set.qml:31
863msgid "Lock Screen Password"
858msgid "Lock Screen Password"
864−msgstr "Sperrbildschirm-Passwort"
859+msgstr "Sperrbildschirmpasswort"
865
860
866−#: qml/Wizard/Pages/password-set.qml:61
861+#: qml/Wizard/Pages/password-set.qml:62
867msgid "Enter at least 8 characters"
862msgid "Enter at least 8 characters"
868−msgstr "Geben Sie mindestens 8 Zeichen ein"
863+msgstr "Bitte mindestens 8 Zeichen eingeben"
869
864
870−#: qml/Wizard/Pages/password-set.qml:73
865+#: qml/Wizard/Pages/password-set.qml:74
871msgid "Choose password"
866msgid "Choose password"
872−msgstr "Wählen Sie ein Passwort"
867+msgstr "Passwort auswählen"
873
868
874−#: qml/Wizard/Pages/password-set.qml:103
869+#: qml/Wizard/Pages/password-set.qml:104
875msgid "Confirm password"
870msgid "Confirm password"
876msgstr "Passwort bestätigen"
871msgstr "Passwort bestätigen"
877
872
@@ -1010,6 +1005,30 @@ msgstr "Sehr schwaches Passwort"
1010#~ msgid "Store"
1005#~ msgid "Store"
1011#~ msgstr "Store"
1006#~ msgstr "Store"
1012
1007
1008+#~ msgid "This will be your last attempt."
1009+#~ msgstr "Dies ist Ihr letzter Versuch."
1010+
1011+#~ msgid ""
1012+#~ "If passcode is entered incorrectly, your phone will conduct a factory reset "
1013+#~ "and all personal data will be deleted."
1014+#~ msgstr ""
1015+#~ "Wird die PIN falsch eingegeben, wird das Telefon auf den Werkszustand "
1016+#~ "zurückgesetzt und alle Daten werden gelöscht."
1017+
1018+#~ msgid ""
1019+#~ "If passphrase is entered incorrectly, your phone will conduct a factory "
1020+#~ "reset and all personal data will be deleted."
1021+#~ msgstr ""
1022+#~ "Wird das Passwort falsch eingegeben, wird das Telefon auf den Werkszustand "
1023+#~ "zurückgesetzt und alle Daten werden gelöscht."
1024+
1025+#~ msgid "Sorry, incorrect passcode."
1026+#~ msgstr "Falsche PIN"
1027+
1028+#, qt-format
1029+#~ msgid "Sorry, incorrect %1"
1030+#~ msgstr "%1 falsch"
1031+
1013#~ msgid "Log out"
1032#~ msgid "Log out"
1014#~ msgstr "Abmelden"
1033#~ msgstr "Abmelden"
1015
1034
@@ -1025,6 +1044,9 @@ msgstr "Sehr schwaches Passwort"
1025#~ msgid "Settings"
1044#~ msgid "Settings"
1026#~ msgstr "Einstellungen"
1045#~ msgstr "Einstellungen"
1027
1046
1047+#~ msgid "Sorry, incorrect passcode"
1048+#~ msgstr "Falsches Passwort"
1049+
1028#~ msgid "Are you sure you want to shut down?"
1050#~ msgid "Are you sure you want to shut down?"
1029#~ msgstr "Sind Sie sicher, dass Sie herunterfahren wollen?"
1051#~ msgstr "Sind Sie sicher, dass Sie herunterfahren wollen?"
1030
1052
@@ -1037,6 +1059,13 @@ msgstr "Sehr schwaches Passwort"
1037#~ msgid "Please re-enter"
1059#~ msgid "Please re-enter"
1038#~ msgstr "Bitte erneut eingeben"
1060#~ msgstr "Bitte erneut eingeben"
1039
1061
1062+#~ msgid "Enter passcode"
1063+#~ msgstr "PIN eingeben"
1064+
1065+#, qt-format
1066+#~ msgid "Enter %1"
1067+#~ msgstr "%1 eingeben"
1068+
1040#~ msgid "Without it, you won’t be able to make calls or use text messaging."
1069#~ msgid "Without it, you won’t be able to make calls or use text messaging."
1041#~ msgstr "Ohne SIM funktionieren Anrufe und Nachrichten nicht."
1070#~ msgstr "Ohne SIM funktionieren Anrufe und Nachrichten nicht."
1042
1071
@@ -1068,13 +1097,6 @@ msgstr "Sehr schwaches Passwort"
1068#~ msgstr ""
1097#~ msgstr ""
1069#~ "Sie können Ihre Meinung später in den <b>Systemeinstellungen</b> ändern."
1098#~ "Sie können Ihre Meinung später in den <b>Systemeinstellungen</b> ändern."
1070
1099
1071−#~ msgid ""
1072−#~ "By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
1073−#~ "conditions</a>."
1074−#~ msgstr ""
1075−#~ "Mit dem Auswählen dieser Option stimmen Sie den Nokia HERE <a "
1076−#~ "href='#'>allgemeinen Geschäftsbedingungen</a> zu."
1077−
1078#~ msgid "Not at all"
1100#~ msgid "Not at all"
1079#~ msgstr "Gar nicht"
1101#~ msgstr "Gar nicht"
1080
1102
@@ -1222,6 +1244,9 @@ msgstr "Sehr schwaches Passwort"
1222#~ msgid "Reboot"
1244#~ msgid "Reboot"
1223#~ msgstr "Neustarten"
1245#~ msgstr "Neustarten"
1224
1246
1247+#~ msgid "Enter passphrase"
1248+#~ msgstr "Passphrase eingeben"
1249+
1225#~ msgid "%a %H:%M"
1250#~ msgid "%a %H:%M"
1226#~ msgstr "%a %k:%M"
1251#~ msgstr "%a %k:%M"
1227
1252
@@ -1252,6 +1277,10 @@ msgstr "Sehr schwaches Passwort"
1252#~ msgid "%l:%M %p"
1277#~ msgid "%l:%M %p"
1253#~ msgstr "%k:%M"
1278#~ msgstr "%k:%M"
1254
1279
1280+#~ msgctxt "passphrase"
1281+#~ msgid "Please re-enter"
1282+#~ msgstr "Bitte erneut eingeben"
1283+
1255#~ msgid "Call back"
1284#~ msgid "Call back"
1256#~ msgstr "Zurückrufen"
1285#~ msgstr "Zurückrufen"
1257
1286
@@ -1289,3 +1318,16 @@ msgstr "Sehr schwaches Passwort"
1289#~ msgid "Swipe from the top edge to open the notification bar"
1318#~ msgid "Swipe from the top edge to open the notification bar"
1290#~ msgstr ""
1319#~ msgstr ""
1291#~ "Vom oberen Rand her wischen, um die Benachrichtigungsleiste zu öffnen"
1320#~ "Vom oberen Rand her wischen, um die Benachrichtigungsleiste zu öffnen"
1321+
1322+#~ msgid "Sorry, incorrect passphrase"
1323+#~ msgstr "Falsche Passphrase."
1324+
1325+#~ msgid "Sorry, incorrect passphrase."
1326+#~ msgstr "Falsche Passphrase."
1327+
1328+#~ msgid ""
1329+#~ "By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
1330+#~ "conditions</a>."
1331+#~ msgstr ""
1332+#~ "Mit dem Auswählen dieser Option stimmen Sie den <a href='#'>allgemeinen "
1333+#~ "Geschäftsbedingungen</a> von HERE zu."
po/el.po+258−206

This diff is too big to show here.

po/en_AU.po+211−171

This diff is too big to show here.

po/en_GB.po+258−216

This diff is too big to show here.

po/eo.po+164−167

This diff is too big to show here.

po/es.po+219−177

This diff is too big to show here.

po/eu.po+214−174

This diff is too big to show here.

po/fa.po+218−176

This diff is too big to show here.

po/fi.po+219−177

This diff is too big to show here.

po/fo.po+181−170

This diff is too big to show here.

po/fr.po+225−183

This diff is too big to show here.

po/ga.po+212−172

This diff is too big to show here.

po/gd.po+275−228

This diff is too big to show here.

po/gl.po+215−173

This diff is too big to show here.

po/gv.po+168−171

This diff is too big to show here.

po/he.po+179−167

This diff is too big to show here.

po/hi.po+162−165

This diff is too big to show here.

po/hr.po+266−224

This diff is too big to show here.

po/hu.po+216−174

This diff is too big to show here.

po/hy.po+196−170

This diff is too big to show here.

po/ia.po+223−181

This diff is too big to show here.

po/id.po+208−172

This diff is too big to show here.

po/is.po+211−175

This diff is too big to show here.

po/it.po+270−226

This diff is too big to show here.

po/ja.po+203−167

This diff is too big to show here.

po/km.po+198−172

This diff is too big to show here.

po/kn.po+162−165

This diff is too big to show here.

po/ko.po+208−168

This diff is too big to show here.

po/ku.po+195−169

This diff is too big to show here.

po/ky.po+162−165

This diff is too big to show here.

po/lo.po+162−165

This diff is too big to show here.

po/lt.po+162−165

This diff is too big to show here.

po/lv.po+212−172

This diff is too big to show here.

po/ml.po+162−165

This diff is too big to show here.

po/mr.po+162−165

This diff is too big to show here.

po/ms.po+213−173

This diff is too big to show here.

po/my.po+163−166

This diff is too big to show here.

po/nb.po+224−182

This diff is too big to show here.

po/ne.po+163−166

This diff is too big to show here.

po/nl.po+342−286

This diff is too big to show here.

po/nn.po+162−165

This diff is too big to show here.

po/oc.po+322−277

This diff is too big to show here.

po/or.po+162−165

This diff is too big to show here.

po/pa.po+207−171

This diff is too big to show here.

po/pl.po+247−203

This diff is too big to show here.

po/pt.po+223−181

This diff is too big to show here.

po/pt_BR.po+213−173

This diff is too big to show here.

po/ro.po+213−177

This diff is too big to show here.

po/ru.po+261−218

This diff is too big to show here.

po/shn.po+162−165

This diff is too big to show here.

po/si.po+162−165

This diff is too big to show here.

po/sk.po+223−181

This diff is too big to show here.

po/sl.po+232−192

This diff is too big to show here.

po/sq.po+179−167

This diff is too big to show here.

po/sr.po+265−222

This diff is too big to show here.

po/sv.po+221−179

This diff is too big to show here.

po/sw.po+209−173

This diff is too big to show here.

po/ta.po+162−165

This diff is too big to show here.

po/te.po+162−165

This diff is too big to show here.

po/th.po+162−165

This diff is too big to show here.

po/tr.po+347−288

This diff is too big to show here.

po/ug.po+210−170

This diff is too big to show here.

po/uk.po+277−227

This diff is too big to show here.

po/unity8.pot+161−164

This diff is too big to show here.

po/ur.po+162−165

This diff is too big to show here.

po/uz.po+162−165

This diff is too big to show here.

po/vi.po+162−165

This diff is too big to show here.

po/wo.po+211−171

This diff is too big to show here.

po/xh.po+162−165

This diff is too big to show here.

po/zh_CN.po+208−168

This diff is too big to show here.

po/zh_HK.po+162−165

This diff is too big to show here.

po/zh_TW.po+208−168

This diff is too big to show here.

qml/CMakeLists.txt+1−1

This diff is too big to show here.

qml/Components/BlurLayer.qml+10−40

This diff is too big to show here.

qml/Components/BrightnessControl.qmlnew file+54

This diff is too big to show here.

qml/Components/Carousel.qml+1−2

This diff is too big to show here.

qml/Components/Dialogs.qml+7−2

This diff is too big to show here.

qml/Components/EdgeBarrier.qml+2

This diff is too big to show here.

qml/Components/Flickable.qmlnew file+24

This diff is too big to show here.

qml/Components/FloatingFlickable.qml+4

This diff is too big to show here.

qml/Components/GridView.qmlnew file+24

This diff is too big to show here.

qml/Components/InputMethod.qml+1−1

This diff is too big to show here.

qml/Components/KeymapSwitcher.qml+27−1

This diff is too big to show here.

qml/Components/LazyImage.qml+2

This diff is too big to show here.

qml/Components/ListItems/graphics/ListItemDividerHorizontal@18.pngdeleted

Binary file not shown.

qml/Components/ListView.qmlnew file+24

This diff is too big to show here.

qml/Components/Lockscreen.qml+1−28

This diff is too big to show here.

qml/Components/NotificationAudio.qml+20−3

This diff is too big to show here.

qml/Components/PanelState/PanelState.qml−1

This diff is too big to show here.

qml/Components/PassphraseLockscreen.qml−4

This diff is too big to show here.

qml/Components/PinLockscreen.qml−4

This diff is too big to show here.

qml/Components/ResponsiveGridView.qml+1

This diff is too big to show here.

qml/Components/VolumeControl.qml+3−3

This diff is too big to show here.

qml/Components/Wallpaper.qmlnew file+44

This diff is too big to show here.

qml/Components/WallpaperResolver.qml+24−38

This diff is too big to show here.

qml/Components/WindowControlButtons.qml+7−5

This diff is too big to show here.

qml/Components/ZoomableImage.qml+1−1

This diff is too big to show here.

qml/Components/flickableUtils.jsnew file+28

This diff is too big to show here.

qml/Dash/CardCarousel.qml+1−1

This diff is too big to show here.

qml/Dash/CardGrid.qml+4−4

This diff is too big to show here.

qml/Dash/CardTool.qml+74−18

This diff is too big to show here.

qml/Dash/Dash.qml+1−1

This diff is too big to show here.

qml/Dash/DashBackground.qml+2−11

This diff is too big to show here.

qml/Dash/DashContent.qml−2

This diff is too big to show here.

qml/Dash/DashNavigation.qml+1

This diff is too big to show here.

qml/Dash/DashNavigationList.qml+48−45

This diff is too big to show here.

qml/Dash/DashPageHeader.qml+67−71

This diff is too big to show here.

qml/Components/ListItems/Header.qml → qml/Dash/DashSectionHeader.qmlrenamed+21−21

This diff is too big to show here.

qml/Dash/Filters/FilterExpandableWidget.qml+1

This diff is too big to show here.

qml/Dash/Filters/FilterOptionSelector.qml+2

This diff is too big to show here.

qml/Dash/FiltersPopover.qml+1

This diff is too big to show here.

qml/Dash/GenericScopeView.qml+16−74

This diff is too big to show here.

qml/Dash/PageHeaderExtraPanel.qml+12−11

This diff is too big to show here.

qml/Dash/Previews/Preview.qml+19−7

This diff is too big to show here.

qml/Dash/Previews/PreviewActionCombo.qml+13−2

This diff is too big to show here.

qml/Dash/Previews/PreviewActions.qml+3−2

This diff is too big to show here.

qml/Dash/Previews/PreviewAudioPlayback.qml+10−9

This diff is too big to show here.

qml/Dash/Previews/PreviewComment.qml+3

This diff is too big to show here.

qml/Dash/Previews/PreviewCommentInput.qml+15

This diff is too big to show here.

qml/Dash/Previews/PreviewHeader.qml+5−3

This diff is too big to show here.

qml/Dash/Previews/PreviewIconActions.qml+1

This diff is too big to show here.

qml/Dash/Previews/PreviewInlineVideo.qml+48−1

This diff is too big to show here.

qml/Dash/Previews/PreviewProgress.qml+7−4

This diff is too big to show here.

qml/Dash/Previews/PreviewRatingInput.qml+28−1

This diff is too big to show here.

qml/Dash/Previews/PreviewRatingSingleDisplay.qml+12−9

This diff is too big to show here.

qml/Components/ListItems/ThinDivider.qml → qml/Dash/Previews/PreviewSingleton/PreviewSingleton.qmlrenamed+5−10

This diff is too big to show here.

qml/Dash/Previews/PreviewSingleton/qmldirnew file+1

This diff is too big to show here.

qml/Dash/Previews/PreviewTable.qml+8−2

This diff is too big to show here.

qml/Dash/Previews/PreviewTextSummary.qml+7−2

This diff is too big to show here.

qml/Dash/Previews/PreviewVideoPlayback.qml+1−1

This diff is too big to show here.

qml/Dash/Previews/PreviewWidget.qml+2−2

This diff is too big to show here.

qml/Dash/Previews/PreviewWidgetFactory.qml+2−2

This diff is too big to show here.

qml/Dash/Previews/PreviewZoomableImage.qml+1−1

This diff is too big to show here.

qml/Dash/PullToRefreshScopeStyle.qml+1

This diff is too big to show here.

qml/Dash/ScopeListView.qml+4−2

This diff is too big to show here.

qml/Dash/ScopesList.qml+2

This diff is too big to show here.

qml/Dash/ScopesListCategory.qml+3−2

This diff is too big to show here.

qml/Dash/ScopesListCategoryItem.qml+1

This diff is too big to show here.

qml/Dash/graphics/dash_divider_top_darkgrad@27.pngdeleted

Binary file not shown.

qml/Dash/graphics/dash_divider_top_lightgrad@27.pngdeleted

Binary file not shown.

qml/Dash/graphics/navigation_shadow@18.pngdeleted

Binary file not shown.

qml/Dash/graphics/navigation_shadow_light@18.pngdeleted

Binary file not shown.

qml/Dash/graphics/overview_hint@27.pngdeleted

Binary file not shown.

qml/Dash/graphics/overview_hint@30.pngnew file

Binary file not shown.

qml/Dash/graphics/pagination_dot_off@30.pngdeleted

Binary file not shown.

qml/Dash/graphics/pagination_dot_on@30.pngdeleted

Binary file not shown.

qml/Dash/graphics/paper.pngdeleted

Binary file not shown.

qml/Dash/graphics/rectangular_dropshadow@30.pngnew file

Binary file not shown.

qml/Dash/graphics/rectangular_dropshadow@30.scinew file+5

This diff is too big to show here.

qml/Greeter/Circle.qmlnew file+57

This diff is too big to show here.

qml/Greeter/Clock.qml−2

This diff is too big to show here.

qml/Greeter/CoverPage.qml+6−6

This diff is too big to show here.

qml/Components/DelayedLockscreen.qml → qml/Greeter/DelayedLockscreen.qmlrenamed+6−15

This diff is too big to show here.

qml/Greeter/FullLightDMImpl.qml+2

This diff is too big to show here.

qml/Greeter/Greeter.qml+69−27

This diff is too big to show here.

qml/Greeter/GreeterPrompt.qml+40−9

This diff is too big to show here.

qml/Greeter/Infographics.qml+44−23

This diff is too big to show here.

qml/Greeter/IntegratedLightDMImpl.qml+2−1

This diff is too big to show here.

qml/Greeter/LightDMService.qml+2

This diff is too big to show here.

qml/Components/UbuntuShapeForItem.qml → qml/Greeter/LoginAreaContainer.qmlrenamed+14−23

This diff is too big to show here.

qml/Greeter/LoginList.qml+96−22

This diff is too big to show here.

qml/Greeter/NarrowView.qml+147−61

This diff is too big to show here.

qml/Greeter/SessionIcon.qmlnew file+47

This diff is too big to show here.

qml/Greeter/SessionsList.qmlnew file+187

This diff is too big to show here.

qml/Greeter/WideView.qml+109−38

This diff is too big to show here.

qml/Greeter/graphics/infographic_circle_back.pngdeleted

Binary file not shown.

qml/Greeter/graphics/session_icons/gnome_badge.pngnew file

Binary file not shown.

qml/Greeter/graphics/session_icons/kde_badge.pngnew file

Binary file not shown.

qml/Greeter/graphics/session_icons/recovery_console_badge.pngnew file

Binary file not shown.

qml/Greeter/graphics/session_icons/ubuntu_badge.pngnew file

Binary file not shown.

qml/Greeter/graphics/session_icons/unknown_badge.pngnew file

Binary file not shown.

qml/Launcher/Launcher.qml+1

This diff is too big to show here.

qml/Launcher/LauncherDelegate.qml+1

This diff is too big to show here.

qml/Launcher/LauncherPanel.qml+89−9

This diff is too big to show here.

qml/Launcher/Tooltip.qmlnew file+72

This diff is too big to show here.

qml/Notifications/Notification.qml+14−30

This diff is too big to show here.

qml/Notifications/NotificationMenuItemFactory.qml−3

This diff is too big to show here.

qml/Notifications/Notifications.qml+14−25

This diff is too big to show here.

qml/Notifications/ShapedIcon.qml+1

This diff is too big to show here.

qml/OrientedShell.qml+10−3

This diff is too big to show here.

qml/Panel/IndicatorItemRow.qml+13−2

This diff is too big to show here.

qml/Panel/IndicatorPage.qml+1

This diff is too big to show here.

qml/Panel/Indicators/MenuItemFactory.qml+161−88

This diff is too big to show here.

qml/Panel/Indicators/client/IndicatorRepresentation.qml+27−23

This diff is too big to show here.

qml/Panel/Indicators/client/IndicatorsClient.qml+1−1

This diff is too big to show here.

qml/Panel/Indicators/client/IndicatorsList.qml+19−24

This diff is too big to show here.

qml/Panel/Indicators/client/IndicatorsTree.qml+6−8

This diff is too big to show here.

qml/Panel/Panel.qml+11−15

This diff is too big to show here.

qml/Rotation/RotationStates.qml−6

This diff is too big to show here.

qml/Shell.qml+169−177

This diff is too big to show here.

qml/Stages/AbstractStage.qml → qml/Stage/AbstractStage.qmlrenamed

The content is the same.

qml/Stages/ApplicationWindow.qml → qml/Stage/ApplicationWindow.qmlrenamed+20−37

This diff is too big to show here.

qml/Stage/DecoratedWindow.qmlnew file+266

This diff is too big to show here.

qml/Stages/DesktopSpread.qml → qml/Stage/DesktopSpread.qmlrenamed

The content is the same.

qml/Stages/DesktopSpreadDelegate.qml → qml/Stage/DesktopSpreadDelegate.qmlrenamed

The content is the same.

qml/Stage/FakeMaximizeDelegate.qmlnew file+233

This diff is too big to show here.

qml/Stages/MainViewStyle.qml → qml/Stage/MainViewStyle.qmlrenamed

The content is the same.

qml/Stage/MoveHandler.qmlnew file+188

This diff is too big to show here.

qml/Stages/OrientationChangeAnimation.qml → qml/Stage/OrientationChangeAnimation.qmlrenamed

The content is the same.

qml/Stages/PhoneStage.qml → qml/Stage/PhoneStage.qmlrenamed

The content is the same.

qml/Stages/PromptSurfaceAnimations.qml → qml/Stage/PromptSurfaceAnimations.qmlrenamed+2−3

This diff is too big to show here.

qml/Stages/ResizeGrip.qml → qml/Stage/ResizeGrip.qmlrenamed

The content is the same.

qml/Stages/SideStage.qml → qml/Stage/SideStage.qmlrenamed

The content is the same.

qml/Stages/Splash.qml → qml/Stage/Splash.qmlrenamed+3−6

This diff is too big to show here.

qml/Stage/Spread/BezierCurve.qmlnew file+45

This diff is too big to show here.

qml/Stage/Spread/KeySpline.jsnew file+66

This diff is too big to show here.

qml/Stage/Spread/MathUtils.jsnew file+95

This diff is too big to show here.

qml/Stage/Spread/OpacityMask.qmlnew file+82

This diff is too big to show here.

qml/Stage/Spread/Spread.qmlnew file+162

This diff is too big to show here.

qml/Stage/Spread/SpreadDelegateInputArea.qmlnew file+189

This diff is too big to show here.

qml/Stage/Spread/SpreadMaths.qmlnew file+78

This diff is too big to show here.

qml/Stage/Spread/StagedRightEdgeMaths.qmlnew file+174

This diff is too big to show here.

qml/Stage/Spread/WindowedRightEdgeMaths.qmlnew file+81

This diff is too big to show here.

qml/Stage/Spread/cubic-bezier.jsnew file+39

This diff is too big to show here.

qml/Stages/SpreadDelegate.qml → qml/Stage/SpreadDelegate.qmlrenamed

The content is the same.

qml/Stages/SpreadMaths.qml → qml/Stage/SpreadMaths.qmlrenamed

The content is the same.

qml/Stage/Stage.qmlnew file+1963

This diff is too big to show here.

qml/Stage/StageMaths.qmlnew file+79

This diff is too big to show here.

qml/Stages/StagedFullscreenPolicy.qml → qml/Stage/StagedFullscreenPolicy.qmlrenamed

The content is the same.

qml/Stages/SurfaceContainer.qml → qml/Stage/SurfaceContainer.qmlrenamed+5−52

This diff is too big to show here.

qml/Stages/TabletSideStageTouchGesture.qml → qml/Stage/TabletSideStageTouchGesture.qmlrenamed

The content is the same.

qml/Stages/TabletStage.qml → qml/Stage/TabletStage.qmlrenamed

The content is the same.

qml/Stages/TopLevelSurfaceRepeater.qml → qml/Stage/TopLevelSurfaceRepeater.qmlrenamed+16−1

This diff is too big to show here.

qml/Stages/TransformedSpreadDelegate.qml → qml/Stage/TransformedSpreadDelegate.qmlrenamed

The content is the same.

qml/Stages/TransformedTabletSpreadDelegate.qml → qml/Stage/TransformedTabletSpreadDelegate.qmlrenamed

The content is the same.

qml/Stages/WindowControlsOverlay.qml → qml/Stage/WindowControlsOverlay.qmlrenamed+76−38

This diff is too big to show here.

qml/Stages/WindowDecoration.qml → qml/Stage/WindowDecoration.qmlrenamed+10−42

This diff is too big to show here.

qml/Stage/WindowInfoItem.qmlnew file+53

This diff is too big to show here.

qml/Stages/WindowResizeArea.qml → qml/Stage/WindowResizeArea.qmlrenamed+45−55

This diff is too big to show here.

qml/Stages/WindowedFullscreenPolicy.qml → qml/Stage/WindowedFullscreenPolicy.qmlrenamed

The content is the same.

qml/Stages/graphics/PageHeaderBaseDividerBottom@18.png → qml/Stage/graphics/PageHeaderBaseDividerBottom@18.pngrenamed

Binary file not shown.

qml/Stages/graphics/PageHeaderBaseDividerLight@18.png → qml/Stage/graphics/PageHeaderBaseDividerLight@18.pngrenamed

Binary file not shown.

qml/Stages/graphics/PageHeaderBaseDividerLight@18.sci → qml/Stage/graphics/PageHeaderBaseDividerLight@18.scirenamed

The content is the same.

qml/Stages/graphics/arrows-centre.png → qml/Stage/graphics/arrows-centre.pngrenamed

Binary file not shown.

qml/Stages/graphics/arrows.png → qml/Stage/graphics/arrows.pngrenamed

Binary file not shown.

qml/Stages/graphics/sidestage_drag.svg → qml/Stage/graphics/sidestage_drag.svgrenamed

The content is the same.

qml/Stages/graphics/sidestage_handle@20.png → qml/Stage/graphics/sidestage_handle@20.pngrenamed

Binary file not shown.

qml/Stages/graphics/sidestage_handle@20.sci → qml/Stage/graphics/sidestage_handle@20.scirenamed

The content is the same.

qml/Stages/graphics/sidestage_open.svg → qml/Stage/graphics/sidestage_open.svgrenamed

The content is the same.

qml/Stages/graphics/window-close.svg → qml/Stage/graphics/window-close.svgrenamed

The content is the same.

qml/Stages/DecoratedWindow.qmldeleted−136

This diff is too big to show here.

qml/Stages/DesktopStage.qmldeleted−750

This diff is too big to show here.

qml/Tutorial/TutorialRight.qml+1−1

This diff is too big to show here.

qml/Wizard/Page.qml+1−1

This diff is too big to show here.

qml/Wizard/Pages/10-welcome.qml+3−1

This diff is too big to show here.

qml/Wizard/Pages/20-keyboard.qmlnew file+161

This diff is too big to show here.

qml/Wizard/Pages/30-wifi.qml+11−5

This diff is too big to show here.

qml/Wizard/Pages/50-timezone.qml+1

This diff is too big to show here.

qml/Wizard/Pages/70-passwd-type.qml+1

This diff is too big to show here.

qml/Wizard/Pages/77-system-update.qmlnew file+156

This diff is too big to show here.

qml/Wizard/Pages/passcode-confirm.qml+2−2

This diff is too big to show here.

qml/Wizard/Pages/passcode-desktop.qml+1

This diff is too big to show here.

qml/Wizard/Pages/passcode-set.qml+2−2

This diff is too big to show here.

qml/Wizard/Pages/password-set.qml+1

This diff is too big to show here.

qml/Wizard/WizardItemSelector.qmlnew file+129

This diff is too big to show here.

qml/Stages/graphics/dropshadow2gu@30.png → qml/graphics/dropshadow2gu@30.pngrenamed

Binary file not shown.

qml/Stages/graphics/dropshadow2gu@30.sci → qml/graphics/dropshadow2gu@30.scirenamed

The content is the same.

qml/graphics/phone_background.jpgdeleted

Binary file not shown.

qml/graphics/tablet_background.jpgdeleted

Binary file not shown.

run.shdeleted−70

This diff is too big to show here.

run_on_device.shdeleted−164

This diff is too big to show here.

src/Dash/main.cpp+10−2

This diff is too big to show here.

src/Panel/Indicators/client/indicatorsclient.cpp+10−8

This diff is too big to show here.

src/Panel/Indicators/client/indicatorsclient.h−2

This diff is too big to show here.

src/SecondaryWindow.cpp+1−1

This diff is too big to show here.

src/ShellApplication.cpp+1−1

This diff is too big to show here.

src/main.cpp+11−2

This diff is too big to show here.

tests/CMakeLists.txt+8−13

This diff is too big to show here.

tests/autopilot/unity8/dash.py+3−3

This diff is too big to show here.

tests/autopilot/unity8/greeter/__init__.py+1−1

This diff is too big to show here.

tests/autopilot/unity8/shell/__init__.py+2

This diff is too big to show here.

tests/autopilot/unity8/shell/tests/__init__.py+4−1

This diff is too big to show here.

tests/autopilot/unity8/shell/tests/test_helpers.py+2−1

This diff is too big to show here.

tests/autopilot/unity8/shell/tests/test_notifications.py+9−9

This diff is too big to show here.

tests/graphics/applicationIcons/dash.png → tests/graphics/applicationIcons/dash@18.pngrenamed

Binary file not shown.

tests/imports/check_imports.py+58

This diff is too big to show here.

tests/mocks/AccountsService/AccountsService.cpp+19−3

This diff is too big to show here.

tests/mocks/AccountsService/AccountsService.h+4−1

This diff is too big to show here.

tests/mocks/AccountsService/CMakeLists.txt+14

This diff is too big to show here.

tests/mocks/CMakeLists.txt+1

This diff is too big to show here.

tests/mocks/Cursor/CMakeLists.txt+1−1

This diff is too big to show here.

tests/mocks/Cursor/Cursor.qml+12−1

This diff is too big to show here.

tests/mocks/GSettings.1.0/fake_gsettings.cpp+66

This diff is too big to show here.

tests/mocks/GSettings.1.0/fake_gsettings.h+18

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/MockSessionsModel.cpp+29

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/MockSessionsModel.h+12−2

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/MockUsersModel.cpp+5

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/MockUsersModel.h+2

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/liblightdm/CMakeLists.txt+2−1

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/liblightdm/Greeter.cpp−5

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/liblightdm/Greeter.h−2

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/liblightdm/SessionsModel.cpp+22

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/liblightdm/SessionsModel.h+3−3

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/liblightdm/SessionsModelPrivate.cpp+27−17

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/liblightdm/SessionsModelPrivate.h+5−1

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/liblightdm/UsersModelPrivate.cpp+15−1

This diff is too big to show here.

tests/mocks/LightDM/IntegratedLightDM/plugin.cpp+1−1

This diff is too big to show here.

tests/mocks/QtMultimedia/mediaplayer.cpp+1

This diff is too big to show here.

tests/mocks/QtMultimedia/mediaplayer.h+1

This diff is too big to show here.

tests/mocks/SessionBroadcast/CMakeLists.txtnew file+8

This diff is too big to show here.

tests/mocks/SessionBroadcast/SessionBroadcast.cppnew file+34

This diff is too big to show here.

tests/mocks/SessionBroadcast/SessionBroadcast.hnew file+39

This diff is too big to show here.

tests/mocks/SessionBroadcast/plugin.cppnew file+31

This diff is too big to show here.

tests/mocks/SessionBroadcast/plugin.hnew file+32

This diff is too big to show here.

tests/mocks/SessionBroadcast/qmldirnew file+2

This diff is too big to show here.

tests/mocks/Ubuntu/DownloadDaemonListener/MockDownloadTracker.cpp+3−1

This diff is too big to show here.

tests/mocks/Ubuntu/DownloadDaemonListener/MockDownloadTracker.h+2−1

This diff is too big to show here.

tests/mocks/Ubuntu/SystemImage/MockSystemImage.cpp+24−1

This diff is too big to show here.

tests/mocks/Ubuntu/SystemImage/MockSystemImage.h+22−2

This diff is too big to show here.

tests/mocks/Ubuntu/Telephony/MockTelepathyHelper.cpp+27

This diff is too big to show here.

tests/mocks/Ubuntu/Telephony/MockTelepathyHelper.h+22

This diff is too big to show here.

tests/mocks/Unity/Application/ApplicationInfo.cpp+1−9

This diff is too big to show here.

tests/mocks/Unity/Application/ApplicationInfo.h−4

This diff is too big to show here.

tests/mocks/Unity/Application/ApplicationManager.cpp+2−10

This diff is too big to show here.

tests/mocks/Unity/Application/CMakeLists.txt+1

This diff is too big to show here.

tests/mocks/Unity/Application/MirMock.cppnew file+49

This diff is too big to show here.

tests/mocks/Unity/Application/MirMock.hnew file+39

This diff is too big to show here.

tests/mocks/Unity/Application/MirSurface.cpp+6

This diff is too big to show here.

tests/mocks/Unity/Application/MirSurface.h+4

This diff is too big to show here.

tests/mocks/Unity/Application/MirSurfaceItem.cpp+50−10

This diff is too big to show here.

tests/mocks/Unity/Application/MirSurfaceItem.h+2

This diff is too big to show here.

tests/mocks/Unity/Application/MirSurfaceListModel.cpp−1

This diff is too big to show here.

tests/mocks/Unity/Application/VirtualKeyboard.cpp+9−7

This diff is too big to show here.

tests/mocks/Unity/Application/plugin.cpp+11−2

This diff is too big to show here.

tests/mocks/Unity/Application/resources/MirSurfaceItem.qml+2−5

This diff is too big to show here.

tests/mocks/Unity/Indicators/CMakeLists.txt+1

This diff is too big to show here.

tests/mocks/Unity/Indicators/IndicatorsModel.qml+71−6

This diff is too big to show here.

tests/mocks/Unity/Indicators/fakeindicatorsmodeldata.jsnew file+1311

This diff is too big to show here.

tests/mocks/Unity/Indicators/fakeplugin.cpp+2

This diff is too big to show here.

tests/mocks/Unity/Launcher/CMakeLists.txt+1−1

This diff is too big to show here.

tests/mocks/Unity/Launcher/MockQuickListModel.cpp+2

This diff is too big to show here.

tests/mocks/Unity/Notifications/MockNotification.cpp+15

This diff is too big to show here.

tests/mocks/Unity/Notifications/MockNotification.h+5

This diff is too big to show here.

tests/mocks/Unity/Notifications/MockNotificationModel.cpp+4−6

This diff is too big to show here.

tests/mocks/Unity/Notifications/MockNotificationModel.h+2−4

This diff is too big to show here.

tests/mocks/Unity/Screens/CMakeLists.txt+1−1

This diff is too big to show here.

tests/mocks/Unity/fake_categories.cpp+4

This diff is too big to show here.

tests/mocks/Unity/fake_previewmodel.cpp+15−7

This diff is too big to show here.

tests/mocks/Unity/fake_previewwidgetmodel.cpp+18−10

This diff is too big to show here.

tests/mocks/Utils/CMakeLists.txt+1

This diff is too big to show here.

tests/mocks/Utils/URLDispatcher.cppnew file+38

This diff is too big to show here.

tests/mocks/Utils/URLDispatcher.hnew file+47

This diff is too big to show here.

tests/mocks/Utils/constants.cpp+2−1

This diff is too big to show here.

tests/mocks/Utils/constants.h+5−5

This diff is too big to show here.

tests/mocks/Utils/plugin.cpp+2

This diff is too big to show here.

tests/mocks/Utils/windowstatestorage.cpp+2−2

This diff is too big to show here.

tests/mocks/Utils/windowstatestorage.h+8−3

This diff is too big to show here.

tests/mocks/Wizard/CMakeLists.txt+6−3

This diff is too big to show here.

tests/mocks/Wizard/MockSystem.cpp+8

This diff is too big to show here.

tests/mocks/Wizard/MockSystem.h+4

This diff is too big to show here.

tests/mocks/Wizard/mockplugin.cpp+2

This diff is too big to show here.

tests/mocks/libusermetrics/UserMetrics.cpp+33−13

This diff is too big to show here.

tests/mocks/libusermetrics/UserMetrics.h+2

This diff is too big to show here.

tests/plugins/CMakeLists.txt+2

This diff is too big to show here.

tests/plugins/Cursor/tst_Cursor.qml+8−1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/1.res+20−22

This diff is too big to show here.

tests/plugins/Dash/cardcreator/1.res.cardcreator+9−22

This diff is too big to show here.

tests/plugins/Dash/cardcreator/1.tst+1−1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/10.res+4−5

This diff is too big to show here.

tests/plugins/Dash/cardcreator/10.res.cardcreator+4−4

This diff is too big to show here.

tests/plugins/Dash/cardcreator/11.res+23−25

This diff is too big to show here.

tests/plugins/Dash/cardcreator/11.res.cardcreator+10−23

This diff is too big to show here.

tests/plugins/Dash/cardcreator/12.res+19−21

This diff is too big to show here.

tests/plugins/Dash/cardcreator/12.res.cardcreator+8−21

This diff is too big to show here.

tests/plugins/Dash/cardcreator/2.res+4−5

This diff is too big to show here.

tests/plugins/Dash/cardcreator/2.res.cardcreator+4−4

This diff is too big to show here.

tests/plugins/Dash/cardcreator/3.res+9−13

This diff is too big to show here.

tests/plugins/Dash/cardcreator/3.res.cardcreator+8−13

This diff is too big to show here.

tests/plugins/Dash/cardcreator/4.res+12−11

This diff is too big to show here.

tests/plugins/Dash/cardcreator/4.res.cardcreator+4−12

This diff is too big to show here.

tests/plugins/Dash/cardcreator/5.res+12−16

This diff is too big to show here.

tests/plugins/Dash/cardcreator/5.res.cardcreator+10−15

This diff is too big to show here.

tests/plugins/Dash/cardcreator/6.res+12−11

This diff is too big to show here.

tests/plugins/Dash/cardcreator/6.res.cardcreator+4−12

This diff is too big to show here.

tests/plugins/Dash/cardcreator/6.tst+1−1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/7.res+4−5

This diff is too big to show here.

tests/plugins/Dash/cardcreator/7.res.cardcreator+4−4

This diff is too big to show here.

tests/plugins/Dash/cardcreator/8.res+12−11

This diff is too big to show here.

tests/plugins/Dash/cardcreator/8.res.cardcreator+4−12

This diff is too big to show here.

tests/plugins/Dash/cardcreator/8.tst+1−1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/9.res+13−12

This diff is too big to show here.

tests/plugins/Dash/cardcreator/9.res.cardcreator+4−12

This diff is too big to show here.

tests/plugins/Dash/cardcreator/9.tst+1−1

This diff is too big to show here.

tests/plugins/Dash/listviewwithpageheadersectionexternalmodeltest.cpp+3−3

This diff is too big to show here.

tests/plugins/Dash/listviewwithpageheadersectiontest.cpp+54−54

This diff is too big to show here.

tests/plugins/Dash/listviewwithpageheadertest.cpp+30

This diff is too big to show here.

tests/plugins/Dash/verticaljournaltest.cpp+62

This diff is too big to show here.

tests/plugins/Greeter/Unity/Launcher/CMakeLists.txt+1−2

This diff is too big to show here.

tests/plugins/ImageCache/CMakeLists.txtnew file+20

This diff is too big to show here.

tests/plugins/ImageCache/graphics/wide.jpgnew file

Binary file not shown.

tests/plugins/ImageCache/test.cppnew file+214

This diff is too big to show here.

qml/Components/Circle.qml → tests/plugins/ImageCache/test.qmlrenamed+6−5

This diff is too big to show here.

tests/plugins/LightDM/IntegratedLightDM/CMakeLists.txt+5−8

This diff is too big to show here.

tests/plugins/LightDM/IntegratedLightDM/sessionsmodel.cpp+32

This diff is too big to show here.

tests/plugins/LightDM/IntegratedLightDM/usersmodel.cpp+2−2

This diff is too big to show here.

tests/plugins/SessionBroadcast/BroadcastServer.cppnew file+33

This diff is too big to show here.

tests/plugins/SessionBroadcast/BroadcastServer.hnew file+40

This diff is too big to show here.

tests/plugins/SessionBroadcast/CMakeLists.txtnew file+51

This diff is too big to show here.

tests/plugins/SessionBroadcast/interfaces.xmlnew file+18

This diff is too big to show here.

tests/plugins/SessionBroadcast/server.cppnew file+37

This diff is too big to show here.

tests/plugins/SessionBroadcast/sessionbroadcasttest.cppnew file+111

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/CMakeLists.txt+1

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/GestureTest.cpp+3−3

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/GestureTest.h+4−5

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/tst_AxisVelocityCalculator.cpp+1−1

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/tst_FloatingFlickable.cpp+1−1

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/tst_TouchGate.cpp+3−1

This diff is too big to show here.

tests/plugins/Unity/Launcher/CMakeLists.txt+14−25

This diff is too big to show here.

tests/plugins/Unity/Launcher/abs-icon.desktop → tests/plugins/Unity/Launcher/applications/abs-icon.desktoprenamed+1

This diff is too big to show here.

tests/plugins/Unity/Launcher/click-icon.desktop → tests/plugins/Unity/Launcher/applications/click-icon.desktoprenamed+1

This diff is too big to show here.

tests/plugins/Unity/Launcher/click-icon.svg → tests/plugins/Unity/Launcher/applications/click-icon.svgrenamed

The content is the same.

tests/plugins/Unity/Launcher/no-name.desktop → tests/plugins/Unity/Launcher/applications/no-name.desktoprenamed+1

This diff is too big to show here.

tests/plugins/Unity/Launcher/rel-icon.desktop → tests/plugins/Unity/Launcher/applications/rel-icon.desktoprenamed+1

This diff is too big to show here.

tests/plugins/Unity/Launcher/rel-icon.svg → tests/plugins/Unity/Launcher/applications/rel-icon.svgrenamed

The content is the same.

tests/plugins/Unity/Launcher/launchermodeltest.cpp+19−20

This diff is too big to show here.

tests/plugins/Unity/Launcher/no-icon.desktopdeleted−2

This diff is too big to show here.

tests/plugins/Utils/CMakeLists.txt+13

This diff is too big to show here.

tests/plugins/Utils/URLDispatcherTest.cppnew file+78

This diff is too big to show here.

tests/plugins/Wizard/tst_pagelist.cpp+30−1

This diff is too big to show here.

tests/qmltests/CMakeLists.txt+22−22

This diff is too big to show here.

tests/qmltests/Components/tst_Carousel.qml−1

This diff is too big to show here.

tests/qmltests/Components/tst_DragHandle.cpp+2−2

This diff is too big to show here.

tests/qmltests/Components/tst_EdgeDragEvaluator.cpp+2−2

This diff is too big to show here.

tests/qmltests/Components/tst_Lockscreen.qml+2−41

This diff is too big to show here.

tests/qmltests/Components/tst_WallpaperResolver.qml+21−35

This diff is too big to show here.

tests/qmltests/Components/tst_ZoomableImage.qml+1−1

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_Preview.qml+23−6

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewActions.qml+33−2

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewAudioPlayback.qml+8−10

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewCommentInput.qml+28

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewExpandable.qml+3−3

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewHeader.qml+1−5

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewIconActions.qml+1−1

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewImageGallery.qml+6−6

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewInlineVideo.qml+42−1

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewProgress.qml+14−1

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewRatingDisplayCreationRanges.qml+1

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewRatingInput.qml+32

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewTable.qml+22−1

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewTextSummary.qml+2−2

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml+12−7

This diff is too big to show here.

tests/qmltests/Dash/tst_Card.qml+7−17

This diff is too big to show here.

tests/qmltests/Dash/tst_CardCarousel.qml+24

This diff is too big to show here.

tests/qmltests/Dash/tst_CardTool.qml+4−4

This diff is too big to show here.

tests/qmltests/Dash/tst_Dash.qml+25−15

This diff is too big to show here.

tests/qmltests/Dash/tst_DashContent.qml+48−12

This diff is too big to show here.

tests/qmltests/Dash/tst_DashPageHeader.qml+46−5

This diff is too big to show here.

tests/qmltests/Dash/tst_GenericScopeView.qml+85−62

This diff is too big to show here.

tests/qmltests/Greeter/TestView.qml+4−3

This diff is too big to show here.

tests/qmltests/Greeter/tst_Greeter.qml+8−1

This diff is too big to show here.

tests/qmltests/Greeter/tst_Infographics.qml+77−13

This diff is too big to show here.

tests/qmltests/Greeter/tst_NarrowView.qml+47−12

This diff is too big to show here.

tests/qmltests/Greeter/tst_WideView.qml+154−7

This diff is too big to show here.

tests/qmltests/Launcher/tst_Launcher.qml+136−4

This diff is too big to show here.

tests/qmltests/Notifications/Notification.qml+1

This diff is too big to show here.

tests/qmltests/Notifications/tst_Notifications.qml+79−29

This diff is too big to show here.

tests/qmltests/Notifications/tst_OptionToggle.qml+1−16

This diff is too big to show here.

tests/qmltests/Notifications/tst_SwipeToAct.qml+4−18

This diff is too big to show here.

tests/qmltests/Notifications/tst_VisualSnapDecisionsQueue.qml+7−23

This diff is too big to show here.

tests/qmltests/Panel/Indicators/tst_MenuItemFactory.qml+61−13

This diff is too big to show here.

tests/qmltests/Panel/tst_IndicatorItem.qml+4−3

This diff is too big to show here.

tests/qmltests/Panel/tst_IndicatorItemRow.qml+26−1

This diff is too big to show here.

tests/qmltests/Panel/tst_IndicatorPage.qml+1−3

This diff is too big to show here.

tests/qmltests/Panel/tst_IndicatorsBar.qml+3−3

This diff is too big to show here.

tests/qmltests/Panel/tst_IndicatorsMenu.qml+21−3

This diff is too big to show here.

tests/qmltests/Panel/tst_Panel.qml+19−2

This diff is too big to show here.

tests/qmltests/Stages/ApplicationCheckBox.qml → tests/qmltests/Stage/ApplicationCheckBox.qmlrenamed

The content is the same.

tests/qmltests/Stages/SizeHintField.qml → tests/qmltests/Stage/SizeHintField.qmlrenamed

The content is the same.

tests/qmltests/Stages/SurfaceManagerControls.qml → tests/qmltests/Stage/SurfaceManagerControls.qmlrenamed

The content is the same.

tests/qmltests/Stages/SurfaceManagerField.qml → tests/qmltests/Stage/SurfaceManagerField.qmlrenamed

The content is the same.

tests/qmltests/Stages/tst_ApplicationWindow.qml → tests/qmltests/Stage/tst_ApplicationWindow.qmlrenamed+1−1

This diff is too big to show here.

tests/qmltests/Stage/tst_DecoratedWindow.qmlnew file+232

This diff is too big to show here.

tests/qmltests/Stages/tst_DesktopStage.qml → tests/qmltests/Stage/tst_DesktopStage.qmlrenamed+65−74

This diff is too big to show here.

tests/qmltests/Stages/tst_PhoneStage.qml → tests/qmltests/Stage/tst_PhoneStage.qmlrenamed+149−211

This diff is too big to show here.

tests/qmltests/Stages/tst_Splash.qml → tests/qmltests/Stage/tst_Splash.qmlrenamed+16−2

This diff is too big to show here.

tests/qmltests/Stages/tst_SpreadDelegate.qml → tests/qmltests/Stage/tst_SpreadDelegate.qmlrenamed

The content is the same.

tests/qmltests/Stages/tst_SurfaceContainer.qml → tests/qmltests/Stage/tst_SurfaceContainer.qmlrenamed+2−2

This diff is too big to show here.

tests/qmltests/Stages/tst_TabletStage.qml → tests/qmltests/Stage/tst_TabletStage.qmlrenamed+111−242

This diff is too big to show here.

tests/qmltests/Stages/tst_WindowResizeArea.qml → tests/qmltests/Stage/tst_WindowResizeArea.qmlrenamed+49−37

This diff is too big to show here.

tests/qmltests/Wizard/tst_Wizard.qml+47−2

This diff is too big to show here.

tests/qmltests/tst_DisabledScreenNotice.qml+1−1

This diff is too big to show here.

tests/qmltests/tst_OrientedShell.qml+69−203

This diff is too big to show here.

tests/qmltests/tst_Shell.qml+514−177

This diff is too big to show here.

tests/qmltests/tst_ShellWithPin.qml+53−51

This diff is too big to show here.

tests/utils/modules/Unity/Test/CMakeLists.txt+1

This diff is too big to show here.

tests/utils/modules/Unity/Test/MouseTouchEmulationCheckbox.qml+4

This diff is too big to show here.

tests/utils/modules/Unity/Test/TouchEventSequenceWrapper.cpp+8−3

This diff is too big to show here.

tests/utils/modules/Unity/Test/TouchEventSequenceWrapper.h+4−2

This diff is too big to show here.

tests/utils/modules/Unity/Test/UnityTestCase.qml+2−2

This diff is too big to show here.

tests/utils/modules/Unity/Test/testutil.cpp+15−4

This diff is too big to show here.

tools/registry-tracker.cpp+2−2

This diff is too big to show here.

tools/scopetool.cpp+6−2

This diff is too big to show here.