on xenial help sign in
Initial merge from trunk; some tests don't run again yet
commitd69c08bf942a9fbc198351f8cd5559613ca18d70 authorMichael Terry <mike@mterry.name> dateTue 6 Dec 2016, 15:16 (10 years ago) parenta731fb2317fbd4
610 files changed+33507−21642
.crossbuilder/post_deploy+1 CMakeLists.txt+3−2 CODING+20−59 build.sh+6−37 data/com.canonical.Unity8.gschema.xml+10 data/unity8-dash.conf+1−1 data/unity8-filewatcher.conf+5 data/unity8-greeter-wrapper+15−7 debian/changelog+360 debian/control+35−26 debian/rules+3−2 debian/unity8-private.install+1 debian/unity8-tests.lintian-overrides+1 debian/unity8.install+1−1 include/paths.h.in+34−25 plugins/AccountsService/AccountsService.cpp+20−2 plugins/AccountsService/AccountsService.h+2−3 plugins/CMakeLists.txt+1 plugins/Cursor/CMakeLists.txt+2−2 plugins/Cursor/Cursor.qml+5−2 plugins/Cursor/CursorImageInfo.cpp+21−1 plugins/Cursor/CursorImageInfo.h+10 plugins/Cursor/CursorImageProvider.cpp+33−21 plugins/Cursor/CursorImageProvider.h+9−6 plugins/Cursor/MousePointer.cpp+90−13 plugins/Cursor/MousePointer.h+23 plugins/Dash/CardAttributes.qml+1−1 plugins/Dash/CardCreator.js+119−120 plugins/Dash/CardCreatorCache.qml+3−3 plugins/Dash/DashAudioPlayer.qml+45−21 plugins/Dash/abstractdashview.cpp+13 plugins/Dash/abstractdashview.h+2−1 plugins/Dash/listviewwithpageheader.cpp+9−16 plugins/Dash/verticaljournal.cpp+9−1 plugins/Dash/verticaljournal.h+3 plugins/Greeter/Unity/Launcher/CMakeLists.txt+1−1 plugins/ImageCache/CMakeLists.txt+8 plugins/ImageCache/ImageCache.cpp+135 plugins/ImageCache/ImageCache.h+53 plugins/ImageCache/plugin.cpp+39 plugins/ImageCache/plugin.h+31 plugins/ImageCache/qmldir+2 plugins/LightDM/IntegratedLightDM/liblightdm/Greeter.cpp−5 plugins/LightDM/IntegratedLightDM/liblightdm/Greeter.h−2 plugins/LightDM/IntegratedLightDM/liblightdm/UsersModel.cpp−2 plugins/LightDM/SessionsModel.cpp+30−16 plugins/LightDM/plugin.cpp+1−1 plugins/SessionBroadcast/SessionBroadcast.cpp+35−9 plugins/SessionBroadcast/SessionBroadcast.h+10−3 plugins/Ubuntu/DownloadDaemonListener/CMakeLists.txt+3−1 plugins/Ubuntu/DownloadDaemonListener/DownloadTracker.cpp+2−1 plugins/Ubuntu/DownloadDaemonListener/DownloadTracker.h+2−1 plugins/Ubuntu/DownloadDaemonListener/interface/downloadtrackeradaptor.cpp+2−2 plugins/Ubuntu/DownloadDaemonListener/interface/downloadtrackeradaptor.h+71−4 plugins/Ubuntu/DownloadDaemonListener/interface/metatypes.h+3−6 plugins/Ubuntu/Gestures/AxisVelocityCalculator.cpp+1−1 plugins/Ubuntu/Gestures/AxisVelocityCalculator.h+4−4 plugins/Ubuntu/Gestures/CMakeLists.txt+1 plugins/Ubuntu/Gestures/TouchGate.cpp+10−5 plugins/Ubuntu/Gestures/TouchGate.h+3−2 plugins/Ubuntu/Gestures/TouchGestureArea.cpp+9−7 plugins/Ubuntu/Gestures/TouchGestureArea.h+9−8 plugins/Ubuntu/SystemImage/CMakeLists.txt+5 plugins/Ubuntu/SystemImage/SystemImage.cpp+127−5 plugins/Ubuntu/SystemImage/SystemImage.h+52−2 plugins/Ubuntu/SystemImage/plugin.cpp+3−9 plugins/Ubuntu/SystemImage/plugin.h+1−1 plugins/Unity/Indicators/actionrootstate.cpp+1−1 plugins/Unity/Indicators/indicatorsmanager.cpp+3−8 plugins/Unity/Indicators/modelprinter.cpp+19−4 plugins/Unity/Indicators/modelprinter.h+2−1 plugins/Unity/Launcher/CMakeLists.txt+9−4 plugins/Unity/Launcher/desktopfilehandler.cpp−155 plugins/Unity/Launcher/desktopfilehandler.h−56 plugins/Unity/Launcher/launcheritem.cpp+1 plugins/Unity/Launcher/launchermodel.cpp+53−26 plugins/Unity/Launcher/launchermodel.h+17−8 plugins/Unity/Launcher/quicklistentry.cpp+11 plugins/Unity/Launcher/quicklistentry.h+4 plugins/Unity/Launcher/quicklistmodel.cpp+2 plugins/Utils/CMakeLists.txt+1 plugins/Utils/URLDispatcher.cpp+77 plugins/Utils/URLDispatcher.h+47 plugins/Utils/constants.cpp+6−1 plugins/Utils/constants.h+5−5 plugins/Utils/deviceconfigparser.cpp+1−1 plugins/Utils/plugin.cpp+2 plugins/Utils/timezoneFormatter.cpp+1−1 plugins/Utils/windowstatestorage.cpp+8−5 plugins/Utils/windowstatestorage.h+8−3 plugins/WindowManager/TopLevelSurfaceList.cpp−5 plugins/Wizard/CMakeLists.txt+6−3 plugins/Wizard/PageList.cpp+16−1 plugins/Wizard/System.cpp+10−1 plugins/Wizard/System.h+5−1 plugins/Wizard/keyboardLayoutsModel.cpp+163 plugins/Wizard/keyboardLayoutsModel.h+66 plugins/Wizard/plugin.cpp+2 plugins/Wizard/qmldir−1 plugins/Wizard/timezonemodel.cpp+5−5 po/aa.po+173−166 po/am.po+216−176 po/ar.po+217−177 po/ast.po+295−246 po/az.po+192−169 po/be.po+215−175 po/bg.po+162−165 po/bn.po+209−169 po/br.po+245−204 po/bs.po+212−172 po/ca.po+278−230 po/ca@valencia.po+214−178 po/ce.po+162−165 po/ckb.po+162−165 po/co.po+215−175 po/cs.po+210−174 po/cy.po+215−175 po/da.po+211−175 po/de.po+240−198 po/el.po+258−206 po/en_AU.po+211−171 po/en_GB.po+258−216 po/eo.po+164−167 po/es.po+219−177 po/eu.po+214−174 po/fa.po+218−176 po/fi.po+219−177 po/fo.po+181−170 po/fr.po+225−183 po/ga.po+212−172 po/gd.po+275−228 po/gl.po+215−173 po/gv.po+168−171 po/he.po+179−167 po/hi.po+162−165 po/hr.po+266−224 po/hu.po+216−174 po/hy.po+196−170 po/ia.po+223−181 po/id.po+208−172 po/is.po+211−175 po/it.po+270−226 po/ja.po+203−167 po/km.po+198−172 po/kn.po+162−165 po/ko.po+208−168 po/ku.po+195−169 po/ky.po+162−165 po/lo.po+162−165 po/lt.po+162−165 po/lv.po+212−172 po/ml.po+162−165 po/mr.po+162−165 po/ms.po+213−173 po/my.po+163−166 po/nb.po+224−182 po/ne.po+163−166 po/nl.po+342−286 po/nn.po+162−165 po/oc.po+322−277 po/or.po+162−165 po/pa.po+207−171 po/pl.po+247−203 po/pt.po+223−181 po/pt_BR.po+213−173 po/ro.po+213−177 po/ru.po+261−218 po/shn.po+162−165 po/si.po+162−165 po/sk.po+223−181 po/sl.po+232−192 po/sq.po+179−167 po/sr.po+265−222 po/sv.po+221−179 po/sw.po+209−173 po/ta.po+162−165 po/te.po+162−165 po/th.po+162−165 po/tr.po+347−288 po/ug.po+210−170 po/uk.po+277−227 po/unity8.pot+161−164 po/ur.po+162−165 po/uz.po+162−165 po/vi.po+162−165 po/wo.po+211−171 po/xh.po+162−165 po/zh_CN.po+208−168 po/zh_HK.po+162−165 po/zh_TW.po+208−168 qml/CMakeLists.txt+1−1 qml/Components/BlurLayer.qml+10−40 qml/Components/BrightnessControl.qml+54 qml/Components/Carousel.qml+1−2 qml/Components/Dialogs.qml+7−2 qml/Components/EdgeBarrier.qml+2 qml/Components/Flickable.qml+24 qml/Components/FloatingFlickable.qml+4 qml/Components/GridView.qml+24 qml/Components/InputMethod.qml+1−1 qml/Components/KeymapSwitcher.qml+27−1 qml/Components/LazyImage.qml+2 qml/Components/ListItems/graphics/ListItemDividerHorizontal@18.png qml/Components/ListView.qml+24 qml/Components/Lockscreen.qml+1−28 qml/Components/NotificationAudio.qml+20−3 qml/Components/PanelState/PanelState.qml−1 qml/Components/PassphraseLockscreen.qml−4 qml/Components/PinLockscreen.qml−4 qml/Components/ResponsiveGridView.qml+1 qml/Components/VolumeControl.qml+3−3 qml/Components/Wallpaper.qml+44 qml/Components/WallpaperResolver.qml+24−38 qml/Components/WindowControlButtons.qml+7−5 qml/Components/ZoomableImage.qml+1−1 qml/Components/flickableUtils.js+28 qml/Dash/CardCarousel.qml+1−1 qml/Dash/CardGrid.qml+4−4 qml/Dash/CardTool.qml+74−18 qml/Dash/Dash.qml+1−1 qml/Dash/DashBackground.qml+2−11 qml/Dash/DashContent.qml−2 qml/Dash/DashNavigation.qml+1 qml/Dash/DashNavigationList.qml+48−45 qml/Dash/DashPageHeader.qml+67−71 qml/Components/ListItems/Header.qml → qml/Dash/DashSectionHeader.qml+21−21 qml/Dash/Filters/FilterExpandableWidget.qml+1 qml/Dash/Filters/FilterOptionSelector.qml+2 qml/Dash/FiltersPopover.qml+1 qml/Dash/GenericScopeView.qml+16−74 qml/Dash/PageHeaderExtraPanel.qml+12−11 qml/Dash/Previews/Preview.qml+19−7 qml/Dash/Previews/PreviewActionCombo.qml+13−2 qml/Dash/Previews/PreviewActions.qml+3−2 qml/Dash/Previews/PreviewAudioPlayback.qml+10−9 qml/Dash/Previews/PreviewComment.qml+3 qml/Dash/Previews/PreviewCommentInput.qml+15 qml/Dash/Previews/PreviewHeader.qml+5−3 qml/Dash/Previews/PreviewIconActions.qml+1 qml/Dash/Previews/PreviewInlineVideo.qml+48−1 qml/Dash/Previews/PreviewProgress.qml+7−4 qml/Dash/Previews/PreviewRatingInput.qml+28−1 qml/Dash/Previews/PreviewRatingSingleDisplay.qml+12−9 qml/Components/ListItems/ThinDivider.qml → qml/Dash/Previews/PreviewSingleton/PreviewSingleton.qml+5−10 qml/Dash/Previews/PreviewSingleton/qmldir+1 qml/Dash/Previews/PreviewTable.qml+8−2 qml/Dash/Previews/PreviewTextSummary.qml+7−2 qml/Dash/Previews/PreviewVideoPlayback.qml+1−1 qml/Dash/Previews/PreviewWidget.qml+2−2 qml/Dash/Previews/PreviewWidgetFactory.qml+2−2 qml/Dash/Previews/PreviewZoomableImage.qml+1−1 qml/Dash/PullToRefreshScopeStyle.qml+1 qml/Dash/ScopeListView.qml+4−2 qml/Dash/ScopesList.qml+2 qml/Dash/ScopesListCategory.qml+3−2 qml/Dash/ScopesListCategoryItem.qml+1 qml/Dash/graphics/dash_divider_top_darkgrad@27.png qml/Dash/graphics/dash_divider_top_lightgrad@27.png qml/Dash/graphics/navigation_shadow@18.png qml/Dash/graphics/navigation_shadow_light@18.png qml/Dash/graphics/overview_hint@27.png qml/Dash/graphics/overview_hint@30.png qml/Dash/graphics/pagination_dot_off@30.png qml/Dash/graphics/pagination_dot_on@30.png qml/Dash/graphics/paper.png qml/Dash/graphics/rectangular_dropshadow@30.png qml/Dash/graphics/rectangular_dropshadow@30.sci+5 qml/Greeter/Circle.qml+57 qml/Greeter/Clock.qml−2 qml/Greeter/CoverPage.qml+6−6 qml/Components/DelayedLockscreen.qml → qml/Greeter/DelayedLockscreen.qml+6−15 qml/Greeter/FullLightDMImpl.qml+2 qml/Greeter/Greeter.qml+69−27 qml/Greeter/GreeterPrompt.qml+40−9 qml/Greeter/Infographics.qml+44−23 qml/Greeter/IntegratedLightDMImpl.qml+2−1 qml/Greeter/LightDMService.qml+2 qml/Components/UbuntuShapeForItem.qml → qml/Greeter/LoginAreaContainer.qml+14−23 qml/Greeter/LoginList.qml+96−22 qml/Greeter/NarrowView.qml+147−61 qml/Greeter/SessionIcon.qml+47 qml/Greeter/SessionsList.qml+187 qml/Greeter/WideView.qml+109−38 qml/Greeter/graphics/infographic_circle_back.png qml/Greeter/graphics/session_icons/gnome_badge.png qml/Greeter/graphics/session_icons/kde_badge.png qml/Greeter/graphics/session_icons/recovery_console_badge.png qml/Greeter/graphics/session_icons/ubuntu_badge.png qml/Greeter/graphics/session_icons/unknown_badge.png qml/Launcher/Launcher.qml+1 qml/Launcher/LauncherDelegate.qml+1 qml/Launcher/LauncherPanel.qml+89−9 qml/Launcher/Tooltip.qml+72 qml/Notifications/Notification.qml+14−30 qml/Notifications/NotificationMenuItemFactory.qml−3 qml/Notifications/Notifications.qml+14−25 qml/Notifications/ShapedIcon.qml+1 qml/OrientedShell.qml+10−3 qml/Panel/IndicatorItemRow.qml+13−2 qml/Panel/IndicatorPage.qml+1 qml/Panel/Indicators/MenuItemFactory.qml+161−88 qml/Panel/Indicators/client/IndicatorRepresentation.qml+27−23 qml/Panel/Indicators/client/IndicatorsClient.qml+1−1 qml/Panel/Indicators/client/IndicatorsList.qml+19−24 qml/Panel/Indicators/client/IndicatorsTree.qml+6−8 qml/Panel/Panel.qml+11−15 qml/Rotation/RotationStates.qml−6 qml/Shell.qml+169−177 qml/Stages/AbstractStage.qml → qml/Stage/AbstractStage.qml qml/Stages/ApplicationWindow.qml → qml/Stage/ApplicationWindow.qml+20−37 qml/Stage/DecoratedWindow.qml+266 qml/Stages/DesktopSpread.qml → qml/Stage/DesktopSpread.qml qml/Stages/DesktopSpreadDelegate.qml → qml/Stage/DesktopSpreadDelegate.qml qml/Stage/FakeMaximizeDelegate.qml+233 qml/Stages/MainViewStyle.qml → qml/Stage/MainViewStyle.qml qml/Stage/MoveHandler.qml+188 qml/Stages/OrientationChangeAnimation.qml → qml/Stage/OrientationChangeAnimation.qml qml/Stages/PhoneStage.qml → qml/Stage/PhoneStage.qml qml/Stages/PromptSurfaceAnimations.qml → qml/Stage/PromptSurfaceAnimations.qml+2−3 qml/Stages/ResizeGrip.qml → qml/Stage/ResizeGrip.qml qml/Stages/SideStage.qml → qml/Stage/SideStage.qml qml/Stages/Splash.qml → qml/Stage/Splash.qml+3−6 qml/Stage/Spread/BezierCurve.qml+45 qml/Stage/Spread/KeySpline.js+66 qml/Stage/Spread/MathUtils.js+95 qml/Stage/Spread/OpacityMask.qml+82 qml/Stage/Spread/Spread.qml+162 qml/Stage/Spread/SpreadDelegateInputArea.qml+189 qml/Stage/Spread/SpreadMaths.qml+78 qml/Stage/Spread/StagedRightEdgeMaths.qml+174 qml/Stage/Spread/WindowedRightEdgeMaths.qml+81 qml/Stage/Spread/cubic-bezier.js+39 qml/Stages/SpreadDelegate.qml → qml/Stage/SpreadDelegate.qml qml/Stages/SpreadMaths.qml → qml/Stage/SpreadMaths.qml qml/Stage/Stage.qml+1963 qml/Stage/StageMaths.qml+79 qml/Stages/StagedFullscreenPolicy.qml → qml/Stage/StagedFullscreenPolicy.qml qml/Stages/SurfaceContainer.qml → qml/Stage/SurfaceContainer.qml+5−52 qml/Stages/TabletSideStageTouchGesture.qml → qml/Stage/TabletSideStageTouchGesture.qml qml/Stages/TabletStage.qml → qml/Stage/TabletStage.qml qml/Stages/TopLevelSurfaceRepeater.qml → qml/Stage/TopLevelSurfaceRepeater.qml+16−1 qml/Stages/TransformedSpreadDelegate.qml → qml/Stage/TransformedSpreadDelegate.qml qml/Stages/TransformedTabletSpreadDelegate.qml → qml/Stage/TransformedTabletSpreadDelegate.qml qml/Stages/WindowControlsOverlay.qml → qml/Stage/WindowControlsOverlay.qml+76−38 qml/Stages/WindowDecoration.qml → qml/Stage/WindowDecoration.qml+10−42 qml/Stage/WindowInfoItem.qml+53 qml/Stages/WindowResizeArea.qml → qml/Stage/WindowResizeArea.qml+45−55 qml/Stages/WindowedFullscreenPolicy.qml → qml/Stage/WindowedFullscreenPolicy.qml qml/Stages/graphics/PageHeaderBaseDividerBottom@18.png → qml/Stage/graphics/PageHeaderBaseDividerBottom@18.png qml/Stages/graphics/PageHeaderBaseDividerLight@18.png → qml/Stage/graphics/PageHeaderBaseDividerLight@18.png qml/Stages/graphics/PageHeaderBaseDividerLight@18.sci → qml/Stage/graphics/PageHeaderBaseDividerLight@18.sci qml/Stages/graphics/arrows-centre.png → qml/Stage/graphics/arrows-centre.png qml/Stages/graphics/arrows.png → qml/Stage/graphics/arrows.png qml/Stages/graphics/sidestage_drag.svg → qml/Stage/graphics/sidestage_drag.svg qml/Stages/graphics/sidestage_handle@20.png → qml/Stage/graphics/sidestage_handle@20.png qml/Stages/graphics/sidestage_handle@20.sci → qml/Stage/graphics/sidestage_handle@20.sci qml/Stages/graphics/sidestage_open.svg → qml/Stage/graphics/sidestage_open.svg qml/Stages/graphics/window-close.svg → qml/Stage/graphics/window-close.svg qml/Stages/DecoratedWindow.qml−136 qml/Stages/DesktopStage.qml−750 qml/Tutorial/TutorialRight.qml+1−1 qml/Wizard/Page.qml+1−1 qml/Wizard/Pages/10-welcome.qml+3−1 qml/Wizard/Pages/20-keyboard.qml+161 qml/Wizard/Pages/30-wifi.qml+11−5 qml/Wizard/Pages/50-timezone.qml+1 qml/Wizard/Pages/70-passwd-type.qml+1 qml/Wizard/Pages/77-system-update.qml+156 qml/Wizard/Pages/passcode-confirm.qml+2−2 qml/Wizard/Pages/passcode-desktop.qml+1 qml/Wizard/Pages/passcode-set.qml+2−2 qml/Wizard/Pages/password-set.qml+1 qml/Wizard/WizardItemSelector.qml+129 qml/Stages/graphics/dropshadow2gu@30.png → qml/graphics/dropshadow2gu@30.png qml/Stages/graphics/dropshadow2gu@30.sci → qml/graphics/dropshadow2gu@30.sci qml/graphics/phone_background.jpg qml/graphics/tablet_background.jpg run.sh−70 run_on_device.sh−164 src/Dash/main.cpp+10−2 src/Panel/Indicators/client/indicatorsclient.cpp+10−8 src/Panel/Indicators/client/indicatorsclient.h−2 src/SecondaryWindow.cpp+1−1 src/ShellApplication.cpp+1−1 src/main.cpp+11−2 tests/CMakeLists.txt+8−13 tests/autopilot/unity8/dash.py+3−3 tests/autopilot/unity8/greeter/__init__.py+1−1 tests/autopilot/unity8/shell/__init__.py+2 tests/autopilot/unity8/shell/tests/__init__.py+4−1 tests/autopilot/unity8/shell/tests/test_helpers.py+2−1 tests/autopilot/unity8/shell/tests/test_notifications.py+9−9 tests/graphics/applicationIcons/dash.png → tests/graphics/applicationIcons/dash@18.png tests/imports/check_imports.py+58 tests/mocks/AccountsService/AccountsService.cpp+19−3 tests/mocks/AccountsService/AccountsService.h+4−1 tests/mocks/AccountsService/CMakeLists.txt+14 tests/mocks/CMakeLists.txt+1 tests/mocks/Cursor/CMakeLists.txt+1−1 tests/mocks/Cursor/Cursor.qml+12−1 tests/mocks/GSettings.1.0/fake_gsettings.cpp+66 tests/mocks/GSettings.1.0/fake_gsettings.h+18 tests/mocks/LightDM/IntegratedLightDM/MockSessionsModel.cpp+29 tests/mocks/LightDM/IntegratedLightDM/MockSessionsModel.h+12−2 tests/mocks/LightDM/IntegratedLightDM/MockUsersModel.cpp+5 tests/mocks/LightDM/IntegratedLightDM/MockUsersModel.h+2 tests/mocks/LightDM/IntegratedLightDM/liblightdm/CMakeLists.txt+2−1 tests/mocks/LightDM/IntegratedLightDM/liblightdm/Greeter.cpp−5 tests/mocks/LightDM/IntegratedLightDM/liblightdm/Greeter.h−2 tests/mocks/LightDM/IntegratedLightDM/liblightdm/SessionsModel.cpp+22 tests/mocks/LightDM/IntegratedLightDM/liblightdm/SessionsModel.h+3−3 tests/mocks/LightDM/IntegratedLightDM/liblightdm/SessionsModelPrivate.cpp+27−17 tests/mocks/LightDM/IntegratedLightDM/liblightdm/SessionsModelPrivate.h+5−1 tests/mocks/LightDM/IntegratedLightDM/liblightdm/UsersModelPrivate.cpp+15−1 tests/mocks/LightDM/IntegratedLightDM/plugin.cpp+1−1 tests/mocks/QtMultimedia/mediaplayer.cpp+1 tests/mocks/QtMultimedia/mediaplayer.h+1 tests/mocks/SessionBroadcast/CMakeLists.txt+8 tests/mocks/SessionBroadcast/SessionBroadcast.cpp+34 tests/mocks/SessionBroadcast/SessionBroadcast.h+39 tests/mocks/SessionBroadcast/plugin.cpp+31 tests/mocks/SessionBroadcast/plugin.h+32 tests/mocks/SessionBroadcast/qmldir+2 tests/mocks/Ubuntu/DownloadDaemonListener/MockDownloadTracker.cpp+3−1 tests/mocks/Ubuntu/DownloadDaemonListener/MockDownloadTracker.h+2−1 tests/mocks/Ubuntu/SystemImage/MockSystemImage.cpp+24−1 tests/mocks/Ubuntu/SystemImage/MockSystemImage.h+22−2 tests/mocks/Ubuntu/Telephony/MockTelepathyHelper.cpp+27 tests/mocks/Ubuntu/Telephony/MockTelepathyHelper.h+22 tests/mocks/Unity/Application/ApplicationInfo.cpp+1−9 tests/mocks/Unity/Application/ApplicationInfo.h−4 tests/mocks/Unity/Application/ApplicationManager.cpp+2−10 tests/mocks/Unity/Application/CMakeLists.txt+1 tests/mocks/Unity/Application/MirMock.cpp+49 tests/mocks/Unity/Application/MirMock.h+39 tests/mocks/Unity/Application/MirSurface.cpp+6 tests/mocks/Unity/Application/MirSurface.h+4 tests/mocks/Unity/Application/MirSurfaceItem.cpp+50−10 tests/mocks/Unity/Application/MirSurfaceItem.h+2 tests/mocks/Unity/Application/MirSurfaceListModel.cpp−1 tests/mocks/Unity/Application/VirtualKeyboard.cpp+9−7 tests/mocks/Unity/Application/plugin.cpp+11−2 tests/mocks/Unity/Application/resources/MirSurfaceItem.qml+2−5 tests/mocks/Unity/Indicators/CMakeLists.txt+1 tests/mocks/Unity/Indicators/IndicatorsModel.qml+71−6 tests/mocks/Unity/Indicators/fakeindicatorsmodeldata.js+1311 tests/mocks/Unity/Indicators/fakeplugin.cpp+2 tests/mocks/Unity/Launcher/CMakeLists.txt+1−1 tests/mocks/Unity/Launcher/MockQuickListModel.cpp+2 tests/mocks/Unity/Notifications/MockNotification.cpp+15 tests/mocks/Unity/Notifications/MockNotification.h+5 tests/mocks/Unity/Notifications/MockNotificationModel.cpp+4−6 tests/mocks/Unity/Notifications/MockNotificationModel.h+2−4 tests/mocks/Unity/Screens/CMakeLists.txt+1−1 tests/mocks/Unity/fake_categories.cpp+4 tests/mocks/Unity/fake_previewmodel.cpp+15−7 tests/mocks/Unity/fake_previewwidgetmodel.cpp+18−10 tests/mocks/Utils/CMakeLists.txt+1 tests/mocks/Utils/URLDispatcher.cpp+38 tests/mocks/Utils/URLDispatcher.h+47 tests/mocks/Utils/constants.cpp+2−1 tests/mocks/Utils/constants.h+5−5 tests/mocks/Utils/plugin.cpp+2 tests/mocks/Utils/windowstatestorage.cpp+2−2 tests/mocks/Utils/windowstatestorage.h+8−3 tests/mocks/Wizard/CMakeLists.txt+6−3 tests/mocks/Wizard/MockSystem.cpp+8 tests/mocks/Wizard/MockSystem.h+4 tests/mocks/Wizard/mockplugin.cpp+2 tests/mocks/libusermetrics/UserMetrics.cpp+33−13 tests/mocks/libusermetrics/UserMetrics.h+2 tests/plugins/CMakeLists.txt+2 tests/plugins/Cursor/tst_Cursor.qml+8−1 tests/plugins/Dash/cardcreator/1.res+20−22 tests/plugins/Dash/cardcreator/1.res.cardcreator+9−22 tests/plugins/Dash/cardcreator/1.tst+1−1 tests/plugins/Dash/cardcreator/10.res+4−5 tests/plugins/Dash/cardcreator/10.res.cardcreator+4−4 tests/plugins/Dash/cardcreator/11.res+23−25 tests/plugins/Dash/cardcreator/11.res.cardcreator+10−23 tests/plugins/Dash/cardcreator/12.res+19−21 tests/plugins/Dash/cardcreator/12.res.cardcreator+8−21 tests/plugins/Dash/cardcreator/2.res+4−5 tests/plugins/Dash/cardcreator/2.res.cardcreator+4−4 tests/plugins/Dash/cardcreator/3.res+9−13 tests/plugins/Dash/cardcreator/3.res.cardcreator+8−13 tests/plugins/Dash/cardcreator/4.res+12−11 tests/plugins/Dash/cardcreator/4.res.cardcreator+4−12 tests/plugins/Dash/cardcreator/5.res+12−16 tests/plugins/Dash/cardcreator/5.res.cardcreator+10−15 tests/plugins/Dash/cardcreator/6.res+12−11 tests/plugins/Dash/cardcreator/6.res.cardcreator+4−12 tests/plugins/Dash/cardcreator/6.tst+1−1 tests/plugins/Dash/cardcreator/7.res+4−5 tests/plugins/Dash/cardcreator/7.res.cardcreator+4−4 tests/plugins/Dash/cardcreator/8.res+12−11 tests/plugins/Dash/cardcreator/8.res.cardcreator+4−12 tests/plugins/Dash/cardcreator/8.tst+1−1 tests/plugins/Dash/cardcreator/9.res+13−12 tests/plugins/Dash/cardcreator/9.res.cardcreator+4−12 tests/plugins/Dash/cardcreator/9.tst+1−1 tests/plugins/Dash/listviewwithpageheadersectionexternalmodeltest.cpp+3−3 tests/plugins/Dash/listviewwithpageheadersectiontest.cpp+54−54 tests/plugins/Dash/listviewwithpageheadertest.cpp+30 tests/plugins/Dash/verticaljournaltest.cpp+62 tests/plugins/Greeter/Unity/Launcher/CMakeLists.txt+1−2 tests/plugins/ImageCache/CMakeLists.txt+20 tests/plugins/ImageCache/graphics/wide.jpg tests/plugins/ImageCache/test.cpp+214 qml/Components/Circle.qml → tests/plugins/ImageCache/test.qml+6−5 tests/plugins/LightDM/IntegratedLightDM/CMakeLists.txt+5−8 tests/plugins/LightDM/IntegratedLightDM/sessionsmodel.cpp+32 tests/plugins/LightDM/IntegratedLightDM/usersmodel.cpp+2−2 tests/plugins/SessionBroadcast/BroadcastServer.cpp+33 tests/plugins/SessionBroadcast/BroadcastServer.h+40 tests/plugins/SessionBroadcast/CMakeLists.txt+51 tests/plugins/SessionBroadcast/interfaces.xml+18 tests/plugins/SessionBroadcast/server.cpp+37 tests/plugins/SessionBroadcast/sessionbroadcasttest.cpp+111 tests/plugins/Ubuntu/Gestures/CMakeLists.txt+1 tests/plugins/Ubuntu/Gestures/GestureTest.cpp+3−3 tests/plugins/Ubuntu/Gestures/GestureTest.h+4−5 tests/plugins/Ubuntu/Gestures/tst_AxisVelocityCalculator.cpp+1−1 tests/plugins/Ubuntu/Gestures/tst_FloatingFlickable.cpp+1−1 tests/plugins/Ubuntu/Gestures/tst_TouchGate.cpp+3−1 tests/plugins/Unity/Launcher/CMakeLists.txt+14−25 tests/plugins/Unity/Launcher/abs-icon.desktop → tests/plugins/Unity/Launcher/applications/abs-icon.desktop+1 tests/plugins/Unity/Launcher/click-icon.desktop → tests/plugins/Unity/Launcher/applications/click-icon.desktop+1 tests/plugins/Unity/Launcher/click-icon.svg → tests/plugins/Unity/Launcher/applications/click-icon.svg tests/plugins/Unity/Launcher/no-name.desktop → tests/plugins/Unity/Launcher/applications/no-name.desktop+1 tests/plugins/Unity/Launcher/rel-icon.desktop → tests/plugins/Unity/Launcher/applications/rel-icon.desktop+1 tests/plugins/Unity/Launcher/rel-icon.svg → tests/plugins/Unity/Launcher/applications/rel-icon.svg tests/plugins/Unity/Launcher/launchermodeltest.cpp+19−20 tests/plugins/Unity/Launcher/no-icon.desktop−2 tests/plugins/Utils/CMakeLists.txt+13 tests/plugins/Utils/URLDispatcherTest.cpp+78 tests/plugins/Wizard/tst_pagelist.cpp+30−1 tests/qmltests/CMakeLists.txt+22−22 tests/qmltests/Components/tst_Carousel.qml−1 tests/qmltests/Components/tst_DragHandle.cpp+2−2 tests/qmltests/Components/tst_EdgeDragEvaluator.cpp+2−2 tests/qmltests/Components/tst_Lockscreen.qml+2−41 tests/qmltests/Components/tst_WallpaperResolver.qml+21−35 tests/qmltests/Components/tst_ZoomableImage.qml+1−1 tests/qmltests/Dash/Previews/tst_Preview.qml+23−6 tests/qmltests/Dash/Previews/tst_PreviewActions.qml+33−2 tests/qmltests/Dash/Previews/tst_PreviewAudioPlayback.qml+8−10 tests/qmltests/Dash/Previews/tst_PreviewCommentInput.qml+28 tests/qmltests/Dash/Previews/tst_PreviewExpandable.qml+3−3 tests/qmltests/Dash/Previews/tst_PreviewHeader.qml+1−5 tests/qmltests/Dash/Previews/tst_PreviewIconActions.qml+1−1 tests/qmltests/Dash/Previews/tst_PreviewImageGallery.qml+6−6 tests/qmltests/Dash/Previews/tst_PreviewInlineVideo.qml+42−1 tests/qmltests/Dash/Previews/tst_PreviewProgress.qml+14−1 tests/qmltests/Dash/Previews/tst_PreviewRatingDisplayCreationRanges.qml+1 tests/qmltests/Dash/Previews/tst_PreviewRatingInput.qml+32 tests/qmltests/Dash/Previews/tst_PreviewTable.qml+22−1 tests/qmltests/Dash/Previews/tst_PreviewTextSummary.qml+2−2 tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml+12−7 tests/qmltests/Dash/tst_Card.qml+7−17 tests/qmltests/Dash/tst_CardCarousel.qml+24 tests/qmltests/Dash/tst_CardTool.qml+4−4 tests/qmltests/Dash/tst_Dash.qml+25−15 tests/qmltests/Dash/tst_DashContent.qml+48−12 tests/qmltests/Dash/tst_DashPageHeader.qml+46−5 tests/qmltests/Dash/tst_GenericScopeView.qml+85−62 tests/qmltests/Greeter/TestView.qml+4−3 tests/qmltests/Greeter/tst_Greeter.qml+8−1 tests/qmltests/Greeter/tst_Infographics.qml+77−13 tests/qmltests/Greeter/tst_NarrowView.qml+47−12 tests/qmltests/Greeter/tst_WideView.qml+154−7 tests/qmltests/Launcher/tst_Launcher.qml+136−4 tests/qmltests/Notifications/Notification.qml+1 tests/qmltests/Notifications/tst_Notifications.qml+79−29 tests/qmltests/Notifications/tst_OptionToggle.qml+1−16 tests/qmltests/Notifications/tst_SwipeToAct.qml+4−18 tests/qmltests/Notifications/tst_VisualSnapDecisionsQueue.qml+7−23 tests/qmltests/Panel/Indicators/tst_MenuItemFactory.qml+61−13 tests/qmltests/Panel/tst_IndicatorItem.qml+4−3 tests/qmltests/Panel/tst_IndicatorItemRow.qml+26−1 tests/qmltests/Panel/tst_IndicatorPage.qml+1−3 tests/qmltests/Panel/tst_IndicatorsBar.qml+3−3 tests/qmltests/Panel/tst_IndicatorsMenu.qml+21−3 tests/qmltests/Panel/tst_Panel.qml+19−2 tests/qmltests/Stages/ApplicationCheckBox.qml → tests/qmltests/Stage/ApplicationCheckBox.qml tests/qmltests/Stages/SizeHintField.qml → tests/qmltests/Stage/SizeHintField.qml tests/qmltests/Stages/SurfaceManagerControls.qml → tests/qmltests/Stage/SurfaceManagerControls.qml tests/qmltests/Stages/SurfaceManagerField.qml → tests/qmltests/Stage/SurfaceManagerField.qml tests/qmltests/Stages/tst_ApplicationWindow.qml → tests/qmltests/Stage/tst_ApplicationWindow.qml+1−1 tests/qmltests/Stage/tst_DecoratedWindow.qml+232 tests/qmltests/Stages/tst_DesktopStage.qml → tests/qmltests/Stage/tst_DesktopStage.qml+65−74 tests/qmltests/Stages/tst_PhoneStage.qml → tests/qmltests/Stage/tst_PhoneStage.qml+149−211 tests/qmltests/Stages/tst_Splash.qml → tests/qmltests/Stage/tst_Splash.qml+16−2 tests/qmltests/Stages/tst_SpreadDelegate.qml → tests/qmltests/Stage/tst_SpreadDelegate.qml tests/qmltests/Stages/tst_SurfaceContainer.qml → tests/qmltests/Stage/tst_SurfaceContainer.qml+2−2 tests/qmltests/Stages/tst_TabletStage.qml → tests/qmltests/Stage/tst_TabletStage.qml+111−242 tests/qmltests/Stages/tst_WindowResizeArea.qml → tests/qmltests/Stage/tst_WindowResizeArea.qml+49−37 tests/qmltests/Wizard/tst_Wizard.qml+47−2 tests/qmltests/tst_DisabledScreenNotice.qml+1−1 tests/qmltests/tst_OrientedShell.qml+69−203 tests/qmltests/tst_Shell.qml+514−177 tests/qmltests/tst_ShellWithPin.qml+53−51 tests/utils/modules/Unity/Test/CMakeLists.txt+1 tests/utils/modules/Unity/Test/MouseTouchEmulationCheckbox.qml+4 tests/utils/modules/Unity/Test/TouchEventSequenceWrapper.cpp+8−3 tests/utils/modules/Unity/Test/TouchEventSequenceWrapper.h+4−2 tests/utils/modules/Unity/Test/UnityTestCase.qml+2−2 tests/utils/modules/Unity/Test/testutil.cpp+15−4 tools/registry-tracker.cpp+2−2 tools/scopetool.cpp+6−2
.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)
5757find_package(Qt5Concurrent 5.4 REQUIRED)
5858find_package(Qt5Sql 5.4 REQUIRED)
5959
60−pkg_check_modules(APPLICATION_API REQUIRED unity-shell-application=19)
60+pkg_check_modules(APPLICATION_API REQUIRED unity-shell-application=22)
6161pkg_check_modules(GEONAMES REQUIRED geonames>=0.2)
6262pkg_check_modules(GIO REQUIRED gio-2.0>=2.32)
6363pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32)
6464pkg_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)
6667pkg_check_modules(UBUNTUGESTURES REQUIRED UbuntuGestures)
6768
6869### Check UbuntuGestures private headers. No pkg-config (.pc) file is provided for them
CODING+20−59
@@ -15,23 +15,17 @@ download source
1515 $ bzr branch lp:unity8 ~/unity8/trunk
1616 $ cd ~/unity8/trunk
1717
18−install dependencies
18+install dependencies and build Unity 8
1919--------------------
20−If its your first time, install build dependencies
2120
2221$ cd ~/unity8/trunk
23−$ ./build.sh --setup
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
22+$ ./build.sh
2923
30−build Unity 8
31−-------------
24+ If its your first time, this will install the required dependencies to build and
25+ build it.
3226
33−$ cd ~/unity8/trunk
34−$ ./build.sh
27+ You might want to also install unity-scope-home and unity-scope-click which
28+ are technically "recommends", not strict dependencies
3529
3630You may also rebuild with the -c for clean, which just deletes the build
3731directory.
@@ -43,13 +37,15 @@ Running Unity 8 on your desktop
4337run the Unity 8 shell
4438---------------------
4539$ cd ~/unity8/trunk
46−$ ./run.sh
40+$ cd builddir
4741
48−Options can be passed to test the lock screen
49−$ ./run.sh -p OR -k
42+Each component of unity8 can be ran independently for development and testing
43+For example:
44+$ make tryShell
45+$ make tryLauncher
46+$ make tryLockscreen
5047
51−-p is for pin lock, for which the default prompt answer is "1234"
52−-k is for keylock passphrase, for which the default prompt answer is "password"
48+Check out the tests/qmltests/ directory for a list of things that can be ran.
5349
5450Notes
5551-----
@@ -70,50 +66,15 @@ Notes
7066
7167Running Unity 8 on devices
7268==========================
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
8769
88−$ ./run_on_device.sh
89− this will:
90− - rsync the code to the device
91− - build on the device
92− - replace the running shell
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)
70+Running unity8 on a device should be done using crossbuilder.
71+Go to
72+* https://launchpad.net/crossbuilder and
73+* https://wiki.ubuntu.com/Touch/Crossbuilder
74+for more details on crossbuilder.
11675
76+unity8 will automatically restart on the phone once deployment
77+has finished due to post-build-steps set up in this repository.
11778
11879Coding guidelines
11980=================
build.sh+6−37
@@ -9,7 +9,6 @@ usage() {
99 echo "usage: build [OPTIONS] [BUILD_TYPE]\n" >&2
1010 echo "Script to build the shell. If BUILD_TYPE is not specified, it defaults to \"debug\".\n" >&2
1111 echo "OPTIONS:" >&2
12− echo " -s, --setup Setup the build environment and branch Unity" >&2
1312 echo " -c, --clean Clean the build tree before building" >&2
1413 echo >&2
1514 exit 1
@@ -22,7 +21,6 @@ eval set -- "$ARGS"
2221while [ $# -gt 0 ]
2322do
2423 case "$1" in
25− -s|--setup) SETUP=true;;
2624 -c|--clean) CLEAN=true;;
2725 -h|--help) usage;;
2826 --) shift;break;;
@@ -35,31 +33,6 @@ done
3533BUILD_TYPE="debug"
3634[ $# -eq 1 ] && BUILD_TYPE="$1"
3735
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−
6336mk_build_deps() {
6437 if [ ! -f control -o $CODE_DIR/debian/control -nt control ]; then
6538 sed 's/\:native//g' $CODE_DIR/debian/control > control
@@ -85,13 +58,9 @@ else
8558 BUILD_COMMAND="make -j$NUM_JOBS"
8659fi
8760
88−if $SETUP; then
89− install_dependencies
90−else
91− if $CLEAN; then rm -rf builddir; fi
92− mkdir -p builddir
93− cd builddir
94− mk_build_deps
95− cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE $CODE_DIR ${GENERATOR} || exit 6
96− ${BUILD_COMMAND} || exit 7
97−fi
61+if $CLEAN; then rm -rf builddir; fi
62+mkdir -p builddir
63+cd builddir
64+mk_build_deps
65+cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE $CODE_DIR ${GENERATOR} || exit 6
66+${BUILD_COMMAND} || exit 7
data/com.canonical.Unity8.gschema.xml+10
@@ -43,6 +43,16 @@
4343 <summary>Width of the launcher in grid units.</summary>
4444 <description>Changes the width of the launcher in all usage modes.</description>
4545 </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>
4656 </schema>
4757
4858 <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
2222 initctl emit scope-ui-starting
2323end script
2424
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 @@
11description "File system watcher for unity8"
22author "Michael Zanetti <michael.zanetti@canonical.com>"
33
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+
49# Workaround for bug 1360208. ~ and * in one expression doesn't work currently
510start on (file FILE=/home/phablet/.local/share/applications/*.desktop) or (file FILE=/usr/share/applications/*.desktop)
611
data/unity8-greeter-wrapper+15−7
@@ -1,8 +1,7 @@
11#!/bin/sh
22# -*- Mode: sh; indent-tabs-mode: nil; tab-width: 4 -*-
33#
4−# Copyright (C) 2011,2013 Canonical Ltd
5−# Author: Michael Terry <michael.terry@canonical.com>
4+# Copyright (C) 2011,2013,2016 Canonical Ltd
65#
76# This program is free software: you can redistribute it and/or modify it under
87# the terms of the GNU General Public License as published by the Free Software
@@ -42,10 +41,12 @@ set_greeter_var()
4241SUB_SOCKET=$XDG_RUNTIME_DIR/mir_socket
4342rm -f $SUB_SOCKET # clear socket in case we were hard shut down
4443
44+echo "DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS}" >"$XDG_RUNTIME_DIR/dbus-session"
45+
4546# If touch session script (which sets up grid units and mir variables) is available, use it
4647TOUCH_WRAPPER=
47−if [ -x /usr/bin/ubuntu-touch-session ]; then
48− TOUCH_WRAPPER=/usr/bin/ubuntu-touch-session
48+if which ubuntu-touch-session >/dev/null; then
49+ TOUCH_WRAPPER=ubuntu-touch-session
4950fi
5051
5152# Pretend that we're in an ubuntu-touch session, so that indicator-network
@@ -62,13 +63,20 @@ set_greeter_var PA_DISABLED 1
6263# creates for them and don't want to start all the services that a normal
6364# session would. So it's inconvenient to live within an upstart session.
6465# 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 &
6667INIT_PID=$!
6768while [ ! -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
6977
7078# Start any pre-greeter tasks if needed (like wizard)
71−/sbin/initctl emit unity8-greeter-starting
79+initctl emit unity8-greeter-starting
7280
7381# Define language here for phone if available. When phone user switches their
7482# 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+
1361unity8 (8.13+16.10.20160714+fix1-0ubuntu2~1) yakkety; urgency=medium
2362
3363 * Rebuild against Qt 5.6.
debian/control+35−26
@@ -8,7 +8,7 @@ Build-Depends: cmake,
88 dh-apparmor,
99 doxyqml,
1010# 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++
1212# on an x86 CPU for example, when cross-compiling.
1313 g++:native,
1414 gdb,
@@ -18,9 +18,10 @@ Build-Depends: cmake,
1818 libconnectivity-qt1-dev (>= 0.7.1),
1919 libevdev-dev,
2020 libgeonames-dev (>= 0.2),
21− libgl1-mesa-dev[!armhf] | libgl-dev[!armhf],
21+ libgnome-desktop-3-dev,
22+ libgl1-mesa-dev[!arm64 !armhf] | libgl-dev[!arm64 !armhf],
2223 libgl1-mesa-dri,
23− libgles2-mesa-dev[armhf],
24+ libgles2-mesa-dev[arm64 armhf],
2425 libglib2.0-dev,
2526 libgsettings-qt-dev,
2627 libhardware-dev,
@@ -28,31 +29,35 @@ Build-Depends: cmake,
2829 libpam0g-dev,
2930 libpay2-dev,
3031 libpulse-dev,
31− libqmenumodel-dev (>= 0.2.9),
32+ libqmenumodel-dev (>= 0.2.10),
3233 libqt5svg5-dev,
3334 libqt5xmlpatterns5-dev,
3435 libsystemsettings-dev,
35− libubuntugestures5-dev,
36− libubuntugestures5-private-dev,
36+ libubuntu-app-launch2-dev,
37+ libubuntu-download-manager-common-dev,
38+ libubuntugestures5-dev (>= 1.3.2030),
39+ libubuntugestures5-private-dev (>= 1.3.2030),
3740 libudev-dev,
38− libunity-api-dev (>= 7.116),
41+ libudm-common-dev,
42+ libunity-api-dev (>= 7.120),
3943 libusermetricsoutput1-dev,
4044# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
41− libx11-dev[!armhf],
42− libxcb1-dev[!armhf],
43− libxi-dev[!armhf],
45+ libx11-dev[!arm64 !armhf],
46+ libxcb1-dev[!arm64 !armhf],
47+ libxi-dev[!arm64 !armhf],
4448# End of X11 libs
4549 pkg-config,
4650 python3-all:any,
4751 python3-setuptools,
4852 qml-module-qt-labs-folderlistmodel,
53+ qml-module-qtqml-statemachine,
4954 qml-module-qtmultimedia (>= 5.4.1-1ubuntu19~overlay2),
5055 qml-module-qtquick-layouts,
5156 qml-module-qtquick-xmllistmodel,
5257 qml-module-qtquick2,
5358 qml-module-qtsysteminfo,
5459 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),
5661 qml-module-ubuntu-web,
5762 qt5-default,
5863 qtbase5-dev (>= 5.4),
@@ -62,7 +67,7 @@ Build-Depends: cmake,
6267 qtdeclarative5-dev-tools,
6368 qtdeclarative5-private-dev (>= 5.4),
6469 qtdeclarative5-ubuntu-content1,
65− qtdeclarative5-ubuntu-settings-components (>= 0.7),
70+ qtdeclarative5-ubuntu-settings-components (>= 0.11),
6671 ttf-ubuntu-font-family,
6772 xvfb,
6873Standards-Version: 3.9.4
@@ -76,9 +81,9 @@ XS-Testsuite: autopkgtest
7681X-Ubuntu-Use-Langpack: yes
7782
7883Package: indicators-client
79−Architecture: amd64 armhf i386
80−Depends: qmenumodel-qml (>= 0.2.9),
81− qml-module-ubuntu-components (>= 1.3.1845) | qml-module-ubuntu-components-gles (>= 1.3.1845),
84+Architecture: any
85+Depends: qmenumodel-qml (>= 0.2.10),
86+ qml-module-ubuntu-components (>= 1.3.2030) | qml-module-ubuntu-components-gles (>= 1.3.2030),
8287 unity8 (= ${binary:Version}),
8388 ${misc:Depends},
8489 ${shlibs:Depends},
@@ -116,25 +121,27 @@ Depends: dmz-cursor-theme,
116121 gsettings-desktop-schemas,
117122 libcap2-bin,
118123 libglib2.0-bin,
119− qmenumodel-qml (>= 0.2.9),
124+ qmenumodel-qml (>= 0.2.10),
120125 qml-module-biometryd,
121126 qml-module-qt-labs-folderlistmodel,
127+ qml-module-qtqml-statemachine,
122128 qml-module-qtquick-xmllistmodel,
123129 qml-module-qtsysteminfo,
124130 qml-module-ubuntu-web,
125131 qtdeclarative5-qtmir-plugin (>= 0.4.8),
126132 qtdeclarative5-ubuntu-telephony0.1,
127− qtdeclarative5-ubuntu-web-plugin,
128133 ubuntu-system-settings (>= 0.4),
129− unity-launcher-impl-7,
134+ unity-launcher-impl-10,
130135 unity8-common (= ${source:Version}),
131136 unity8-private (= ${binary:Version}),
132137 unity8-private | unity-launcher-impl,
133138 ${misc:Depends},
134139 ${shlibs:Depends},
135−Recommends: indicator-session,
140+Recommends: indicator-keyboard,
141+ indicator-session,
142+ unity-greeter-session-broadcast,
136143 unity-scope-click,
137− unity-scope-mediascanner2,
144+Suggests: unity-scope-mediascanner2,
138145Breaks: indicator-network (<< 0.5.1+14.10.20141014),
139146 ubuntu-touch-session (<< 0.107),
140147 unity8-greeter (<< 7.89),
@@ -148,12 +155,14 @@ Description: Unity 8 shell
148155Package: unity8-common
149156Architecture: all
150157Depends: 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),
152159 qml-module-ubuntu-thumbnailer0.1 | ubuntu-thumbnailer-impl,
153− qtdeclarative5-ubuntu-settings-components (>= 0.7),
160+ qtdeclarative5-ubuntu-settings-components (>= 0.11),
154161 qtdeclarative5-unity-notifications-plugin (>= 0.1.2) | unity-notifications-impl,
162+ qttranslations5-l10n,
155163 ubuntu-thumbnailer-impl-0,
156− unity-application-impl-19,
164+ ubuntu-wallpapers,
165+ unity-application-impl-22,
157166 unity-notifications-impl-3,
158167 unity-plugin-scopes | unity-scopes-impl,
159168 unity-scopes-impl-12,
@@ -180,7 +189,7 @@ Depends: autopilot-qt5 (>= 1.4),
180189 python3-fixtures,
181190 python3-gi,
182191 qttestability-autopilot (>= 1.4),
183− ubuntu-ui-toolkit-autopilot (>= 1.3.1845),
192+ ubuntu-ui-toolkit-autopilot (>= 1.3.2030),
184193 unity-scope-click,
185194 unity8 (= ${source:Version}),
186195 unity8-tests (= ${source:Version}),
@@ -204,7 +213,7 @@ Depends: dbus-test-runner,
204213 ${misc:Depends},
205214 ${shlibs:Depends},
206215Provides: unity-application-impl,
207− unity-application-impl-19,
216+ unity-application-impl-22,
208217 unity8-fake-env,
209218Replaces: unity8-autopilot (<< 8.02+15.04.20150422-0ubuntu1),
210219 unity8-fake-env,
@@ -228,7 +237,7 @@ Depends: accountsservice-ubuntu-schemas (>= 0.0.7),
228237 ${misc:Depends},
229238 ${shlibs:Depends},
230239Provides: unity-launcher-impl,
231− unity-launcher-impl-7,
240+ unity-launcher-impl-10,
232241Description: Unity 8 private libs
233242 The Unity 8 shell is the primary user interface for Ubuntu devices.
234243 .
debian/rules+3−2
@@ -37,6 +37,7 @@ override_dh_installdeb:
3737override_dh_makeshlibs:
3838 dh_makeshlibs -Nunity8-private -Nunity8-tests
3939
40−# libMockLightDM-qml.so links against liblightdm-qt5-3.so which doesn't exist
4140override_dh_shlibdeps:
42− dh_shlibdeps -XlibMockLightDM-qml.so -Lunity8-private
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.
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
44usr/lib/*/unity8/qml/Dash
55usr/lib/*/unity8/qml/GlobalShortcut
66usr/lib/*/unity8/qml/Greeter
7+usr/lib/*/unity8/qml/ImageCache
78usr/lib/*/unity8/qml/LightDM
89usr/lib/*/unity8/qml/Lights
910usr/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
1616usr/share/unity8/OrientedShell.qml
1717usr/share/unity8/DisabledScreenNotice.qml
1818usr/share/unity8/Shell.qml
19−usr/share/unity8/Stages
19+usr/share/unity8/Stage
2020usr/share/unity8/Tutorial
2121usr/share/unity8/Wizard
2222usr/share/url-dispatcher/urls/unity8-dash.url-dispatcher
include/paths.h.in+34−25
@@ -1,8 +1,5 @@
11/*
2− * Copyright (C) 2012 Canonical, Ltd.
3− *
4− * Authors:
5− * Ugo Riboni <ugo.riboni@canonical.com>
2+ * Copyright (C) 2012-2016 Canonical, Ltd.
63 *
74 * This program is free software; you can redistribute it and/or modify
85 * it under the terms of the GNU General Public License as published by
@@ -17,8 +14,7 @@
1714 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1815 */
1916
20−#ifndef PATHS_H
21−#define PATHS_H
17+#pragma once
2218
2319// Qt
2420#include <QtCore/QCoreApplication>
@@ -27,13 +23,28 @@
2723#include <QtQml/QQmlEngine>
2824#include <QStandardPaths>
2925
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+
3043inline bool isRunningInstalled() {
3144 // Tests don't use the normal binary, so we want to check binary *and*
3245 // 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());
3546 static bool installed_test_env = !qgetenv("UNITY_TESTING_DATADIR").isEmpty();
36− return installed || installed_test_env;
47+ return !installRoot().isNull() || installed_test_env;
3748}
3849
3950inline QString buildDirectory() {
@@ -48,9 +59,9 @@ inline QString sourceDirectory() {
4859
4960inline QString translationDirectory() {
5061 if (isRunningInstalled()) {
51− return QStringLiteral("@CMAKE_INSTALL_PREFIX@/share/locale");
62+ return installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/share/locale");
5263 } else {
53− return QString(buildDirectory() + "/po/locale");
64+ return buildDirectory() + QStringLiteral("/po/locale");
5465 }
5566}
5667
@@ -78,16 +89,16 @@ inline QString testLibDir() {
7889
7990inline QString qmlDirectory() {
8091 if (isRunningInstalled()) {
81− return QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_APP_DIR@/");
92+ return installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_APP_DIR@/");
8293 } else {
83− return QString(sourceDirectory() + "/qml");
94+ return sourceDirectory() + QStringLiteral("/qml");
8495 }
8596}
8697
8798inline QStringList overrideImportPaths() {
8899 QStringList paths;
89100 if (!isRunningInstalled()) {
90− paths << QString(buildDirectory() + "/plugins");
101+ paths << buildDirectory() + QStringLiteral("/plugins");
91102 }
92103 return paths;
93104}
@@ -95,9 +106,9 @@ inline QStringList overrideImportPaths() {
95106inline QStringList nonMirImportPaths() {
96107 QStringList paths;
97108 if (isRunningInstalled()) {
98− paths << QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/nonmirplugins");
109+ paths << installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/nonmirplugins");
99110 } else {
100− paths << QString(buildDirectory() + "/nonmirplugins");
111+ paths << buildDirectory() + QStringLiteral("/nonmirplugins");
101112 }
102113 return paths;
103114}
@@ -105,23 +116,23 @@ inline QStringList nonMirImportPaths() {
105116inline QStringList fallbackImportPaths() {
106117 QStringList paths;
107118 if (isRunningInstalled()) {
108− paths << QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@");
109− paths << QStringLiteral("@USS_PRIVATE_PLUGINDIR@");
110− paths << QStringLiteral("@SHELL_PLUGINDIR@");
111− paths << QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
119+ paths << installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@");
120+ paths << installRoot() + QStringLiteral("@USS_PRIVATE_PLUGINDIR@");
121+ paths << installRoot() + QStringLiteral("@SHELL_PLUGINDIR@");
122+ paths << installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
112123 } else {
113124 paths << QStringLiteral("@USS_PRIVATE_PLUGINDIR@");
114125 paths << QStringLiteral("@SHELL_PLUGINDIR@");
115− paths << QString(buildDirectory() + "/tests/mocks");
126+ paths << buildDirectory() + QStringLiteral("/tests/mocks");
116127 }
117128 return paths;
118129}
119130
120131inline QString mockPluginsDir() {
121132 if (isRunningInstalled()) {
122− return QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
133+ return installRoot() + QStringLiteral("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
123134 } else {
124− return QString(buildDirectory() + "/tests/mocks");
135+ return buildDirectory() + QStringLiteral("/tests/mocks");
125136 }
126137}
127138
@@ -162,5 +173,3 @@ inline void appendImportPaths(QQmlEngine *engine, const QStringList &paths)
162173 }
163174 engine->setImportPathList(importPathList);
164175}
165−
166−#endif
plugins/AccountsService/AccountsService.cpp+20−2
@@ -68,9 +68,9 @@ Q_DECLARE_METATYPE(StringMapList)
6868QVariant primaryButtonConverter(const QVariant &value)
6969{
7070 QString stringValue = value.toString();
71− if (stringValue == "left") {
71+ if (stringValue == QLatin1String("left")) {
7272 return QVariant::fromValue(0);
73− } else if (stringValue == "right") {
73+ } else if (stringValue == QLatin1String("right")) {
7474 return QVariant::fromValue(1); // Mir is less clear on this -- any non-zero value is the same
7575 } else {
7676 return QVariant::fromValue(0); // default to left
@@ -284,6 +284,24 @@ QStringList AccountsService::keymaps() const
284284 return {QStringLiteral("us")};
285285}
286286
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+
287305uint AccountsService::failedFingerprintLogins() const
288306{
289307 return getProperty(IFACE_UNITY_PRIVATE, PROP_FAILED_FINGERPRINT_LOGINS).toUInt();
plugins/AccountsService/AccountsService.h+2−3
@@ -79,9 +79,7 @@ class AccountsService: public QObject
7979 NOTIFY hereLicensePathChanged)
8080 Q_PROPERTY(QString realName READ realName WRITE setRealName NOTIFY realNameChanged)
8181 Q_PROPERTY(QString email READ email WRITE setEmail NOTIFY emailChanged)
82− Q_PROPERTY(QStringList keymaps
83− READ keymaps
84− NOTIFY keymapsChanged)
82+ Q_PROPERTY(QStringList keymaps READ keymaps WRITE setKeymaps NOTIFY keymapsChanged)
8583
8684public:
8785 enum PasswordDisplayHint {
@@ -117,6 +115,7 @@ public:
117115 QString email() const;
118116 void setEmail(const QString &email);
119117 QStringList keymaps() const;
118+ void setKeymaps(const QStringList &keymaps);
120119
121120Q_SIGNALS:
122121 void userChanged();
plugins/CMakeLists.txt+1
@@ -15,6 +15,7 @@ add_subdirectory(AccountsService)
1515add_subdirectory(Cursor)
1616add_subdirectory(GlobalShortcut)
1717add_subdirectory(Greeter)
18+add_subdirectory(ImageCache)
1819add_subdirectory(LightDM)
1920add_subdirectory(Lights)
2021add_subdirectory(Dash)
plugins/Cursor/CMakeLists.txt+2−2
@@ -28,6 +28,6 @@ target_link_libraries(Cursor-qml
2828 ${QT5PLATFORM_SUPPORT_LDFLAGS}
2929)
3030
31−qt5_use_modules(Cursor-qml Qml Quick DBus Network Gui Sql Concurrent Svg)
31+qt5_use_modules(Cursor-qml Qml Quick Svg)
3232
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 {
2525 id: imageInfo
2626 themeName: mousePointer.themeName
2727 cursorName: mousePointer.cursorName
28+ cursorHeight: mousePointer.height
2829 }
2930
3031 Loader {
@@ -32,7 +33,7 @@ MousePointer {
3233 sourceComponent: AnimatedSprite {
3334 x: -imageInfo.hotspot.x
3435 y: -imageInfo.hotspot.y
35− source: "image://cursor/" + mousePointer.themeName + "/" + mousePointer.cursorName
36+ source: imageInfo.imageSource
3637
3738 interpolate: false
3839
@@ -53,7 +54,9 @@ MousePointer {
5354 sourceComponent: Image {
5455 x: -imageInfo.hotspot.x
5556 y: -imageInfo.hotspot.y
56− source: "image://cursor/" + mousePointer.themeName + "/" + mousePointer.cursorName
57+ source: imageInfo.imageSource
58+ width: sourceSize.width
59+ height: sourceSize.height
5760 }
5861 }
5962}
plugins/Cursor/CursorImageInfo.cpp+21−1
@@ -28,6 +28,15 @@ void CursorImageInfo::setCursorName(const QString &cursorName)
2828 update();
2929 Q_EMIT cursorNameChanged();
3030 }
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+ }
3140}
3241
3342void CursorImageInfo::setThemeName(const QString &themeName)
@@ -41,13 +50,14 @@ void CursorImageInfo::setThemeName(const QString &themeName)
4150
4251void CursorImageInfo::update()
4352{
44− m_cursorImage = CursorImageProvider::instance()->fetchCursor(m_themeName, m_cursorName);
53+ m_cursorImage = CursorImageProvider::instance()->fetchCursor(m_themeName, m_cursorName, (int) m_cursorHeight);
4554
4655 Q_EMIT hotspotChanged();
4756 Q_EMIT frameWidthChanged();
4857 Q_EMIT frameHeightChanged();
4958 Q_EMIT frameCountChanged();
5059 Q_EMIT frameDurationChanged();
60+ Q_EMIT imageSourceChanged();
5161}
5262
5363QPoint CursorImageInfo::hotspot() const
@@ -94,3 +104,13 @@ int CursorImageInfo::frameDuration() const
94104 return 0;
95105 }
96106}
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 @@
2121
2222#include <QObject>
2323#include <QString>
24+#include <QUrl>
2425
2526class CursorImageInfo : public QObject
2627{
@@ -28,12 +29,14 @@ class CursorImageInfo : public QObject
2829
2930 Q_PROPERTY(QString themeName READ themeName WRITE setThemeName NOTIFY themeNameChanged)
3031 Q_PROPERTY(QString cursorName READ cursorName WRITE setCursorName NOTIFY cursorNameChanged)
32+ Q_PROPERTY(qreal cursorHeight READ cursorHeight WRITE setCursorHeight NOTIFY cursorHeightChanged)
3133
3234 Q_PROPERTY(QPoint hotspot READ hotspot NOTIFY hotspotChanged)
3335 Q_PROPERTY(qreal frameWidth READ frameWidth NOTIFY frameWidthChanged)
3436 Q_PROPERTY(qreal frameHeight READ frameHeight NOTIFY frameHeightChanged)
3537 Q_PROPERTY(int frameCount READ frameCount NOTIFY frameCountChanged)
3638 Q_PROPERTY(int frameDuration READ frameDuration NOTIFY frameDurationChanged)
39+ Q_PROPERTY(QUrl imageSource READ imageSource NOTIFY imageSourceChanged)
3740
3841public:
3942 CursorImageInfo(QObject *parent = nullptr);
@@ -44,20 +47,26 @@ public:
4447 QString cursorName() const { return m_cursorName; }
4548 void setCursorName(const QString &);
4649
50+ qreal cursorHeight() const { return m_cursorHeight; }
51+ void setCursorHeight(qreal);
52+
4753 QPoint hotspot() const;
4854 qreal frameWidth() const;
4955 qreal frameHeight() const;
5056 int frameCount() const;
5157 int frameDuration() const;
58+ QUrl imageSource() const;
5259
5360Q_SIGNALS:
5461 void themeNameChanged();
5562 void cursorNameChanged();
63+ void cursorHeightChanged();
5664 void hotspotChanged();
5765 void frameWidthChanged();
5866 void frameHeightChanged();
5967 void frameCountChanged();
6068 void frameDurationChanged();
69+ void imageSourceChanged();
6170
6271private Q_SLOTS:
6372 void update();
@@ -65,6 +74,7 @@ private Q_SLOTS:
6574private:
6675 QString m_themeName;
6776 QString m_cursorName;
77+ qreal m_cursorHeight{0};
6878
6979 CursorImage *m_cursorImage{nullptr};
7080};
plugins/Cursor/CursorImageProvider.cpp+33−21
@@ -27,7 +27,7 @@ CursorImageProvider *CursorImageProvider::m_instance = nullptr;
2727/////
2828// BuiltInCursorImage
2929
30−BuiltInCursorImage::BuiltInCursorImage()
30+BuiltInCursorImage::BuiltInCursorImage(int cursorHeight)
3131{
3232 const char *svgString =
3333 "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"
@@ -42,12 +42,14 @@ BuiltInCursorImage::BuiltInCursorImage()
4242 " 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\" />"
4343 "</svg>";
4444
45− qimage = QImage(20, 32, QImage::Format_ARGB32);
45+ // NB: Original image dimension is 20x32. Ensure aspect ratio is kept
46+ qimage = QImage((20./32.)*cursorHeight, cursorHeight, QImage::Format_ARGB32);
4647 qimage.fill(Qt::transparent);
4748 QPainter imagePainter(&qimage);
4849
4950 frameWidth = qimage.width();
5051 frameHeight = qimage.height();
52+ requestedHeight = cursorHeight;
5153
5254 QSvgRenderer *svgRenderer = new QSvgRenderer(QByteArray(svgString));
5355 svgRenderer->render(&imagePainter);
@@ -81,11 +83,9 @@ CustomCursorImage::CustomCursorImage(const QCursor &cursor)
8183/////
8284// XCursorImage
8385
84−XCursorImage::XCursorImage(const QString &theme, const QString &file)
86+XCursorImage::XCursorImage(const QString &theme, const QString &file, int preferredCursorHeightPx)
8587{
86− // TODO: Consider grid unit value
87− // Hardcoding to a medium size for now
88− int preferredCursorHeightPx = 32;
88+ requestedHeight = preferredCursorHeightPx;
8989
9090 XcursorImages *xcursorImages = XcursorLibraryLoadImages(QFile::encodeName(file), QFile::encodeName(theme),
9191 preferredCursorHeightPx);
@@ -96,7 +96,7 @@ XCursorImage::XCursorImage(const QString &theme, const QString &file)
9696 frameCount = xcursorImages->nimage;
9797
9898 for (int i = 0; i < xcursorImages->nimage; ++i) {
99− XcursorImage *xcursorImage = xcursorImages->images[0];
99+ XcursorImage *xcursorImage = xcursorImages->images[i];
100100 if (frameWidth < (int)xcursorImage->width) {
101101 frameWidth = xcursorImage->width;
102102 }
@@ -235,34 +235,43 @@ CursorImageProvider::~CursorImageProvider()
235235 m_instance = nullptr;
236236}
237237
238−QImage CursorImageProvider::requestImage(const QString &cursorThemeAndName, QSize *size, const QSize & /*requestedSize*/)
238+QImage CursorImageProvider::requestImage(const QString &cursorThemeAndNameAndHeight, QSize *size, const QSize & /*requestedSize*/)
239239{
240− CursorImage *cursorImage = fetchCursor(cursorThemeAndName);
240+ CursorImage *cursorImage = fetchCursor(cursorThemeAndNameAndHeight);
241241 size->setWidth(cursorImage->qimage.width());
242242 size->setHeight(cursorImage->qimage.height());
243243
244244 return cursorImage->qimage;
245245}
246246
247−CursorImage *CursorImageProvider::fetchCursor(const QString &cursorThemeAndName)
247+CursorImage *CursorImageProvider::fetchCursor(const QString &cursorThemeAndNameAndHeight)
248248{
249249 QString themeName;
250250 QString cursorName;
251+ int cursorHeight;
251252 {
252− QStringList themeAndNameList = cursorThemeAndName.split('/');
253− if (themeAndNameList.size() != 2) {
253+ QStringList themeAndNameList = cursorThemeAndNameAndHeight.split('/');
254+ if (themeAndNameList.size() != 3) {
254255 return nullptr;
255256 }
256257 themeName = themeAndNameList[0];
257258 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+ }
258267 }
259268
260− return fetchCursor(themeName, cursorName);
269+ return fetchCursor(themeName, cursorName, cursorHeight);
261270}
262271
263−CursorImage *CursorImageProvider::fetchCursor(const QString &themeName, const QString &cursorName)
272+CursorImage *CursorImageProvider::fetchCursor(const QString &themeName, const QString &cursorName, int cursorHeight)
264273{
265− CursorImage *cursorImage = fetchCursorHelper(themeName, cursorName);
274+ CursorImage *cursorImage = fetchCursorHelper(themeName, cursorName, cursorHeight);
266275
267276 // Try some fallbacks
268277 if (cursorImage->qimage.isNull()) {
@@ -271,7 +280,7 @@ CursorImage *CursorImageProvider::fetchCursor(const QString &themeName, const QS
271280 int i = 0;
272281 while (cursorImage->qimage.isNull() && i < fallbackNames.count()) {
273282 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);
275284 ++i;
276285 }
277286 }
@@ -281,14 +290,14 @@ CursorImage *CursorImageProvider::fetchCursor(const QString &themeName, const QS
281290 if (cursorImage->qimage.isNull() && cursorName != QLatin1String("left_ptr")) {
282291 qDebug() << "CursorImageProvider:" << cursorName
283292 << "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);
285294 }
286295
287296 if (cursorImage->qimage.isNull()) {
288297 // finally, go for the built-in cursor
289298 qWarning() << "CursorImageProvider: couldn't find any cursors. Using the built-in one";
290− if (!m_builtInCursorImage) {
291− m_builtInCursorImage.reset(new BuiltInCursorImage);
299+ if (!m_builtInCursorImage || m_builtInCursorImage->requestedHeight != cursorHeight) {
300+ m_builtInCursorImage.reset(new BuiltInCursorImage(cursorHeight));
292301 }
293302 cursorImage = m_builtInCursorImage.data();
294303 }
@@ -296,7 +305,7 @@ CursorImage *CursorImageProvider::fetchCursor(const QString &themeName, const QS
296305 return cursorImage;
297306}
298307
299−CursorImage *CursorImageProvider::fetchCursorHelper(const QString &themeName, const QString &cursorName)
308+CursorImage *CursorImageProvider::fetchCursorHelper(const QString &themeName, const QString &cursorName, int cursorHeight)
300309{
301310 if (cursorName == QLatin1String("blank")) {
302311 return &m_blankCursorImage;
@@ -306,7 +315,10 @@ CursorImage *CursorImageProvider::fetchCursorHelper(const QString &themeName, co
306315 QMap<QString, CursorImage*> &themeCursors = m_cursors[themeName];
307316
308317 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);
310322 }
311323
312324 return themeCursors[cursorName];
plugins/Cursor/CursorImageProvider.h+9−6
@@ -42,17 +42,20 @@ public:
4242 int frameHeight{0};
4343 int frameCount{1};
4444 int frameDuration{40};
45+
46+ // Requested height when creating this cursor.
47+ int requestedHeight{0};
4548};
4649
4750class XCursorImage : public CursorImage {
4851public:
49− XCursorImage(const QString &theme, const QString &file);
52+ XCursorImage(const QString &theme, const QString &file, int preferredCursorHeightPx);
5053 virtual ~XCursorImage();
5154};
5255
5356class BuiltInCursorImage : public CursorImage {
5457public:
55− BuiltInCursorImage();
58+ BuiltInCursorImage(int cursorHeight);
5659};
5760
5861class BlankCursorImage : public CursorImage {
@@ -74,15 +77,15 @@ public:
7477 static CursorImageProvider *instance() { return m_instance; }
7578
7679
77− QImage requestImage(const QString &cursorName, QSize *size, const QSize &requestedSize) override;
80+ QImage requestImage(const QString &cursorThemeAndNameAndHeight, QSize *size, const QSize &requestedSize) override;
7881
79− CursorImage *fetchCursor(const QString &themeName, const QString &cursorName);
82+ CursorImage *fetchCursor(const QString &themeName, const QString &cursorName, int cursorHeight);
8083
8184 void setCustomCursor(const QCursor &customCursor);
8285
8386private:
84− CursorImage *fetchCursor(const QString &cursorThemeAndName);
85− CursorImage *fetchCursorHelper(const QString &themeName, const QString &cursorName);
87+ CursorImage *fetchCursor(const QString &cursorThemeAndNameAndHeight);
88+ CursorImage *fetchCursorHelper(const QString &themeName, const QString &cursorName, int cursorHeight);
8689
8790 // themeName -> (cursorName -> cursorImage)
8891 // TODO: discard old, unused, cursors
plugins/Cursor/MousePointer.cpp+90−13
@@ -22,6 +22,7 @@
2222
2323#include <QQuickWindow>
2424#include <QGuiApplication>
25+#include <QtMath>
2526
2627#include <qpa/qwindowsysteminterface.h>
2728
@@ -49,28 +50,77 @@ void MousePointer::handleMouseEvent(ulong timestamp, QPointF movement, Qt::Mouse
4950 m_accumulatedMovement -= appliedMovement;
5051
5152 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
5374 Q_EMIT pushedLeftBoundary(qAbs(newX), buttons);
54− newX = 0;
55− } else if (newX >= parentItem()->width()) {
56− Q_EMIT pushedRightBoundary(newX - (parentItem()->width() - 1), buttons);
57− newX = parentItem()->width() - 1;
75+ m_pushing = true;
76+ } else if (newX >= sceneWidth) { // right edge
77+ Q_EMIT pushedRightBoundary(newX - (sceneWidth - 1), buttons);
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+ }
5887 }
59− setX(newX);
6088
61− qreal newY = y() + appliedMovement.y();
62− if (newY < 0) {
63− newY = 0;
64− } else if (newY >= parentItem()->height()) {
65− newY = parentItem()->height() - 1;
66− }
67− setY(newY);
89+ applyItemConfinement(newX, newY);
90+
91+ setX(qBound(0.0, newX, sceneWidth - 1));
92+ setY(qBound(0.0, newY, sceneHeight - 1));
6893
6994 QPointF scenePosition = mapToItem(nullptr, QPointF(0, 0));
7095 QWindowSystemInterface::handleMouseEvent(window(), timestamp, scenePosition /*local*/, scenePosition /*global*/,
7196 buttons, modifiers);
7297}
7398
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+
74124void MousePointer::handleWheelEvent(ulong timestamp, QPoint angleDelta, Qt::KeyboardModifiers modifiers)
75125{
76126 if (!parentItem()) {
@@ -82,6 +132,20 @@ void MousePointer::handleWheelEvent(ulong timestamp, QPoint angleDelta, Qt::Keyb
82132 QPoint() /* pixelDelta */, angleDelta, modifiers, Qt::ScrollUpdate);
83133}
84134
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+
85149void MousePointer::itemChange(ItemChange change, const ItemChangeData &value)
86150{
87151 if (change == ItemSceneChange) {
@@ -156,3 +220,16 @@ void MousePointer::setCustomCursor(const QCursor &customCursor)
156220{
157221 CursorImageProvider::instance()->setCustomCursor(customCursor);
158222}
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 @@
2727
2828class MousePointer : public MirMousePointerInterface {
2929 Q_OBJECT
30+ Q_PROPERTY(QQuickItem* confiningItem READ confiningItem WRITE setConfiningItem NOTIFY confiningItemChanged)
31+ Q_PROPERTY(int topBoundaryOffset READ topBoundaryOffset WRITE setTopBoundaryOffset NOTIFY topBoundaryOffsetChanged)
3032public:
3133 MousePointer(QQuickItem *parent = nullptr);
3234
@@ -38,6 +40,12 @@ public:
3840
3941 void setCustomCursor(const QCursor &) override;
4042
43+ QQuickItem* confiningItem() const;
44+ void setConfiningItem(QQuickItem*);
45+
46+ int topBoundaryOffset() const;
47+ void setTopBoundaryOffset(int topBoundaryOffset);
48+
4149public Q_SLOTS:
4250 void handleMouseEvent(ulong timestamp, QPointF movement, Qt::MouseButtons buttons,
4351 Qt::KeyboardModifiers modifiers) override;
@@ -46,7 +54,16 @@ public Q_SLOTS:
4654Q_SIGNALS:
4755 void pushedLeftBoundary(qreal amount, Qt::MouseButtons buttons);
4856 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();
4963 void mouseMoved();
64+ void confiningItemChanged();
65+
66+ void topBoundaryOffsetChanged(int topBoundaryOffset);
5067
5168protected:
5269 void itemChange(ItemChange change, const ItemChangeData &value) override;
@@ -56,6 +73,7 @@ private Q_SLOTS:
5673
5774private:
5875 void registerWindow(QWindow *window);
76+ void applyItemConfinement(qreal &newX, qreal &newY);
5977
6078 QPointer<QWindow> m_registeredWindow;
6179 QPointer<QScreen> m_registeredScreen;
@@ -64,6 +82,11 @@ private:
6482
6583 // Accumulated, unapplied, mouse movement.
6684 QPointF m_accumulatedMovement;
85+
86+ QPointer<QQuickItem> m_confiningItem;
87+
88+ int m_topBoundaryOffset{0};
89+ bool m_pushing{false};
6790};
6891
6992#endif // MOUSEPOINTER_H
plugins/Dash/CardAttributes.qml+1−1
@@ -62,7 +62,7 @@ GridLayout {
6262 elide: Text.ElideRight
6363 maximumLineCount: 1
6464 font.weight: "style" in modelData && modelData["style"] === "highlighted" ? Font.Bold : Font.Light
65− fontSize: "small"
65+ fontSize: "x-small"
6666 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale)
6767 color: grid.color
6868 }
plugins/Dash/CardCreator.js+119−120
@@ -25,10 +25,10 @@ var kBackgroundLoaderCode = 'Loader {\n\
2525 objectName: "backgroundLoader"; \n\
2626 anchors.fill: parent; \n\
2727 asynchronous: %3; \n\
28− visible: status == Loader.Ready; \n\
28+ visible: status === Loader.Ready; \n\
2929 sourceComponent: UbuntuShape { \n\
3030 objectName: "background"; \n\
31− radius: "medium"; \n\
31+ radius: "small"; \n\
3232 aspect: { \n\
3333 switch (root.backgroundShapeStyle) { \n\
3434 case "inset": return UbuntuShape.Inset; \n\
@@ -64,7 +64,7 @@ var kArtUbuntuShapeCode = 'UbuntuShape { \n\
6464 anchors.fill: parent; \n\
6565 source: artImage; \n\
6666 sourceFillMode: UbuntuShape.PreserveAspectCrop; \n\
67− radius: "medium"; \n\
67+ radius: "small"; \n\
6868 aspect: %1; \n\
6969 }';
7070
@@ -75,7 +75,7 @@ var kArtProportionalShapeCode = 'ProportionalShape { \n\
7575 aspect: UbuntuShape.DropShadow; \n\
7676 }';
7777
78−// %1 is used as anchors of artShapeHolder
78+// %1 is used as anchors of artShapeLoader
7979// %2 is used as image width
8080// %3 is used as image height
8181// %4 is whether the image should be visible
@@ -83,42 +83,39 @@ var kArtProportionalShapeCode = 'ProportionalShape { \n\
8383// %6 is the shape code we want to use
8484// %7 is injected as code to artImage
8585// %8 is used as image fallback
86−var kArtShapeHolderCode = 'Item { \n\
87− id: artShapeHolder; \n\
86+var kArtShapeHolderCode = 'Loader { \n\
87+ id: artShapeLoader; \n\
8888 height: root.fixedArtShapeSize.height; \n\
8989 width: root.fixedArtShapeSize.width; \n\
9090 anchors { %1 } \n\
91− Loader { \n\
92− id: artShapeLoader; \n\
93− objectName: "artShapeLoader"; \n\
94− readonly property string cardArt: cardData && cardData["art"] || %8; \n\
95− onCardArtChanged: { if (item) { item.image.source = cardArt; } } \n\
96− active: cardArt != ""; \n\
97− asynchronous: %5; \n\
98− visible: status == Loader.Ready; \n\
99− sourceComponent: Item { \n\
100− id: artShape; \n\
101− objectName: "artShape"; \n\
102− visible: image.status == Image.Ready; \n\
103− readonly property alias image: artImage; \n\
104− %6 \n\
105− width: root.fixedArtShapeSize.width; \n\
106− height: root.fixedArtShapeSize.height; \n\
107− CroppedImageMinimumSourceSize { \n\
108− id: artImage; \n\
109− objectName: "artImage"; \n\
110− source: artShapeLoader.cardArt; \n\
111− asynchronous: %5; \n\
112− visible: %4; \n\
113− width: %2; \n\
114− height: %3; \n\
115− %7 \n\
116− } \n\
91+ objectName: "artShapeLoader"; \n\
92+ readonly property string cardArt: cardData && cardData["art"] || %8; \n\
93+ onCardArtChanged: { if (item) { item.image.source = cardArt; } } \n\
94+ active: cardArt != ""; \n\
95+ asynchronous: %5; \n\
96+ visible: status === Loader.Ready; \n\
97+ sourceComponent: Item { \n\
98+ id: artShape; \n\
99+ objectName: "artShape"; \n\
100+ visible: image.status === Image.Ready; \n\
101+ readonly property alias image: artImage; \n\
102+ %6 \n\
103+ width: root.fixedArtShapeSize.width; \n\
104+ height: root.fixedArtShapeSize.height; \n\
105+ CroppedImageMinimumSourceSize { \n\
106+ id: artImage; \n\
107+ objectName: "artImage"; \n\
108+ source: artShapeLoader.cardArt; \n\
109+ asynchronous: %5; \n\
110+ visible: %4; \n\
111+ width: %2; \n\
112+ height: %3; \n\
113+ %7 \n\
117114 } \n\
118115 } \n\
119116 }\n';
120117
121−// %1 is used as anchors of artShapeHolder
118+// %1 is used as anchors of artShapeLoader
122119// %2 is used as image width
123120// %3 is used as image height
124121// %4 is whether the image should be visible
@@ -126,37 +123,32 @@ var kArtShapeHolderCode = 'Item { \n\
126123// %6 is the shape code we want to use
127124// %7 is injected as code to artImage
128125// %8 is used as image fallback
129−var kArtShapeHolderCodeCardToolCard = 'Item { \n\
130− id: artShapeHolder; \n\
131− height: artShapeLoader.height; \n\
132− width: artShapeLoader.width; \n\
126+var kArtShapeHolderCodeCardToolCard = 'Loader { \n\
127+ id: artShapeLoader; \n\
133128 anchors { %1 } \n\
134− Loader { \n\
135− id: artShapeLoader; \n\
136− objectName: "artShapeLoader"; \n\
137− readonly property string cardArt: cardData && cardData["art"] || %8; \n\
138− onCardArtChanged: { if (item) { item.image.source = cardArt; } } \n\
139− active: cardArt != ""; \n\
140− asynchronous: %5; \n\
141− visible: status == Loader.Ready; \n\
142− sourceComponent: Item { \n\
143− id: artShape; \n\
144− objectName: "artShape"; \n\
145− visible: image.status == Image.Ready; \n\
146− readonly property alias image: artImage; \n\
147− %6 \n\
148− width: image.status !== Image.Ready ? 0 : image.width; \n\
149− height: image.status !== Image.Ready ? 0 : image.height; \n\
150− CroppedImageMinimumSourceSize { \n\
151− id: artImage; \n\
152− objectName: "artImage"; \n\
153− source: artShapeLoader.cardArt; \n\
154− asynchronous: %5; \n\
155− visible: %4; \n\
156− width: %2; \n\
157− height: %3; \n\
158− %7 \n\
159− } \n\
129+ objectName: "artShapeLoader"; \n\
130+ readonly property string cardArt: cardData && cardData["art"] || %8; \n\
131+ onCardArtChanged: { if (item) { item.image.source = cardArt; } } \n\
132+ active: cardArt != ""; \n\
133+ asynchronous: %5; \n\
134+ visible: status === Loader.Ready; \n\
135+ sourceComponent: Item { \n\
136+ id: artShape; \n\
137+ objectName: "artShape"; \n\
138+ visible: image.status === Image.Ready; \n\
139+ readonly property alias image: artImage; \n\
140+ %6 \n\
141+ width: image.status !== Image.Ready ? 0 : image.width; \n\
142+ height: image.status !== Image.Ready ? 0 : image.height; \n\
143+ CroppedImageMinimumSourceSize { \n\
144+ id: artImage; \n\
145+ objectName: "artImage"; \n\
146+ source: artShapeLoader.cardArt; \n\
147+ asynchronous: %5; \n\
148+ visible: %4; \n\
149+ width: %2; \n\
150+ height: %3; \n\
151+ %7 \n\
160152 } \n\
161153 } \n\
162154 }\n';
@@ -174,7 +166,7 @@ var kAudioButtonCode = 'AbstractButton { \n\
174166 UbuntuShape { \n\
175167 anchors.fill: parent; \n\
176168 visible: parent.pressed; \n\
177− radius: "medium"; \n\
169+ radius: "small"; \n\
178170 } \n\
179171 Rectangle { \n\
180172 color: Qt.rgba(0, 0, 0, 0.5); \n\
@@ -214,15 +206,15 @@ var kAudioButtonCode = 'AbstractButton { \n\
214206var kOverlayLoaderCode = 'Loader { \n\
215207 id: overlayLoader; \n\
216208 readonly property real overlayHeight: %2 + units.gu(2); \n\
217− anchors.fill: artShapeHolder; \n\
209+ anchors.fill: artShapeLoader; \n\
218210 active: artShapeLoader.active && artShapeLoader.item && artShapeLoader.item.image.status === Image.Ready || false; \n\
219211 asynchronous: %1; \n\
220− visible: showHeader && status == Loader.Ready; \n\
212+ visible: showHeader && status === Loader.Ready; \n\
221213 sourceComponent: UbuntuShapeOverlay { \n\
222214 id: overlay; \n\
223215 property real luminance: Style.luminance(overlayColor); \n\
224216 aspect: UbuntuShape.Flat; \n\
225− radius: "medium"; \n\
217+ radius: "small"; \n\
226218 overlayColor: cardData && cardData["overlayColor"] || "#99000000"; \n\
227219 overlayRect: Qt.rect(0, 1 - overlayLoader.overlayHeight / height, 1, 1); \n\
228220 } \n\
@@ -274,10 +266,10 @@ var kMascotShapeLoaderCode = 'Loader { \n\
274266 objectName: "mascotShapeLoader"; \n\
275267 asynchronous: %2; \n\
276268 active: mascotImage.status === Image.Ready; \n\
277− visible: showHeader && active && status == Loader.Ready; \n\
269+ visible: showHeader && active && status === Loader.Ready; \n\
278270 width: units.gu(6); \n\
279271 height: units.gu(5.625); \n\
280− sourceComponent: UbuntuShape { image: mascotImage } \n\
272+ sourceComponent: UbuntuShape { aspect: UbuntuShape.Flat; image: mascotImage } \n\
281273 anchors { %1 } \n\
282274 }\n';
283275
@@ -316,7 +308,7 @@ var kTitleLabelCode = 'Label { \n\
316308 visible: showHeader %3; \n\
317309 width: %4; \n\
318310 text: root.title; \n\
319− font.weight: cardData && cardData["subtitle"] ? Font.DemiBold : Font.Normal; \n\
311+ font.weight: Font.Normal; \n\
320312 horizontalAlignment: %5; \n\
321313 }\n';
322314
@@ -339,13 +331,15 @@ var kEmblemIconCode = 'Icon { \n\
339331 }\n';
340332
341333// %1 is used as anchors of touchdown effect
342−var kTouchdownCode = 'UbuntuShape { \n\
343− id: touchdown; \n\
344− objectName: "touchdown"; \n\
334+var kTouchdownCode = 'Loader { \n\
335+ active: root.pressed; \n\
345336 anchors { %1 } \n\
346− visible: root.pressed; \n\
347− radius: "medium"; \n\
348− borderSource: "radius_pressed.sci" \n\
337+ sourceComponent: UbuntuShape { \n\
338+ objectName: "touchdown"; \n\
339+ anchors.fill: parent; \n\
340+ radius: "small"; \n\
341+ borderSource: "radius_pressed.sci" \n\
342+ } \n\
349343 }\n';
350344
351345// %1 is used as anchors of subtitleLabel
@@ -405,7 +399,8 @@ var kSummaryLabelCode = 'Label { \n\
405399 elide: Text.ElideRight; \n\
406400 text: cardData && cardData["summary"] || ""; \n\
407401 height: text ? implicitHeight : 0; \n\
408− fontSize: "small"; \n\
402+ fontSize: "x-small"; \n\
403+ font.weight: Font.Light; \n\
409404 color: %3; \n\
410405 }\n';
411406
@@ -437,7 +432,7 @@ function sanitizeColor(colorString) {
437432 return colorString;
438433}
439434
440−function cardString(template, components, isCardTool, artShapeStyle) {
435+function cardString(template, components, isCardTool, artShapeStyle, categoryLayout) {
441436 var code;
442437
443438 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) {
445440 code = 'AbstractButton { \n\
446441 id: root; \n\
447442 property var cardData; \n\
448− property string backgroundShapeStyle: "inset"; \n\
443+ property string backgroundShapeStyle: "flat"; \n\
449444 property real fontScale: 1.0; \n\
450445 property var scopeStyle: null; \n\
451446 readonly property string title: cardData && cardData["title"] || ""; \n\
@@ -514,10 +509,10 @@ function cardString(template, components, isCardTool, artShapeStyle) {
514509 }
515510
516511 if (hasArt) {
517− code += 'readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);\n';
518−
519512 var artShapeAspect;
520513 if (isCardTool) {
514+ code += 'readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);\n';
515+
521516 var artShapeAspect = components["art"] && components["art"]["aspect-ratio"] || 1;
522517 if (isNaN(artShapeAspect)) {
523518 artShapeAspect = 1;
@@ -581,7 +576,7 @@ function cardString(template, components, isCardTool, artShapeStyle) {
581576 .arg(artShapeHolderShapeCode)
582577 .arg(fallbackStatusCode)
583578 .arg(fallbackURICode);
584− } else {
579+ } else if (isCardTool) {
585580 code += 'readonly property size artShapeSize: Qt.size(-1, -1);\n'
586581 }
587582
@@ -592,15 +587,15 @@ function cardString(template, components, isCardTool, artShapeStyle) {
592587
593588 var headerVerticalAnchors;
594589 if (headerAsOverlay) {
595− headerVerticalAnchors = 'bottom: artShapeHolder.bottom; \n\
590+ headerVerticalAnchors = 'bottom: artShapeLoader.bottom; \n\
596591 bottomMargin: units.gu(1);\n';
597592 } else {
598593 if (hasArt) {
599594 if (isHorizontal) {
600− headerVerticalAnchors = 'top: artShapeHolder.top; \n\
595+ headerVerticalAnchors = 'top: artShapeLoader.top; \n\
601596 topMargin: units.gu(1);\n';
602597 } else {
603− headerVerticalAnchors = 'top: artShapeHolder.bottom; \n\
598+ headerVerticalAnchors = 'top: artShapeLoader.bottom; \n\
604599 topMargin: units.gu(1);\n';
605600 }
606601 } else {
@@ -612,7 +607,7 @@ function cardString(template, components, isCardTool, artShapeStyle) {
612607 var headerLeftAnchor;
613608 var headerLeftAnchorHasMargin = false;
614609 if (isHorizontal && hasArt) {
615− headerLeftAnchor = 'left: artShapeHolder.right; \n\
610+ headerLeftAnchor = 'left: artShapeLoader.right; \n\
616611 leftMargin: units.gu(1);\n';
617612 headerLeftAnchorHasMargin = true;
618613 } else if (isHorizontal && isAudio) {
@@ -866,7 +861,7 @@ function cardString(template, components, isCardTool, artShapeStyle) {
866861 var audioButtonWidth;
867862 var audioButtonHeight;
868863 if (hasArt) {
869− audioButtonAnchorsFill = 'artShapeHolder';
864+ audioButtonAnchorsFill = 'artShapeLoader';
870865 audioButtonWidth = 'undefined';
871866 audioButtonHeight = 'undefined';
872867 } else {
@@ -880,15 +875,15 @@ function cardString(template, components, isCardTool, artShapeStyle) {
880875
881876 if (hasSummary) {
882877 var summaryTopAnchor;
883− if (isHorizontal && hasArt) summaryTopAnchor = 'artShapeHolder.bottom';
884− else if (headerAsOverlay && hasArt) summaryTopAnchor = 'artShapeHolder.bottom';
878+ if (isHorizontal && hasArt) summaryTopAnchor = 'artShapeLoader.bottom';
879+ else if (headerAsOverlay && hasArt) summaryTopAnchor = 'artShapeLoader.bottom';
885880 else if (hasHeaderRow) summaryTopAnchor = 'row.bottom';
886881 else if (hasTitleContainer) summaryTopAnchor = 'headerTitleContainer.bottom';
887882 else if (hasMascot) summaryTopAnchor = 'mascotImage.bottom';
888883 else if (hasAttributes) summaryTopAnchor = 'attributesRow.bottom';
889884 else if (hasSubtitle) summaryTopAnchor = 'subtitleLabel.bottom';
890885 else if (hasTitle) summaryTopAnchor = 'titleLabel.bottom';
891− else if (hasArt) summaryTopAnchor = 'artShapeHolder.bottom';
886+ else if (hasArt) summaryTopAnchor = 'artShapeLoader.bottom';
892887 else summaryTopAnchor = 'parent.top';
893888
894889 var summaryColor;
@@ -908,15 +903,15 @@ function cardString(template, components, isCardTool, artShapeStyle) {
908903 var socialTopAnchor;
909904
910905 if (hasSummary) socialTopAnchor = 'summary.bottom;';
911− else if (isHorizontal && hasArt) socialTopAnchor = 'artShapeHolder.bottom;';
912− else if (headerAsOverlay && hasArt) socialTopAnchor = 'artShapeHolder.bottom;';
906+ else if (isHorizontal && hasArt) socialTopAnchor = 'artShapeLoader.bottom;';
907+ else if (headerAsOverlay && hasArt) socialTopAnchor = 'artShapeLoader.bottom;';
913908 else if (hasHeaderRow) socialTopAnchor = 'row.bottom;';
914909 else if (hasTitleContainer) socialTopAnchor = 'headerTitleContainer.bottom;';
915910 else if (hasMascot) socialTopAnchor = 'mascotImage.bottom;';
916911 else if (hasAttributes) socialTopAnchor = 'attributesRow.bottom;';
917912 else if (hasSubtitle) socialTopAnchor = 'subtitleLabel.bottom;';
918913 else if (hasTitle) socialTopAnchor = 'titleLabel.bottom;';
919− else if (hasArt) socialTopAnchor = 'artShapeHolder.bottom;';
914+ else if (hasArt) socialTopAnchor = 'artShapeLoader.bottom;';
920915 else socialTopAnchor = 'parent.top';
921916
922917 socialAnchors = 'top: ' + socialTopAnchor + ' left: parent.left; right: parent.right; topMargin: units.gu(1);'
@@ -931,41 +926,45 @@ function cardString(template, components, isCardTool, artShapeStyle) {
931926 code += kSocialActionsRowCode.arg(socialAnchors).arg(socialColor);
932927 }
933928
934− if (artShapeStyle != "shadow" && artShapeStyle != "icon") {
929+ if (artShapeStyle != "shadow" && artShapeStyle != "icon" && !isCardTool) {
935930 var touchdownAnchors;
936931 if (hasBackground) {
937932 touchdownAnchors = 'fill: backgroundLoader';
938933 } else if (touchdownOnArtShape) {
939− touchdownAnchors = 'fill: artShapeHolder';
934+ touchdownAnchors = 'fill: artShapeLoader';
940935 } else {
941936 touchdownAnchors = 'fill: root'
942937 }
943938 code += kTouchdownCode.arg(touchdownAnchors);
944939 }
945940
946− var implicitHeight = 'implicitHeight: ';
947− if (hasSocialActions) {
948− implicitHeight += 'socialActionsRow.y + socialActionsRow.height + units.gu(1);\n';
949− } else if (hasSummary) {
950− implicitHeight += 'summary.y + summary.height + units.gu(1);\n';
951− } else if (isAudio) {
952− implicitHeight += 'audioButton.height;\n';
953− } else if (headerAsOverlay) {
954− implicitHeight += 'artShapeHolder.height;\n';
955− } else if (hasHeaderRow) {
956− implicitHeight += 'row.y + row.height + units.gu(1);\n';
957− } else if (hasMascot) {
958− implicitHeight += 'mascotImage.y + mascotImage.height;\n';
959− } else if (hasTitleContainer) {
960− implicitHeight += 'headerTitleContainer.y + headerTitleContainer.height + units.gu(1);\n';
961− } else if (hasAttributes) {
962− implicitHeight += 'attributesRow.y + attributesRow.height + units.gu(1);\n';
963− } else if (hasSubtitle) {
964− implicitHeight += 'subtitleLabel.y + subtitleLabel.height + units.gu(1);\n';
965− } else if (hasTitle) {
966− implicitHeight += 'titleLabel.y + titleLabel.height + units.gu(1);\n';
967− } else if (hasArt) {
968− implicitHeight += 'artShapeHolder.height;\n';
941+ if (isCardTool || categoryLayout !== "grid") {
942+ var implicitHeight = 'implicitHeight: ';
943+ if (hasSocialActions) {
944+ implicitHeight += 'socialActionsRow.y + socialActionsRow.height + units.gu(1);\n';
945+ } else if (hasSummary) {
946+ implicitHeight += 'summary.y + summary.height + units.gu(1);\n';
947+ } else if (isAudio) {
948+ implicitHeight += 'audioButton.height;\n';
949+ } else if (headerAsOverlay) {
950+ implicitHeight += 'artShapeLoader.height;\n';
951+ } else if (hasHeaderRow) {
952+ implicitHeight += 'row.y + row.height + units.gu(1);\n';
953+ } else if (hasMascot) {
954+ implicitHeight += 'mascotImage.y + mascotImage.height;\n';
955+ } else if (hasTitleContainer) {
956+ implicitHeight += 'headerTitleContainer.y + headerTitleContainer.height + units.gu(1);\n';
957+ } else if (hasAttributes) {
958+ implicitHeight += 'attributesRow.y + attributesRow.height + units.gu(1);\n';
959+ } else if (hasSubtitle) {
960+ implicitHeight += 'subtitleLabel.y + subtitleLabel.height + units.gu(1);\n';
961+ } else if (hasTitle) {
962+ implicitHeight += 'titleLabel.y + titleLabel.height + units.gu(1);\n';
963+ } else if (hasArt) {
964+ implicitHeight += 'artShapeLoader.height;\n';
965+ } else {
966+ implicitHeight = '';
967+ }
969968 } else {
970969 implicitHeight = '';
971970 }
@@ -976,13 +975,13 @@ function cardString(template, components, isCardTool, artShapeStyle) {
976975 return code;
977976}
978977
979−function createCardComponent(parent, template, components, isCardTool, artShapeStyle, identifier) {
978+function createCardComponent(parent, template, components, isCardTool, artShapeStyle, categoryLayout, identifier) {
980979 var imports = 'import QtQuick 2.4; \n\
981980 import Ubuntu.Components 1.3; \n\
982981 import Ubuntu.Settings.Components 0.1; \n\
983982 import Dash 0.1;\n\
984983 import Utils 0.1;\n';
985− var card = cardString(template, components, isCardTool, artShapeStyle);
984+ var card = cardString(template, components, isCardTool, artShapeStyle, categoryLayout);
986985 var code = imports + 'Component {\n' + card + '}\n';
987986
988987 try {
plugins/Dash/CardCreatorCache.qml+3−3
@@ -23,16 +23,16 @@ QtObject {
2323
2424 property var cache: new Object();
2525
26− function getCardComponent(template, components, isCardTool, artShapeStyle) {
26+ function getCardComponent(template, components, isCardTool, artShapeStyle, categoryLayout) {
2727 if (template === undefined || components === undefined)
2828 return undefined;
2929
3030 var tString = JSON.stringify(template);
3131 var cString = JSON.stringify(components);
32− var allString = tString + cString + isCardTool + artShapeStyle;
32+ var allString = tString + cString + isCardTool + artShapeStyle + categoryLayout;
3333 var component = cache[allString];
3434 if (component === undefined) {
35− component = CardCreator.createCardComponent(root, template, components, isCardTool, artShapeStyle, allString);
35+ component = CardCreator.createCardComponent(root, template, components, isCardTool, artShapeStyle, categoryLayout, allString);
3636 cache[allString] = component;
3737 }
3838 return component;
plugins/Dash/DashAudioPlayer.qml+45−21
@@ -20,16 +20,22 @@ import QtMultimedia 5.6
2020import Dash 0.1
2121
2222QtObject {
23− readonly property real progress: audio.position / audio.duration
24− readonly property bool playing: audio.playbackState === Audio.PlayingState
25− readonly property bool paused: audio.playbackState === Audio.PausedState
26− readonly property bool stopped: audio.playbackState === Audio.StoppedState
27− readonly property alias position: audio.position
28− readonly property url currentSource: audio.playlist.currentItemSource
23+ id: root
24+ readonly property real progress: priv.audio ? priv.audio.position / priv.audio.duration : 0.0
25+ readonly property bool playing: priv.audio ? priv.audio.playbackState === Audio.PlayingState : false
26+ readonly property bool paused: priv.audio ? priv.audio.playbackState === Audio.PausedState : false
27+ readonly property bool stopped: priv.audio ? priv.audio.playbackState === Audio.StoppedState : true
28+ readonly property int position: priv.audio ? priv.audio.position : 0
29+ readonly property url currentSource: priv.audio ? priv.audio.playlist.currentItemSource : ""
30+ readonly property Playlist playlist: priv.audio ? priv.audio.playlist : null
2931
3032 function playSource(newSource, newPlaylist) {
33+ if (!priv.audio) {
34+ console.info("DashAudioPlayer: creating player");
35+ priv.audio = priv.audioComponent.createObject(root);
36+ }
3137 stop();
32− audio.playlist.clear();
38+ priv.audio.playlist.clear();
3339 if (newPlaylist) {
3440 // Look for newSource in newPlaylist
3541 var sourceIndex = -1;
@@ -48,35 +54,53 @@ QtObject {
4854 for (var i in newPlaylist) {
4955 urls.push(newPlaylist[i]);
5056 }
51− audio.playlist.addItems(urls);
52− audio.playlist.currentIndex = sourceIndex;
57+ priv.audio.playlist.addItems(urls);
58+ priv.audio.playlist.currentIndex = sourceIndex;
5359 } else {
54− audio.playlist.addItem(newSource);
55− audio.playlist.currentIndex = 0;
60+ priv.audio.playlist.addItem(newSource);
61+ priv.audio.playlist.currentIndex = 0;
5662 }
5763 play();
5864 }
5965
6066 function stop() {
61− audio.stop();
67+ if (priv.audio) {
68+ priv.audio.stop();
69+ }
6270 }
6371
6472 function play() {
65− audio.play();
73+ if (priv.audio) {
74+ priv.audio.play();
75+ }
6676 }
6777
6878 function pause() {
69− audio.pause();
79+ if (priv.audio) {
80+ priv.audio.pause();
81+ }
7082 }
7183
72− property QtObject audio: Audio {
73− id: audio
74− objectName: "audio"
75− playlist: Playlist {
76− objectName: "playlist"
84+ property QtObject priv: QtObject {
85+ id: priv
86+ property Audio audio: null
87+ property Component audioComponent: Component {
88+ Audio {
89+ playlist: 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+ }
77103 }
78−
79− onErrorStringChanged: console.warn("Dash Audio player error:", errorString)
80104 }
81105
82106 function lengthToString(s) {
plugins/Dash/abstractdashview.cpp+13
@@ -16,6 +16,8 @@
1616
1717#include "abstractdashview.h"
1818
19+#include <private/qquickitem_p.h>
20+
1921AbstractDashView::AbstractDashView()
2022 : m_delegateModel(nullptr)
2123 , m_asyncRequestedIndex(-1)
@@ -249,6 +251,7 @@ QQuickItem *AbstractDashView::createItem(int modelIndex, bool asynchronous)
249251 }
250252 return nullptr;
251253 } else {
254+ QQuickItemPrivate::get(item)->addItemChangeListener(this, QQuickItemPrivate::Geometry);
252255 addItemToView(modelIndex, item);
253256 return item;
254257 }
@@ -256,6 +259,7 @@ QQuickItem *AbstractDashView::createItem(int modelIndex, bool asynchronous)
256259
257260void AbstractDashView::releaseItem(QQuickItem *item)
258261{
262+ QQuickItemPrivate::get(item)->removeItemChangeListener(this, QQuickItemPrivate::Geometry);
259263 QQmlDelegateModel::ReleaseFlags flags = m_delegateModel->release(item);
260264 if (flags & QQmlDelegateModel::Destroyed) {
261265 item->setParentItem(nullptr);
@@ -294,6 +298,15 @@ void AbstractDashView::onModelUpdated(const QQmlChangeSet &changeSet, bool reset
294298 cleanupExistingItems();
295299 } else {
296300 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+ }
297310 }
298311 polish();
299312}
plugins/Dash/abstractdashview.h+2−1
@@ -23,9 +23,10 @@ class QAbstractItemModel;
2323class QQmlComponent;
2424
2525#include <private/qqmldelegatemodel_p.h>
26+#include <private/qquickitemchangelistener_p.h>
2627#include <qqmlinfo.h>
2728
28−class AbstractDashView : public QQuickItem
29+class AbstractDashView : public QQuickItem, public QQuickItemChangeListener
2930{
3031 Q_OBJECT
3132
plugins/Dash/listviewwithpageheader.cpp+9−16
@@ -587,6 +587,10 @@ void ListViewWithPageHeader::adjustHeader(qreal diff)
587587 } else {
588588 m_headerItem->setY(-m_minYExtent);
589589 }
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);
590594 }
591595 Q_EMIT headerItemShownHeightChanged();
592596 } else {
@@ -768,7 +772,7 @@ QQuickItem *ListViewWithPageHeader::getSectionItem(const QString &sectionText, b
768772 delete nobj;
769773 } else {
770774 sectionItem->setProperty("text", sectionText);
771− sectionItem->setProperty("delegateIndex", -1);
775+ sectionItem->setProperty("delegate", QVariant());
772776 sectionItem->setZ(2);
773777 QQml_setParent_noEvent(sectionItem, m_clipItem);
774778 sectionItem->setParentItem(m_clipItem);
@@ -925,7 +929,7 @@ ListViewWithPageHeader::ListItem *ListViewWithPageHeader::createItem(int modelIn
925929 polish();
926930 }
927931 if (listItem->sectionItem()) {
928− listItem->sectionItem()->setProperty("delegateIndex", modelIndex);
932+ listItem->sectionItem()->setProperty("delegate", QVariant::fromValue(listItem->m_item));
929933 }
930934 adjustMinYExtent();
931935 m_contentHeightDirty = true;
@@ -978,6 +982,7 @@ void ListViewWithPageHeader::onContentWidthChanged()
978982
979983void ListViewWithPageHeader::onHeightChanged()
980984{
985+ m_clipItem->setHeight(height() - m_headerItemShownHeight);
981986 polish();
982987}
983988
@@ -1118,7 +1123,7 @@ void ListViewWithPageHeader::onModelUpdated(const QQmlChangeSet &changeSet, bool
11181123 for (int i = 0; i < m_visibleItems.count(); ++i) {
11191124 ListItem *item = m_visibleItems[i];
11201125 if (item->sectionItem()) {
1121− item->sectionItem()->setProperty("delegateIndex", m_firstVisibleIndex + i);
1126+ item->sectionItem()->setProperty("delegate", QVariant::fromValue(item->m_item));
11221127 }
11231128 }
11241129
@@ -1292,15 +1297,7 @@ void ListViewWithPageHeader::layout()
12921297
12931298 QQuickItemPrivate::get(m_topSectionItem)->setCulled(false);
12941299 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));
13041301 if (item->sectionItem()) {
13051302 QQuickItemPrivate::get(item->sectionItem())->setCulled(true);
13061303 }
@@ -1388,10 +1385,6 @@ void ListViewWithPageHeader::updatePolish()
13881385
13891386 m_contentHeightDirty = false;
13901387 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− }
13951388 m_inContentHeightKeepHeaderShown = m_headerItem && m_headerItem->y() == contentY();
13961389 setContentHeight(contentHeight);
13971390 m_inContentHeightKeepHeaderShown = false;
plugins/Dash/verticaljournal.cpp+9−1
@@ -96,7 +96,7 @@ void VerticalJournal::findTopModelIndexToAdd(int *modelIndex, qreal *yPos)
9696
9797 if (*modelIndex > 0) {
9898 Q_ASSERT(m_indexColumnMap.contains(*modelIndex));
99− while (m_indexColumnMap[*modelIndex] != columnToAddTo) {
99+ while (*modelIndex > 0 && m_indexColumnMap[*modelIndex] != columnToAddTo) {
100100 // We found out that we have to add to columnToAddTo
101101 // and thought that we had to add *modelIndex, but history tells
102102 // 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> &
270270 }
271271 }
272272}
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:
6565 qreal columnWidth() const;
6666 void setColumnWidth(qreal columnWidth);
6767
68+protected:
69+ void itemGeometryChanged(QQuickItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) override;
70+
6871Q_SIGNALS:
6972 void columnWidthChanged();
7073
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)
22pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
33
44add_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
7878 return true;
7979}
8080
81−bool Greeter::lockHint () const
82−{
83− return false;
84−}
85−
8681QString Greeter::selectUserHint() const
8782{
8883 return QLatin1String("");
plugins/LightDM/IntegratedLightDM/liblightdm/Greeter.h−2
@@ -45,7 +45,6 @@ class Q_DECL_EXPORT Greeter : public QObject
4545
4646 Q_PROPERTY(QString hostname READ hostname CONSTANT)
4747 Q_PROPERTY(bool hasGuestAccount READ hasGuestAccountHint CONSTANT)
48− Q_PROPERTY(bool locked READ lockHint CONSTANT)
4948
5049 Q_ENUMS(PromptType MessageType)
5150
@@ -68,7 +67,6 @@ public:
6867 bool hideUsersHint() const;
6968 bool showManualLoginHint() const;
7069 bool showRemoteLoginHint() const;
71− bool lockHint () const;
7270 bool hasGuestAccountHint() const;
7371 QString selectUserHint() const;
7472 bool selectGuestHint() const;
plugins/LightDM/IntegratedLightDM/liblightdm/UsersModel.cpp−2
@@ -40,8 +40,6 @@ UsersModel::UsersModel(QObject *parent) :
4040 QAbstractListModel(parent),
4141 d_ptr(new UsersModelPrivate(this))
4242{
43− Q_D(UsersModel);
44−
4543 // Extend roleNames (we want to keep the "display" role)
4644 QHash<int, QByteArray> roles = roleNames();
4745 roles[NameRole] = "name";
plugins/LightDM/SessionsModel.cpp+30−16
@@ -47,15 +47,15 @@ void SessionsModel::setIconSearchDirectories(const QList<QUrl> searchDirectories
4747 Q_EMIT iconSearchDirectoriesChanged();
4848}
4949
50−QUrl SessionsModel::iconUrl(const QString sessionName) const
50+QUrl SessionsModel::iconUrl(const QString sessionKey) const
5151{
5252 Q_FOREACH(const QUrl& searchDirectory, m_iconSearchDirectories)
5353 {
5454 // This is an established icon naming convention
5555 QString customIconUrl = searchDirectory.toString(QUrl::StripTrailingSlash) +
56− "/custom_" + sessionName + "_badge.png";
56+ "/custom_" + sessionKey + "_badge.png";
5757 QString iconUrl = searchDirectory.toString(QUrl::StripTrailingSlash) +
58− "/" + sessionName + "_badge.png";
58+ "/" + sessionKey + "_badge.png";
5959
6060 QFile customIconFile(customIconUrl);
6161 QFile iconFile(iconUrl);
@@ -63,29 +63,35 @@ QUrl SessionsModel::iconUrl(const QString sessionName) const
6363 return QUrl(customIconUrl);
6464 } else if (iconFile.exists()) {
6565 return QUrl(iconUrl);
66− } else{
66+ } else {
6767 // Search the legacy way
6868 QString path = searchDirectory.toString(QUrl::StripTrailingSlash) + "/";
69− if (sessionName == "ubuntu" || sessionName == "ubuntu-2d") {
69+ bool iconFound = false;
70+ if (sessionKey == "ubuntu" || sessionKey == "ubuntu-2d") {
7071 path += "ubuntu_badge.png";
72+ iconFound = true;
7173 } else if(
72− sessionName == "gnome-classic" ||
73− sessionName == "gnome-flashback-compiz" ||
74− sessionName == "gnome-flashback-metacity" ||
75− sessionName == "gnome-shell" ||
76− sessionName == "gnome-wayland" ||
77− sessionName == "gnome"
74+ sessionKey == "gnome-classic" ||
75+ sessionKey == "gnome-flashback-compiz" ||
76+ sessionKey == "gnome-flashback-metacity" ||
77+ sessionKey == "gnome-shell" ||
78+ sessionKey == "gnome-wayland" ||
79+ sessionKey == "gnome"
7880 ){
7981 path += "gnome_badge.png";
80− } else if (sessionName == "plasma") {
82+ iconFound = true;
83+ } else if (sessionKey == "plasma") {
8184 path += "kde_badge.png";
82− } else if (sessionName == "xterm") {
85+ iconFound = true;
86+ } else if (sessionKey == "xterm") {
8387 path += "recovery_console_badge.png";
84− } else if (sessionName == "remote-login") {
88+ iconFound = true;
89+ } else if (sessionKey == "remote-login") {
8590 path += "remote_login_help.png";
91+ iconFound = true;
8692 }
8793
88− if (QFile(path).exists()) {
94+ if (QFile(path).exists() && iconFound) {
8995 return path;
9096 }
9197 }
@@ -99,7 +105,7 @@ QVariant SessionsModel::data(const QModelIndex& index, int role) const
99105{
100106 switch (role) {
101107 case SessionsModel::IconRole:
102− return iconUrl(m_model->data(index, Qt::DisplayRole).toString());
108+ return iconUrl(m_model->data(index, QLightDM::SessionsModel::KeyRole).toString());
103109 default:
104110 return m_model->data(index, role);
105111 }
@@ -113,6 +119,14 @@ SessionsModel::SessionsModel(QObject* parent)
113119 m_roleNames = m_model->roleNames();
114120 m_roleNames[IconRole] = "icon_url";
115121
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+
116130 setModel(m_model);
117131 setSourceModel(m_model);
118132 setSortCaseSensitivity(Qt::CaseInsensitive);
plugins/LightDM/plugin.cpp+1−1
@@ -82,7 +82,7 @@ void PLUGIN_CLASSNAME::registerTypes(const char *uri)
8282 qRegisterMetaType<QLightDM::Greeter::PromptType>("QLightDM::Greeter::PromptType");
8383
8484 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"));
8686
8787 qmlRegisterSingletonType<UsersModel>(uri, 0, 1, "Users", users_provider);
8888 qmlRegisterUncreatableType<QLightDM::UsersModel>(uri, 0, 1, "UserRoles", QStringLiteral("Type is not instantiable"));
plugins/SessionBroadcast/SessionBroadcast.cpp+35−9
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2013 Canonical, Ltd.
2+ * Copyright (C) 2013,2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -12,12 +12,12 @@
1212 *
1313 * You should have received a copy of the GNU General Public License
1414 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Author: Michael Terry <michael.terry@canonical.com>
1715 */
1816
1917#include "SessionBroadcast.h"
2018#include <QDBusConnection>
19+#include <QDBusConnectionInterface>
20+#include <QDBusInterface>
2121
2222#include <glib.h>
2323
@@ -27,13 +27,39 @@ SessionBroadcast::SessionBroadcast(QObject* parent)
2727 m_username = QString::fromUtf8(g_get_user_name());
2828
2929 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+}
3054
31− connection.connect(QStringLiteral("com.canonical.Unity.Greeter.Broadcast"),
32− QStringLiteral("/com/canonical/Unity/Greeter/Broadcast"),
33− QStringLiteral("com.canonical.Unity.Greeter.Broadcast"),
34− QStringLiteral("ShowHome"),
35− this,
36− SLOT(onShowHome(const QString &)));
55+void SessionBroadcast::onStartUrl(const QString &username, const QString &url)
56+{
57+ // Since this signal is just used for testing, we don't *really* care if
58+ // username matches, but just in case we do eventually use the signal, we
59+ // should only listen to our own requests.
60+ if (username == m_username) {
61+ Q_EMIT startUrl(url);
62+ }
3763}
3864
3965void SessionBroadcast::onShowHome(const QString &username)
plugins/SessionBroadcast/SessionBroadcast.h+10−3
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2013 Canonical, Ltd.
2+ * Copyright (C) 2013,2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -12,8 +12,6 @@
1212 *
1313 * You should have received a copy of the GNU General Public License
1414 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors: Michael Terry <michael.terry@canonical.com>
1715 */
1816
1917#ifndef UNITY_SESSIONBROADCAST_H
@@ -31,14 +29,23 @@ class SessionBroadcast: public QObject
3129public:
3230 explicit SessionBroadcast(QObject *parent = 0);
3331
32+ Q_INVOKABLE void requestUrlStart(const QString &username, const QString &url);
33+ Q_INVOKABLE void requestHomeShown(const QString &username);
34+
3435Q_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);
3540 void showHome();
3641
3742private Q_SLOTS:
43+ void onStartUrl(const QString &username, const QString &url);
3844 void onShowHome(const QString &username);
3945
4046private:
4147 QString m_username;
48+ QDBusInterface *m_broadcaster;
4249};
4350
4451#endif
plugins/Ubuntu/DownloadDaemonListener/CMakeLists.txt+3−1
@@ -12,5 +12,7 @@ set(DOWNLOADDAEMONLISTENER_SOURCES
1212add_library(DownloadDaemonListener MODULE ${DOWNLOADDAEMONLISTENER_SOURCES})
1313
1414qt5_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})
1618add_unity8_plugin(Ubuntu.DownloadDaemonListener 0.1 Ubuntu/DownloadDaemonListener TARGETS DownloadDaemonListener)
plugins/Ubuntu/DownloadDaemonListener/DownloadTracker.cpp+2−1
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2013 - Canonical Ltd.
2+ * Copyright (C) 2013-2016 Canonical Ltd.
33 *
44 * This program is free software: you can redistribute it and/or modify it
55 * under the terms of the GNU Lesser General Public License, as
@@ -78,6 +78,7 @@ void DownloadTracker::startService()
7878 connect(m_adaptor, static_cast<void (DownloadTrackerAdaptor::*)(qulonglong, qulonglong)>(&DownloadTrackerAdaptor::progress), this, &DownloadTracker::progress);
7979 connect(m_adaptor, &DownloadTrackerAdaptor::resumed, this, &DownloadTracker::resumed);
8080 connect(m_adaptor, &DownloadTrackerAdaptor::started, this, &DownloadTracker::started);
81+ connect(m_adaptor, &DownloadTrackerAdaptor::processing, this, &DownloadTracker::processing);
8182 }
8283 // FIXME find a better way of determining if the service is ready
8384 Q_EMIT serviceReadyChanged(m_adaptor && m_adaptor->isValid());
plugins/Ubuntu/DownloadDaemonListener/DownloadTracker.h+2−1
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2013 - Canonical Ltd.
2+ * Copyright (C) 2013-2016 Canonical Ltd.
33 *
44 * This program is free software: you can redistribute it and/or modify it
55 * under the terms of the GNU Lesser General Public License, as
@@ -54,6 +54,7 @@ Q_SIGNALS:
5454 void error(const QString &error);
5555 void finished(const QString &path);
5656 void paused(bool success);
57+ void processing(const QString &path);
5758 void progress(qulonglong received, qulonglong total);
5859 void resumed(bool success);
5960 void started(bool success);
plugins/Ubuntu/DownloadDaemonListener/interface/downloadtrackeradaptor.cpp+2−2
@@ -1,8 +1,8 @@
11/*
22 * 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
44 *
5− * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
5+ * qdbusxml2cpp is Copyright (C) 2015 The Qt Company Ltd.
66 *
77 * This is an auto-generated file.
88 * This file may have been hand-edited. Look for HAND-EDIT comments
plugins/Ubuntu/DownloadDaemonListener/interface/downloadtrackeradaptor.h+71−4
@@ -1,15 +1,15 @@
11/*
22 * 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
44 *
5− * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
5+ * qdbusxml2cpp is Copyright (C) 2015 The Qt Company Ltd.
66 *
77 * This is an auto-generated file.
88 * Do not edit! All changes made to it will be lost.
99 */
1010
11−#ifndef DOWNLOADTRACKERADAPTOR_H_1374434371
12−#define DOWNLOADTRACKERADAPTOR_H_1374434371
11+#ifndef DOWNLOADTRACKERADAPTOR_H
12+#define DOWNLOADTRACKERADAPTOR_H
1313
1414#include <QtCore/QObject>
1515#include <QtCore/QByteArray>
@@ -36,6 +36,22 @@ public:
3636
3737 ~DownloadTrackerAdaptor();
3838
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+
3955public Q_SLOTS: // METHODS
4056 inline QDBusPendingReply<> allowGSMDownload(bool allowed)
4157 {
@@ -50,6 +66,24 @@ public Q_SLOTS: // METHODS
5066 return asyncCallWithArgumentList(QStringLiteral("cancel"), argumentList);
5167 }
5268
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+
5387 inline QDBusPendingReply<bool> isGSMDownloadAllowed()
5488 {
5589 QList<QVariant> argumentList;
@@ -80,6 +114,27 @@ public Q_SLOTS: // METHODS
80114 return asyncCallWithArgumentList(QStringLiteral("resume"), argumentList);
81115 }
82116
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+
83138 inline QDBusPendingReply<> setThrottle(qulonglong speed)
84139 {
85140 QList<QVariant> argumentList;
@@ -93,6 +148,12 @@ public Q_SLOTS: // METHODS
93148 return asyncCallWithArgumentList(QStringLiteral("start"), argumentList);
94149 }
95150
151+ inline QDBusPendingReply<int> state()
152+ {
153+ QList<QVariant> argumentList;
154+ return asyncCallWithArgumentList(QStringLiteral("state"), argumentList);
155+ }
156+
96157 inline QDBusPendingReply<qulonglong> throttle()
97158 {
98159 QList<QVariant> argumentList;
@@ -106,10 +167,16 @@ public Q_SLOTS: // METHODS
106167 }
107168
108169Q_SIGNALS: // SIGNALS
170+ void authError(AuthErrorStruct error);
109171 void canceled(bool success);
110172 void error(const QString &error);
111173 void finished(const QString &path);
174+ void hashError(HashErrorStruct error);
175+ void httpError(HttpErrorStruct error);
176+ void networkError(NetworkErrorStruct error);
112177 void paused(bool success);
178+ void processError(ProcessErrorStruct error);
179+ void processing(const QString &path);
113180 void progress(qulonglong received, qulonglong total);
114181 void resumed(bool success);
115182 void started(bool success);
plugins/Ubuntu/DownloadDaemonListener/interface/metatypes.h+3−6
@@ -1,5 +1,5 @@
11/*
2− * Copyright 2013 2013 Canonical Ltd.
2+ * Copyright 2013-2016 Canonical Ltd.
33 *
44 * This library is free software; you can redistribute it and/or
55 * modify it under the terms of version 3 of the GNU Lesser General Public
@@ -19,10 +19,7 @@
1919#ifndef DOWNLOADER_LIB_APP_METATYPES_H
2020#define DOWNLOADER_LIB_APP_METATYPES_H
2121
22−#include <QMap>
23−
24−typedef QMap<QString, QString> StringMap;
25−
26−Q_DECLARE_METATYPE(StringMap)
22+// Just include the system file so we're always up to date.
23+#include <ubuntu/download_manager/metatypes.h>
2724
2825#endif // METATYPES_H
plugins/Ubuntu/Gestures/AxisVelocityCalculator.cpp+1−1
@@ -21,7 +21,7 @@
2121#include "AxisVelocityCalculator.h"
2222#include <QtCore/QElapsedTimer>
2323
24−using namespace UbuntuGestures;
24+UG_USE_NAMESPACE
2525
2626AxisVelocityCalculator::AxisVelocityCalculator(QObject *parent)
2727 : AxisVelocityCalculator(SharedTimeSource(new RealTimeSource), parent)
plugins/Ubuntu/Gestures/AxisVelocityCalculator.h+4−4
@@ -24,7 +24,7 @@
2424#include "UbuntuGesturesQmlGlobal.h"
2525#include <stdint.h>
2626#include <QtCore/QObject>
27−#include <TimeSource>
27+#include <UbuntuGestures/private/timesource_p.h>
2828
2929/*
3030 Estimates the current velocity of a finger based on recent movement along an axis
@@ -68,7 +68,7 @@ public:
6868 /*
6969 Constructor that takes a TimeSource
7070 */
71− AxisVelocityCalculator(const UbuntuGestures::SharedTimeSource &timeSource, QObject *parent = 0);
71+ AxisVelocityCalculator(const UG_PREPEND_NAMESPACE(SharedTimeSource) &timeSource, QObject *parent = 0);
7272
7373 virtual ~AxisVelocityCalculator();
7474
@@ -90,7 +90,7 @@ public:
9090 /*
9191 Replaces the TimeSource with the given one. Useful for testing purposes.
9292 */
93− void setTimeSource(const UbuntuGestures::SharedTimeSource &timeSource);
93+ void setTimeSource(const UG_PREPEND_NAMESPACE(SharedTimeSource) &timeSource);
9494
9595 /*
9696 The minimum amount of samples needed for a velocity calculation.
@@ -138,7 +138,7 @@ private:
138138 int m_samplesRead; /* index of the oldest sample available. -1 if buffer is empty */
139139 int m_samplesWrite; /* index where the next sample will be written */
140140
141− UbuntuGestures::SharedTimeSource m_timeSource;
141+ UG_PREPEND_NAMESPACE(SharedTimeSource) m_timeSource;
142142
143143 qreal m_trackedPosition;
144144};
plugins/Ubuntu/Gestures/CMakeLists.txt+1
@@ -27,6 +27,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
2727include_directories(
2828 SYSTEM
2929 ${UBUNTUGESTURES_INCLUDE_DIRS}
30+ ${UBUNTUGESTURES_INCLUDEDIR}/UbuntuGestures/${UBUNTUGESTURES_VERSION}
3031)
3132
3233# There's no cmake var for v8 include path :-/ so create one
plugins/Ubuntu/Gestures/TouchGate.cpp+10−5
@@ -20,16 +20,18 @@
2020#include <QDebug>
2121#include <QQuickWindow>
2222
23−#include <TouchOwnershipEvent>
24−#include <TouchRegistry>
23+#include <UbuntuGestures/private/touchownershipevent_p.h>
24+#include <UbuntuGestures/private/touchregistry_p.h>
2525
2626#if TOUCHGATE_DEBUG
2727#define ugDebug(params) qDebug().nospace() << "[TouchGate(" << (void*)this << ")] " << params
28−#include <DebugHelpers.h>
28+#include <UbuntuGestures/private/debughelpers_p.h>
2929#else // TOUCHGATE_DEBUG
3030#define ugDebug(params) ((void)0)
3131#endif // TOUCHGATE_DEBUG
3232
33+UG_USE_NAMESPACE
34+
3335TouchGate::TouchGate(QQuickItem *parent)
3436 : QQuickItem(parent)
3537{
@@ -40,7 +42,7 @@ TouchGate::TouchGate(QQuickItem *parent)
4042bool TouchGate::event(QEvent *e)
4143{
4244 if (e->type() == TouchOwnershipEvent::touchOwnershipEventType()) {
43− touchOwnershipEvent(static_cast<TouchOwnershipEvent *>(e));
45+ touchOwnershipEvent(static_cast<TouchOwnershipEvent*>(e));
4446 return true;
4547 } else {
4648 return QQuickItem::event(e);
@@ -59,7 +61,10 @@ void TouchGate::touchEvent(QTouchEvent *event)
5961 const QTouchEvent::TouchPoint &touchPoint = touchPoints[i];
6062
6163 if (touchPoint.state() == Qt::TouchPointPressed) {
62− Q_ASSERT(!m_touchInfoMap.contains(touchPoint.id()));
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.
67+// Q_ASSERT(!m_touchInfoMap.contains(touchPoint.id()));
6368 m_touchInfoMap[touchPoint.id()].ownership = OwnershipRequested;
6469 m_touchInfoMap[touchPoint.id()].ended = false;
6570 TouchRegistry::instance()->requestTouchOwnership(touchPoint.id(), this);
plugins/Ubuntu/Gestures/TouchGate.h+3−2
@@ -19,6 +19,7 @@
1919
2020#include "UbuntuGesturesQmlGlobal.h"
2121#include "TouchDispatcher.h"
22+#include <UbuntuGestures/ubuntugesturesglobal.h>
2223
2324#include <QQuickItem>
2425#include <QList>
@@ -26,7 +27,7 @@
2627
2728#define TOUCHGATE_DEBUG 0
2829
29−class TouchOwnershipEvent;
30+UG_FORWARD_DECLARE_CLASS(TouchOwnershipEvent)
3031
3132/*
3233 Blocks the passage of events until ownership over the related touch points is granted.
@@ -82,7 +83,7 @@ private:
8283 ulong timestamp;
8384 };
8485
85− void touchOwnershipEvent(TouchOwnershipEvent *event);
86+ void touchOwnershipEvent(UG_PREPEND_NAMESPACE(TouchOwnershipEvent) *event);
8687 bool isTouchPointOwned(int touchId) const;
8788 void storeTouchEvent(QTouchDevice *device,
8889 Qt::KeyboardModifiers modifiers,
plugins/Ubuntu/Gestures/TouchGestureArea.cpp+9−7
@@ -16,9 +16,9 @@
1616
1717#include "TouchGestureArea.h"
1818
19−#include <UbuntuGestures/TouchOwnershipEvent>
20−#include <UbuntuGestures/TouchRegistry>
21−#include <UbuntuGestures/UnownedTouchEvent>
19+#include <UbuntuGestures/private/touchownershipevent_p.h>
20+#include <UbuntuGestures/private/touchregistry_p.h>
21+#include <UbuntuGestures/private/unownedtouchevent_p.h>
2222// #include "TouchRegistry.h"
2323// #include "UnownedTouchEvent.h"
2424
@@ -26,6 +26,8 @@
2626#include <QStyleHints>
2727#include <private/qquickwindow_p.h>
2828
29+UG_USE_NAMESPACE
30+
2931#define TOUCHGESTUREAREA_DEBUG 0
3032
3133// TODO - understand more about why we lose touch event releases.
@@ -135,7 +137,7 @@ TouchGestureArea::TouchGestureArea(QQuickItem* parent)
135137 , m_recognitionPeriod(50)
136138 , m_releaseRejectPeriod(100)
137139{
138− setRecognitionTimer(new UbuntuGestures::Timer(this));
140+ setRecognitionTimer(new Timer(this));
139141 m_recognitionTimer->setInterval(m_recognitionPeriod);
140142 m_recognitionTimer->setSingleShot(true);
141143}
@@ -153,10 +155,10 @@ bool TouchGestureArea::event(QEvent *event)
153155{
154156 // Process unowned touch events (handles update/release for incomplete gestures)
155157 if (event->type() == TouchOwnershipEvent::touchOwnershipEventType()) {
156− touchOwnershipEvent(static_cast<TouchOwnershipEvent *>(event));
158+ touchOwnershipEvent(static_cast<TouchOwnershipEvent*>(event));
157159 return true;
158160 } else if (event->type() == UnownedTouchEvent::unownedTouchEventType()) {
159− unownedTouchEvent(static_cast<UnownedTouchEvent *>(event)->touchEvent());
161+ unownedTouchEvent(static_cast<UnownedTouchEvent*>(event)->touchEvent());
160162 return true;
161163 }
162164
@@ -608,7 +610,7 @@ void TouchGestureArea::setInternalStatus(uint newStatus)
608610 }
609611}
610612
611−void TouchGestureArea::setRecognitionTimer(UbuntuGestures::AbstractTimer *timer)
613+void TouchGestureArea::setRecognitionTimer(AbstractTimer *timer)
612614{
613615 int interval = 0;
614616 bool timerWasRunning = false;
plugins/Ubuntu/Gestures/TouchGestureArea.h+9−8
@@ -21,10 +21,11 @@
2121
2222#include <QQuickItem>
2323
24−#include <UbuntuGestures/Timer>
24+#include <UbuntuGestures/ubuntugesturesglobal.h>
25+#include <UbuntuGestures/private/timer_p.h>
2526
26−class TouchOwnershipEvent;
27−class UnownedTouchEvent;
27+UG_FORWARD_DECLARE_CLASS(TouchOwnershipEvent)
28+UG_FORWARD_DECLARE_CLASS(UnownedTouchEvent)
2829
2930class GestureTouchPoint : public QObject
3031{
@@ -75,7 +76,7 @@ public:
7576 return *this;
7677 }
7778
78− bool operator=(const GestureTouchPoint& rhs) const {
79+ bool operator==(const GestureTouchPoint& rhs) const {
7980 if (&rhs == this) return true;
8081 return m_id == rhs.m_id &&
8182 m_pressed == rhs.m_pressed &&
@@ -83,7 +84,7 @@ public:
8384 m_y == rhs.m_y &&
8485 m_dragging == rhs.m_dragging;
8586 }
86− bool operator!=(const GestureTouchPoint& rhs) const { return !operator=(rhs); }
87+ bool operator!=(const GestureTouchPoint& rhs) const { return !operator==(rhs); }
8788
8889 void setPos(const QPointF &pos);
8990
@@ -141,7 +142,7 @@ public:
141142
142143 bool event(QEvent *e) override;
143144
144− void setRecognitionTimer(UbuntuGestures::AbstractTimer *timer);
145+ void setRecognitionTimer(UG_PREPEND_NAMESPACE(AbstractTimer) *timer);
145146
146147 int status() const;
147148 bool dragging() const;
@@ -194,7 +195,7 @@ private:
194195 void unownedTouchEvent_recognised(QTouchEvent *unownedTouchEvent);
195196 void unownedTouchEvent_rejected(QTouchEvent *unownedTouchEvent);
196197
197− void touchOwnershipEvent(TouchOwnershipEvent *event);
198+ void touchOwnershipEvent(UG_PREPEND_NAMESPACE(TouchOwnershipEvent) *event);
198199 void updateTouchPoints(QTouchEvent *event);
199200
200201 GestureTouchPoint* addTouchPoint(const QTouchEvent::TouchPoint *tp);
@@ -209,7 +210,7 @@ private:
209210 uint m_status;
210211 QSet<int> m_candidateTouches;
211212 QSet<int> m_watchedTouches;
212− UbuntuGestures::AbstractTimer *m_recognitionTimer;
213+ UG_PREPEND_NAMESPACE(AbstractTimer) *m_recognitionTimer;
213214
214215 bool m_dragging;
215216 QHash<int, GestureTouchPoint*> m_liveTouchPoints;
plugins/Ubuntu/SystemImage/CMakeLists.txt+5
@@ -1,3 +1,7 @@
1+include_directories(
2+ ${GLIB_INCLUDE_DIRS}
3+)
4+
15set(SYSTEMIMAGE_SOURCES
26 plugin.cpp
37 SystemImage.cpp
@@ -6,5 +10,6 @@ set(SYSTEMIMAGE_SOURCES
610add_library(SystemImage MODULE ${SYSTEMIMAGE_SOURCES})
711
812qt5_use_modules(SystemImage Qml DBus Core)
13+target_link_libraries(SystemImage ${GLIB_LIBRARIES})
914
1015add_unity8_plugin(Ubuntu.SystemImage 0.1 Ubuntu/SystemImage TARGETS SystemImage)
plugins/Ubuntu/SystemImage/SystemImage.cpp+127−5
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014-2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -14,20 +14,142 @@
1414 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1515 */
1616
17−#include "SystemImage.h"
1817#include <QDBusConnection>
1918#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
2034
2135SystemImage::SystemImage(QObject *parent)
2236 : QObject(parent)
2337{
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);
2466}
2567
2668void SystemImage::factoryReset()
2769{
28− const QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral("com.canonical.SystemImage"),
29− QStringLiteral("/Service"),
30− QStringLiteral("com.canonical.SystemImage"),
70+ const QDBusMessage msg = QDBusMessage::createMethodCall(SYSTEMIMAGE_SERVICE, SYSTEMIMAGE_PATH, SYSTEMIMAGE_IFACE,
3171 QStringLiteral("FactoryReset"));
3272 QDBusConnection::systemBus().asyncCall(msg);
3373}
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 @@
11/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014-2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -18,17 +18,67 @@
1818#define SYSTEMIMAGE_H
1919
2020#include <QObject>
21+#include <QLoggingCategory>
22+
23+Q_DECLARE_LOGGING_CATEGORY(SYSTEMIMAGEPLUGIN)
2124
2225class SystemImage : public QObject
2326{
2427 Q_OBJECT
2528 Q_DISABLE_COPY(SystemImage)
2629
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+
2737public:
28− explicit SystemImage(QObject *parent = 0);
38+ explicit SystemImage(QObject *parent = nullptr);
2939 ~SystemImage() = default;
3040
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();
3151 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;
3282};
3383
3484#endif // SYSTEMIMAGE_H
plugins/Ubuntu/SystemImage/plugin.cpp+3−9
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014-2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -19,16 +19,10 @@
1919
2020#include <QtQml>
2121
22−static QObject *service_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
23−{
24− Q_UNUSED(engine)
25− Q_UNUSED(scriptEngine)
26− return new SystemImage();
27−}
28−
2922void BackendPlugin::registerTypes(const char *uri)
3023{
3124 Q_ASSERT(uri == QLatin1String("Ubuntu.SystemImage"));
3225
33− qmlRegisterSingletonType<SystemImage>(uri, 0, 1, "SystemImage", service_provider);
26+ qmlRegisterSingletonType<SystemImage>(uri, 0, 1, "SystemImage",
27+ [](QQmlEngine*, QJSEngine*) -> QObject* { return new SystemImage; });
3428}
plugins/Ubuntu/SystemImage/plugin.h+1−1
@@ -22,7 +22,7 @@
2222class BackendPlugin : public QQmlExtensionPlugin
2323{
2424 Q_OBJECT
25− Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
25+ Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid)
2626
2727public:
2828 void registerTypes(const char *uri) override;
plugins/Unity/Indicators/actionrootstate.cpp+1−1
@@ -44,7 +44,7 @@ void ActionRootState::setActionGroup(QDBusActionGroup *actionGroup)
4444 connect(m_actionGroup, &QDBusActionGroup::statusChanged, this, [&](bool) { updateActionState(); });
4545 connect(m_actionGroup, &QDBusActionGroup::actionAppear, this, [&](const QString&) { updateActionState(); });
4646 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(); });
4848
4949 connect(m_actionGroup, &QObject::destroyed, this, [&](QObject*) { updateActionState(); });
5050 }
plugins/Unity/Indicators/indicatorsmanager.cpp+3−8
@@ -114,10 +114,6 @@ void IndicatorsManager::loadFile(const QFileInfo& file_info)
114114 QSettings indicator_settings(file_info.absoluteFilePath(), QSettings::IniFormat, this);
115115 const QString name = indicator_settings.value(QStringLiteral("Indicator Service/Name")).toString();
116116
117− if (m_platform.isPC() && name == QLatin1String("indicator-keyboard")) {
118− return; // convergence: skip this indicator until it works in Mir
119− }
120−
121117 auto iter = m_indicatorsData.constFind(name);
122118 if (iter != m_indicatorsData.constEnd())
123119 {
@@ -285,13 +281,12 @@ Indicator::Ptr IndicatorsManager::indicator(const QString& indicator_name)
285281
286282 // convergence:
287283 // 1) enable session indicator
288− // 2) on a PC, switch the battery/power indicator to desktop mode,
289− // can't control brightness for now and phone-on-desktop broken (FIXME)
284+ // 2) enable keyboard indicator
290285 //
291286 // The rest of the indicators respect their default profile (which is "phone", even on desktop PCs)
292287 if ((new_indicator->identifier() == QStringLiteral("indicator-session"))
293− || (new_indicator->identifier() == QStringLiteral("indicator-power") && m_platform.isPC())) {
294− new_indicator->setProfile(m_profile.replace(QStringLiteral("phone"), QStringLiteral("desktop")));
288+ || new_indicator->identifier() == QStringLiteral("indicator-keyboard")) {
289+ new_indicator->setProfile(QString(m_profile).replace(QStringLiteral("phone"), QStringLiteral("desktop")));
295290 } else {
296291 new_indicator->setProfile(m_profile);
297292 }
plugins/Unity/Indicators/modelprinter.cpp+19−4
@@ -105,12 +105,25 @@ QString ModelPrinter::getRowSring(UnityMenuModel* sourceModel, int row, int dept
105105
106106 Q_FOREACH(int role, roles) {
107107 const QByteArray& roleName = roleNames[role];
108− stream << tabify(depth) << getVariantString(roleName, sourceModel->get(row, roleName));
108+ stream << getVariantString(roleName, sourceModel->get(row, roleName), depth);
109109 }
110110 return str;
111111}
112112
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
114127{
115128 QString str;
116129 QTextStream stream(&str);
@@ -119,18 +132,20 @@ QString ModelPrinter::getVariantString(const QString& roleName, const QVariant &
119132 QMapIterator<QString, QVariant> iter(vData.toMap());
120133 while (iter.hasNext()) {
121134 iter.next();
135+ stream << tabify(depth);
122136 stream << roleName
123137 << "."
124138 << iter.key()
125139 << ": "
126− << iter.value().toString()
140+ << getVariantString(iter.value())
127141 << endl;
128142 }
129143 }
130144 else {
145+ stream << tabify(depth);
131146 stream << roleName
132147 << ": "
133− << vData.toString()
148+ << getVariantString(vData)
134149 << endl;
135150 }
136151 return str;
plugins/Unity/Indicators/modelprinter.h+2−1
@@ -46,7 +46,8 @@ Q_SIGNALS:
4646private:
4747 QString getModelDataString(UnityMenuModel* sourceModel, int level);
4848 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;
5051
5152 UnityMenuModel* m_model;
5253 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)
22pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
33
44add_definitions(-DSM_BUSNAME=systemBus)
@@ -6,11 +6,16 @@ add_definitions(-DSM_BUSNAME=systemBus)
66include_directories(
77 ${CMAKE_CURRENT_SOURCE_DIR}
88 ${CMAKE_SOURCE_DIR}/plugins/AccountsService
9− ${GSETTINGS_QT_INCLUDE_DIRS}
10− ${GLIB_INCLUDE_DIRS}
119 ${libunity8-private_SOURCE_DIR}
1210)
1311
12+include_directories(
13+ SYSTEM
14+ ${GSETTINGS_QT_INCLUDE_DIRS}
15+ ${GLIB_INCLUDE_DIRS}
16+ ${UAL_INCLUDE_DIRS}
17+ )
18+
1419set(QMLLAUNCHERPLUGIN_SRC
1520 plugin.cpp
1621 launchermodel.cpp
@@ -19,7 +24,6 @@ set(QMLLAUNCHERPLUGIN_SRC
1924 quicklistentry.cpp
2025 dbusinterface.cpp
2126 gsettings.cpp
22− desktopfilehandler.cpp
2327 asadapter.cpp
2428 ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsServiceDBusAdaptor.cpp
2529 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
@@ -38,6 +42,7 @@ target_link_libraries(UnityLauncher-qml
3842 unity8-private
3943 ${GSETTINGS_QT_LDFLAGS}
4044 ${GLIB_LIBRARIES}
45+ ${UAL_LIBRARIES}
4146 )
4247
4348qt5_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
4242 QuickListEntry nameAction;
4343 nameAction.setActionId(QStringLiteral("launch_item"));
4444 nameAction.setText(m_name);
45+ nameAction.setHasSeparator(true);
4546 m_quickList->appendAction(nameAction);
4647
4748 QuickListEntry pinningAction;
plugins/Unity/Launcher/launchermodel.cpp+53−26
@@ -1,5 +1,5 @@
11/*
2− * Copyright 2013-2014 Canonical Ltd.
2+ * Copyright 2013-2016 Canonical Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU Lesser General Public License as published by
@@ -12,24 +12,25 @@
1212 *
1313 * You should have received a copy of the GNU Lesser General Public License
1414 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors:
17− * Michael Zanetti <michael.zanetti@canonical.com>
1815 */
1916
2017#include "launchermodel.h"
2118#include "launcheritem.h"
2219#include "gsettings.h"
23−#include "desktopfilehandler.h"
2420#include "dbusinterface.h"
2521#include "asadapter.h"
2622
23+#include <ubuntu-app-launch/appid.h>
24+#include <ubuntu-app-launch/application.h>
25+#include <ubuntu-app-launch/registry.h>
2726#include <unity/shell/application/ApplicationInfoInterface.h>
2827#include <unity/shell/application/MirSurfaceListInterface.h>
2928
3029#include <QDesktopServices>
3130#include <QDebug>
3231
32+namespace ual = ubuntu::app_launch;
33+
3334using namespace unity::shell::application;
3435
3536LauncherModel::LauncherModel(QObject *parent):
@@ -37,7 +38,8 @@ LauncherModel::LauncherModel(QObject *parent):
3738 m_settings(new GSettings(this)),
3839 m_dbusIface(new DBusInterface(this)),
3940 m_asAdapter(new ASAdapter()),
40− m_appManager(nullptr)
41+ m_appManager(nullptr),
42+ m_ualRegistry(std::make_shared<ual::Registry>())
4143{
4244 connect(m_dbusIface, &DBusInterface::countChanged, this, &LauncherModel::countChanged);
4345 connect(m_dbusIface, &DBusInterface::countVisibleChanged, this, &LauncherModel::countVisibleChanged);
@@ -157,16 +159,16 @@ void LauncherModel::pin(const QString &appId, int index)
157159 index = m_list.count();
158160 }
159161
160− DesktopFileHandler desktopFile(appId);
161− if (!desktopFile.isValid()) {
162− qWarning() << "Can't pin this application, there is no .desktop file available.";
162+ auto appInfo = getApplicationInfo(appId);
163+ if (!appInfo.valid) {
164+ qWarning() << "Can't pin application, appId not found:" << appId;
163165 return;
164166 }
165167
166168 beginInsertRows(QModelIndex(), index, index);
167169 LauncherItem *item = new LauncherItem(appId,
168− desktopFile.displayName(),
169− desktopFile.icon(),
170+ appInfo.name,
171+ appInfo.icon,
170172 this);
171173 item->setPinned(true);
172174 m_list.insert(index, item);
@@ -333,6 +335,32 @@ int LauncherModel::findApplication(const QString &appId)
333335 return -1;
334336}
335337
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+
336364void LauncherModel::progressChanged(const QString &appId, int progress)
337365{
338366 const int idx = findApplication(appId);
@@ -380,11 +408,11 @@ void LauncherModel::countVisibleChanged(const QString &appId, bool countVisible)
380408 }
381409 } else {
382410 // Need to create a new LauncherItem and show the highlight
383− DesktopFileHandler desktopFile(appId);
384− if (countVisible && desktopFile.isValid()) {
411+ auto appInfo = getApplicationInfo(appId);
412+ if (countVisible && appInfo.valid) {
385413 LauncherItem *item = new LauncherItem(appId,
386− desktopFile.displayName(),
387− desktopFile.icon(),
414+ appInfo.name,
415+ appInfo.icon,
388416 this);
389417 item->setCountVisible(true);
390418 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
@@ -400,28 +428,28 @@ void LauncherModel::refresh()
400428 // First walk through all the existing items and see if we need to remove something
401429 QList<LauncherItem*> toBeRemoved;
402430 Q_FOREACH (LauncherItem* item, m_list) {
403− DesktopFileHandler desktopFile(item->appId());
404− if (!desktopFile.isValid()) {
405− // Desktop file not available for this app => drop it!
431+ auto appInfo = getApplicationInfo(item->appId());
432+ if (!appInfo.valid) {
433+ // Application no longer available => drop it!
406434 toBeRemoved << item;
407435 } else if (!m_settings->storedApplications().contains(item->appId())) {
408436 // Item not in settings any more => drop it!
409437 toBeRemoved << item;
410438 } else {
411439 int idx = m_list.indexOf(item);
412− item->setName(desktopFile.displayName());
440+ item->setName(appInfo.name);
413441 item->setPinned(item->pinned()); // update pinned text if needed
414442 item->setRunning(item->running());
415443 Q_EMIT dataChanged(index(idx), index(idx), {RoleName, RoleRunning});
416444
417445 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
419447 item->setIcon(QString());
420448 Q_EMIT dataChanged(index(idx), index(idx), {RoleIcon});
421449 }
422450
423451 // now set the icon for real
424− item->setIcon(desktopFile.icon());
452+ item->setIcon(appInfo.icon);
425453 Q_EMIT dataChanged(index(idx), index(idx), {RoleIcon});
426454 }
427455 }
@@ -452,15 +480,14 @@ void LauncherModel::refresh()
452480 if (itemIndex == -1) {
453481 // Need to add it. Just add it into the addedIndex to keep same ordering as the list
454482 // in the settings.
455− DesktopFileHandler desktopFile(entry);
456− if (!desktopFile.isValid()) {
457− qWarning() << "Couldn't find a .desktop file for" << entry << ". Skipping...";
483+ auto appInfo = getApplicationInfo(entry);
484+ if (!appInfo.valid) {
458485 continue;
459486 }
460487
461488 LauncherItem *item = new LauncherItem(entry,
462− desktopFile.displayName(),
463− desktopFile.icon(),
489+ appInfo.name,
490+ appInfo.icon,
464491 this);
465492 item->setPinned(true);
466493 beginInsertRows(QModelIndex(), addedIndex, addedIndex);
plugins/Unity/Launcher/launchermodel.h+17−8
@@ -1,5 +1,5 @@
11/*
2− * Copyright 2013-2014 Canonical Ltd.
2+ * Copyright 2013-2016 Canonical Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU Lesser General Public License as published by
@@ -12,14 +12,11 @@
1212 *
1313 * You should have received a copy of the GNU Lesser General Public License
1414 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors:
17− * Michael Zanetti <michael.zanetti@canonical.com>
1815 */
1916
20−#ifndef LAUNCHERMODEL_H
21−#define LAUNCHERMODEL_H
17+#pragma once
2218
19+#include <memory>
2320#include <unity/shell/launcher/LauncherModelInterface.h>
2421#include <unity/shell/application/ApplicationManagerInterface.h>
2522
@@ -30,6 +27,12 @@ class GSettings;
3027class DBusInterface;
3128class ASAdapter;
3229
30+namespace ubuntu {
31+ namespace app_launch {
32+ class Registry;
33+ }
34+}
35+
3336using namespace unity::shell::launcher;
3437using namespace unity::shell::application;
3538
@@ -70,6 +73,13 @@ private:
7073
7174 void unpin(const QString &appId);
7275
76+ struct AppInfo {
77+ bool valid = false;
78+ QString name;
79+ QString icon;
80+ };
81+ AppInfo getApplicationInfo(const QString &appId);
82+
7383private Q_SLOTS:
7484 void countChanged(const QString &appId, int count);
7585 void countVisibleChanged(const QString &appId, bool count);
@@ -88,8 +98,7 @@ private:
8898 ASAdapter *m_asAdapter;
8999
90100 ApplicationManagerInterface *m_appManager;
101+ std::shared_ptr<ubuntu::app_launch::Registry> m_ualRegistry;
91102
92103 friend class LauncherModelTest;
93104};
94−
95−#endif // LAUNCHERMODEL_H
plugins/Unity/Launcher/quicklistentry.cpp+11
@@ -19,6 +19,7 @@
1919#include "quicklistentry.h"
2020
2121QuickListEntry::QuickListEntry()
22+ : m_hasSeparator(false)
2223{
2324}
2425
@@ -57,6 +58,16 @@ bool QuickListEntry::clickable() const
5758 return !m_actionId.isEmpty();
5859}
5960
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+
6071bool QuickListEntry::operator==(const QuickListEntry &other)
6172{
6273 return !other.actionId().isEmpty() && other.actionId() == m_actionId;
plugins/Unity/Launcher/quicklistentry.h+4
@@ -37,12 +37,16 @@ public:
3737
3838 bool clickable() const;
3939
40+ void setHasSeparator(bool hasSeparator);
41+ bool hasSeparator() const;
42+
4043 bool operator==(const QuickListEntry & other);
4144
4245private:
4346 QString m_actionId;
4447 QString m_text;
4548 QString m_icon;
49+ bool m_hasSeparator;
4650};
4751
4852#endif // QUICKLISTENTRY
plugins/Unity/Launcher/quicklistmodel.cpp+2
@@ -79,6 +79,8 @@ QVariant QuickListModel::data(const QModelIndex &index, int role) const
7979 return m_list.at(index.row()).icon();
8080 case RoleClickable:
8181 return m_list.at(index.row()).clickable();
82+ case RoleHasSeparator:
83+ return m_list.at(index.row()).hasSeparator();
8284 }
8385 return QVariant();
8486}
plugins/Utils/CMakeLists.txt+1
@@ -29,6 +29,7 @@ set(QMLPLUGIN_SRC
2929 inputeventgenerator.cpp
3030 deviceconfigparser.cpp
3131 globalfunctions.cpp
32+ URLDispatcher.cpp
3233 plugin.cpp
3334 )
3435
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 @@
11/*
2− * Copyright 2015 Canonical Ltd.
2+ * Copyright 2015-2016 Canonical Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU Lesser General Public License as published by
@@ -16,6 +16,8 @@
1616
1717#include "constants.h"
1818
19+#include <QFile>
20+
1921Constants::Constants(QObject *parent)
2022 : QObject(parent)
2123{
@@ -24,4 +26,7 @@ Constants::Constants(QObject *parent)
2426 } else {
2527 m_indicatorValueTimeout = 5000;
2628 }
29+
30+ QString snapRoot = QFile::decodeName(qgetenv("SNAP"));
31+ m_defaultWallpaper = snapRoot + "/usr/share/backgrounds/warty-final-ubuntu.png";
2732}
plugins/Utils/constants.h+5−5
@@ -1,5 +1,5 @@
11/*
2− * Copyright 2015 Canonical Ltd.
2+ * Copyright 2015-2016 Canonical Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU Lesser General Public License as published by
@@ -14,8 +14,7 @@
1414 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1515*/
1616
17−#ifndef CONSTANTS_H
18−#define CONSTANTS_H
17+#pragma once
1918
2019#include <QObject>
2120
@@ -30,14 +29,15 @@ class Constants: public QObject
3029{
3130 Q_OBJECT
3231 Q_PROPERTY(int indicatorValueTimeout READ indicatorValueTimeout CONSTANT)
32+ Q_PROPERTY(QString defaultWallpaper READ defaultWallpaper CONSTANT)
3333
3434public:
3535 Constants(QObject *parent = 0);
3636
3737 int indicatorValueTimeout() const { return m_indicatorValueTimeout; }
38+ QString defaultWallpaper() const { return m_defaultWallpaper; }
3839
3940private:
4041 int m_indicatorValueTimeout;
42+ QString m_defaultWallpaper;
4143};
42−
43−#endif
plugins/Utils/deviceconfigparser.cpp+1−1
@@ -26,7 +26,7 @@ DeviceConfigParser::DeviceConfigParser(QObject *parent): QObject(parent)
2626 // Local files have highest priority
2727 QString path;
2828 Q_FOREACH (const QString &standardPath, QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation)) {
29− if (QFileInfo(standardPath + "/devices.conf").exists()) {
29+ if (QFileInfo::exists(standardPath + "/devices.conf")) {
3030 path = standardPath + "/devices.conf";
3131 break;
3232 }
plugins/Utils/plugin.cpp+2
@@ -38,6 +38,7 @@
3838#include "inputeventgenerator.h"
3939#include "deviceconfigparser.h"
4040#include "globalfunctions.h"
41+#include "URLDispatcher.h"
4142
4243static QObject *createWindowStateStorage(QQmlEngine *engine, QJSEngine *scriptEngine)
4344{
@@ -80,4 +81,5 @@ void UtilsPlugin::registerTypes(const char *uri)
8081 qmlRegisterType<InputEventGenerator>(uri, 0, 1, "InputEventGenerator");
8182 qmlRegisterType<DeviceConfigParser>(uri, 0, 1, "DeviceConfigParser");
8283 qmlRegisterSingletonType<GlobalFunctions>(uri, 0, 1, "Functions", createGlobalFunctions);
84+ qmlRegisterType<URLDispatcher>(uri, 0, 1, "URLDispatcher");
8385}
plugins/Utils/timezoneFormatter.cpp+1−1
@@ -39,7 +39,7 @@ QString TimezoneFormatter::currentTimeInTimezoneWithAbbrev(const QVariant &tzId)
3939 QTimeZone tz(tzId.toByteArray());
4040 if (tz.isValid()) {
4141 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));
4343 }
4444 return QString();
4545}
plugins/Utils/windowstatestorage.cpp+8−5
@@ -28,7 +28,9 @@
2828QMutex WindowStateStorage::s_mutex;
2929
3030inline QString sanitiseString(QString string) {
31− return string.remove("\"").remove("'").remove("\\");
31+ return string.remove(QLatin1Char('\"'))
32+ .remove(QLatin1Char('\''))
33+ .remove(QLatin1Char('\\'));
3234}
3335
3436WindowStateStorage::WindowStateStorage(QObject *parent):
@@ -74,7 +76,7 @@ WindowStateStorage::WindowState WindowStateStorage::getState(const QString &wind
7476 return (WindowState)query.value(QStringLiteral("state")).toInt();
7577}
7678
77−void WindowStateStorage::saveGeometry(const QString &windowId, const QRect rect)
79+void WindowStateStorage::saveGeometry(const QString &windowId, const QRect &rect)
7880{
7981 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO geometry (windowId, x, y, width, height) values ('%1', '%2', '%3', '%4', '%5');")
8082 .arg(sanitiseString(windowId))
@@ -90,7 +92,7 @@ void WindowStateStorage::saveStage(const QString &appId, int stage)
9092{
9193 const QString queryString = QStringLiteral("INSERT OR REPLACE INTO stage (appId, stage) values ('%1', '%2');")
9294 .arg(sanitiseString(appId))
93− .arg((int)stage);
95+ .arg(stage);
9496
9597 saveValue(queryString);
9698}
@@ -121,7 +123,7 @@ void WindowStateStorage::executeAsyncQuery(const QString &queryString)
121123 }
122124}
123125
124−QRect WindowStateStorage::getGeometry(const QString &windowId, const QRect defaultValue) const
126+QRect WindowStateStorage::getGeometry(const QString &windowId, const QRect &defaultValue) const
125127{
126128 QString queryString = QStringLiteral("SELECT * FROM geometry WHERE windowId = '%1';")
127129 .arg(sanitiseString(windowId));
@@ -131,7 +133,8 @@ QRect WindowStateStorage::getGeometry(const QString &windowId, const QRect defau
131133 if (!query.first()) {
132134 return defaultValue;
133135 }
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());
135138}
136139
137140void WindowStateStorage::initdb()
plugins/Utils/windowstatestorage.h+8−3
@@ -32,7 +32,12 @@ public:
3232 WindowStateMaximizedLeft = 1 << 4,
3333 WindowStateMaximizedRight = 1 << 5,
3434 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
3641 };
3742 Q_DECLARE_FLAGS(WindowStates, WindowState)
3843#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
@@ -45,8 +50,8 @@ public:
4550 Q_INVOKABLE void saveState(const QString &windowId, WindowState state);
4651 Q_INVOKABLE WindowState getState(const QString &windowId, WindowState defaultValue) const;
4752
48− Q_INVOKABLE void saveGeometry(const QString &windowId, const QRect rect);
49− Q_INVOKABLE QRect getGeometry(const QString &windowId, const QRect defaultValue) const;
53+ Q_INVOKABLE void saveGeometry(const QString &windowId, const QRect &rect);
54+ Q_INVOKABLE QRect getGeometry(const QString &windowId, const QRect &defaultValue) const;
5055
5156 Q_INVOKABLE void saveStage(const QString &appId, int stage);
5257 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
133133
134134void TopLevelSurfaceList::connectSurface(MirSurfaceInterface *surface)
135135{
136− connect(surface, &MirSurfaceInterface::focusedChanged, this, [this, surface](bool focused){
137− if (focused) {
138− this->raise(surface);
139− }
140− });
141136 connect(surface, &MirSurfaceInterface::liveChanged, this, [this, surface](bool live){
142137 if (!live) {
143138 onSurfaceDied(surface);
plugins/Wizard/CMakeLists.txt+6−3
@@ -1,4 +1,6 @@
1−include_directories(${GLIB_INCLUDE_DIRS} ${GEONAMES_INCLUDE_DIRS})
1+pkg_search_module(GD3 REQUIRED gnome-desktop-3.0)
2+
3+include_directories(SYSTEM ${GD3_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${GEONAMES_INCLUDE_DIRS})
24
35add_library(Wizard-qml MODULE
46 plugin.cpp
@@ -7,10 +9,11 @@ add_library(Wizard-qml MODULE
79 LocalePlugin.cpp
810 timezonemodel.cpp
911 Status.cpp
12+ keyboardLayoutsModel.cpp
1013)
1114
12−qt5_use_modules(Wizard-qml DBus Qml Concurrent)
13−target_link_libraries(Wizard-qml ${GLIB_LDFLAGS} ${GEONAMES_LDFLAGS})
15+qt5_use_modules(Wizard-qml DBus Qml)
16+target_link_libraries(Wizard-qml ${GD3_LDFLAGS} ${GLIB_LDFLAGS} ${GEONAMES_LDFLAGS})
1417add_unity8_plugin(Wizard 0.1 Wizard TARGETS Wizard-qml)
1518
1619set(POLKIT_LIB_DIR "${CMAKE_INSTALL_LOCALSTATEDIR}/lib/polkit-1")
plugins/Wizard/PageList.cpp+16−1
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014 Canonical Ltd.
2+ * Copyright (C) 2014-2016 Canonical Ltd.
33 *
44 * This program is free software: you can redistribute it and/or modify it
55 * under the terms of the GNU General Public License version 3, as published
@@ -34,6 +34,7 @@
3434#include <QDir>
3535#include <QSet>
3636#include <QStandardPaths>
37+#include <QSettings>
3738
3839PageList::PageList(QObject *parent)
3940 : QObject(parent),
@@ -68,6 +69,20 @@ PageList::PageList(QObject *parent)
6869 Q_FOREACH(const QString &page, disabledPages) {
6970 m_pages.remove(page);
7071 }
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+ }
7186}
7287
7388QStringList PageList::entries() const
plugins/Wizard/System.cpp+10−1
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014-2015 Canonical Ltd.
2+ * Copyright (C) 2014-2016 Canonical Ltd.
33 *
44 * This program is free software: you can redistribute it and/or modify it
55 * under the terms of the GNU General Public License version 3, as published
@@ -26,6 +26,7 @@
2626#include <QMap>
2727#include <QProcess>
2828#include <QDebug>
29+#include <QSettings>
2930
3031System::System()
3132 : QObject()
@@ -105,7 +106,15 @@ void System::updateSessionLocale(const QString &locale)
105106 initctl stop scope-registry; \
106107 initctl stop smart-scopes-proxy; \
107108 initctl emit --no-wait indicator-services-start; \
109+ initctl restart --no-wait ubuntu-location-service-trust-stored; \
108110 initctl restart --no-wait maliit-server; \
109111 initctl restart --no-wait indicator-messages; \
110112 initctl restart --no-wait unity8-dash\""));
111113}
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 @@
11/*
2− * Copyright (C) 2014-2015 Canonical Ltd.
2+ * Copyright (C) 2014-2016 Canonical Ltd.
33 *
44 * This program is free software: you can redistribute it and/or modify it
55 * under the terms of the GNU General Public License version 3, as published
@@ -35,6 +35,10 @@ public:
3535
3636public Q_SLOTS:
3737 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();
3842
3943Q_SIGNALS:
4044 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 @@
2020#include "timezonemodel.h"
2121#include "LocalePlugin.h"
2222#include "Status.h"
23+#include "keyboardLayoutsModel.h"
2324
2425#include <QtQml/qqml.h>
2526
@@ -30,5 +31,6 @@ void WizardPlugin::registerTypes(const char *uri)
3031 qmlRegisterSingletonType<System>(uri, 0, 1, "System", [](QQmlEngine*, QJSEngine*) -> QObject* { return new System; });
3132 qmlRegisterSingletonType<Status>(uri, 0, 1, "Status", [](QQmlEngine*, QJSEngine*) -> QObject* { return new Status; });
3233 qmlRegisterType<TimeZoneLocationModel>(uri, 0, 1, "TimeZoneModel");
34+ qmlRegisterType<KeyboardLayoutsModel>(uri, 0, 1, "KeyboardLayoutsModel");
3335 qmlRegisterType<LocalePlugin>(uri, 0, 1, "LocalePlugin");
3436}
plugins/Wizard/qmldir−1
@@ -1,3 +1,2 @@
11module Wizard
22plugin 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
6060
6161 switch (role) {
6262 case Qt::DisplayRole:
63− return QStringLiteral("%1, %2, %3").arg(geonames_city_get_name(city))
64− .arg(geonames_city_get_state(city))
65− .arg(geonames_city_get_country(city));
63+ return QStringLiteral("%1, %2, %3").arg(geonames_city_get_name(city),
64+ geonames_city_get_state(city),
65+ geonames_city_get_country(city));
6666 case SimpleRole:
67− return QStringLiteral("%1, %2").arg(geonames_city_get_name(city))
68− .arg(geonames_city_get_country(city));
67+ return QStringLiteral("%1, %2").arg(geonames_city_get_name(city),
68+ geonames_city_get_country(city));
6969 case TimeZoneRole:
7070 return geonames_city_get_timezone(city);
7171 case CountryRole:
po/aa.po+173−166
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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"
1111"PO-Revision-Date: 2016-02-12 10:18+0000\n"
1212"Last-Translator: Charif AYFARAH <ayfarah@ymail.com>\n"
1313"Language-Team: Afar <aa@li.org>\n"
@@ -15,104 +15,86 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr "Cuumita "
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr ""
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr "Kat"
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr ""
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
5839msgctxt "Title: Lock/Log out dialog"
5940msgid "Log out"
6041msgstr "Eweq"
6142
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6344msgid "Are you sure you want to log out?"
6445msgstr ""
6546
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
6748msgctxt "Button: Lock the system"
6849msgid "Lock"
6950msgstr "Koflis"
7051
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7253msgctxt "Button: Log out from the system"
7354msgid "Log Out"
7455msgstr "Eweq"
7556
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
7860#: qml/Wizard/Pages/passcode-set.qml:32
7961msgid "Cancel"
8062msgstr "Bayis"
8163
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8365msgctxt "Title: Reboot dialog"
8466msgid "Reboot"
8567msgstr "Wadir-ugus"
8668
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
8870msgid "Are you sure you want to reboot?"
8971msgstr "Wadir-ugussuh digga maay litoo?"
9072
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9274msgid "No"
9375msgstr "Maleey"
9476
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
9678msgid "Yes"
9779msgstr "Yeey"
9880
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10082msgctxt "Title: Power off/Restart dialog"
10183msgid "Power"
10284msgstr "Cayla"
10385
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10587msgid ""
10688"Are you sure you would like\n"
10789"to power off?"
10890msgstr "Timmi haytuh digga maay litoo?"
10991
110−#: qml/Components/Dialogs.qml:200
92+#: qml/Components/Dialogs.qml:205
11193msgctxt "Button: Power off the system"
11294msgid "Power off"
11395msgstr "Timmi hayis"
11496
115−#: qml/Components/Dialogs.qml:209
97+#: qml/Components/Dialogs.qml:214
11698msgctxt "Button: Restart the system"
11799msgid "Restart"
118100msgstr "Wadir-qimbis"
@@ -277,15 +259,15 @@ msgstr ""
277259msgid "Closes the current window."
278260msgstr ""
279261
280−#: qml/Components/Lockscreen.qml:239
262+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
281263msgid "Return to Call"
282264msgstr "Seecol gacis"
283265
284−#: qml/Components/Lockscreen.qml:239
266+#: qml/Components/Lockscreen.qml:212
285267msgid "Emergency Call"
286268msgstr ""
287269
288−#: qml/Components/Lockscreen.qml:271
270+#: qml/Components/Lockscreen.qml:244
289271msgid "OK"
290272msgstr "Hayya"
291273
@@ -329,84 +311,84 @@ msgstr "Inkih alif"
329311msgid "Preview Share Item"
330312msgstr ""
331313
332−#: qml/Dash/DashPageHeader.qml:333
314+#: qml/Dash/DashPageHeader.qml:361
333315msgctxt "Button: Open the Ubuntu Store"
334316msgid "Store"
335317msgstr ""
336318
337−#: qml/Dash/DashPageHeader.qml:340
319+#: qml/Dash/DashPageHeader.qml:368
338320msgctxt "Button: Start a search in the current dash scope"
339321msgid "Search"
340322msgstr "Goranto"
341323
342−#: qml/Dash/DashPageHeader.qml:350
324+#: qml/Dash/DashPageHeader.qml:378
343325msgctxt "Button: Show the current dash scope settings"
344326msgid "Settings"
345327msgstr "Massosu"
346328
347−#: qml/Dash/DashPageHeader.qml:357
329+#: qml/Dash/DashPageHeader.qml:385
348330msgid "Remove from Favorites"
349331msgstr ""
350332
351−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
352334msgid "Add to Favorites"
353335msgstr ""
354336
355−#: qml/Dash/FiltersPopover.qml:60
337+#: qml/Dash/FiltersPopover.qml:61
356338msgid "Refine your results"
357339msgstr ""
358340
359−#: qml/Dash/FiltersPopover.qml:69
341+#: qml/Dash/FiltersPopover.qml:70
360342msgid "Reset"
361343msgstr ""
362344
363−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
345+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
364346msgid "Show less"
365347msgstr ""
366348
367−#: qml/Dash/GenericScopeView.qml:580
349+#: qml/Dash/GenericScopeView.qml:547
368350msgid "Show all"
369351msgstr ""
370352
371−#: qml/Dash/GenericScopeView.qml:637
353+#: qml/Dash/GenericScopeView.qml:578
372354msgctxt "Label: Hint for dash search line edit"
373355msgid "Search"
374356msgstr "Goranto"
375357
376−#: qml/Dash/PageHeaderExtraPanel.qml:56
358+#: qml/Dash/PageHeaderExtraPanel.qml:67
377359msgid "Recent Searches"
378360msgstr ""
379361
380−#: qml/Dash/PageHeaderExtraPanel.qml:67
362+#: qml/Dash/PageHeaderExtraPanel.qml:78
381363msgid "Clear All"
382364msgstr ""
383365
384−#: qml/Dash/Previews/PreviewActionCombo.qml:35
366+#: qml/Dash/Previews/PreviewActionCombo.qml:36
385367msgid "More..."
386368msgstr ""
387369
388−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
389371msgid "Less..."
390372msgstr ""
391373
392−#: qml/Dash/Previews/PreviewCommentInput.qml:68
393−#: qml/Dash/Previews/PreviewRatingInput.qml:175
374+#: qml/Dash/Previews/PreviewCommentInput.qml:83
375+#: qml/Dash/Previews/PreviewRatingInput.qml:202
394376msgid "Send"
395377msgstr "Rub"
396378
397−#: qml/Dash/Previews/PreviewRatingInput.qml:82
379+#: qml/Dash/Previews/PreviewRatingInput.qml:109
398380msgid "Rate this"
399381msgstr ""
400382
401−#: qml/Dash/Previews/PreviewRatingInput.qml:157
383+#: qml/Dash/Previews/PreviewRatingInput.qml:184
402384msgid "Add a review"
403385msgstr ""
404386
405−#: qml/Dash/PullToRefreshScopeStyle.qml:55
387+#: qml/Dash/PullToRefreshScopeStyle.qml:56
406388msgid "Pull to refresh…"
407389msgstr ""
408390
409−#: qml/Dash/PullToRefreshScopeStyle.qml:60
391+#: qml/Dash/PullToRefreshScopeStyle.qml:61
410392msgid "Release to refresh…"
411393msgstr ""
412394
@@ -414,15 +396,15 @@ msgstr ""
414396msgid "Enable location data"
415397msgstr ""
416398
417−#: qml/Dash/ScopesList.qml:55
399+#: qml/Dash/ScopesList.qml:57
418400msgid "Manage"
419401msgstr ""
420402
421−#: qml/Dash/ScopesList.qml:102
403+#: qml/Dash/ScopesList.qml:104
422404msgid "Home"
423405msgstr "Dabqi"
424406
425−#: qml/Dash/ScopesList.qml:103
407+#: qml/Dash/ScopesList.qml:105
426408msgid "Also installed"
427409msgstr ""
428410
@@ -436,79 +418,51 @@ msgstr ""
436418msgid "Unlock"
437419msgstr ""
438420
439−#: qml/Greeter/Greeter.qml:555
440−msgid "Try again"
441−msgstr ""
442−
443−#: qml/Greeter/LoginList.qml:63
444−msgid "Passphrase"
445−msgstr ""
446−
447−#: qml/Greeter/LoginList.qml:64
448−msgid "Passcode"
421+#: qml/Greeter/DelayedLockscreen.qml:43
422+msgid "Device Locked"
449423msgstr ""
450424
451−#: qml/Greeter/LoginList.qml:87
452−msgid "Retry"
453−msgstr "Qagis"
454−
455−#: qml/Greeter/LoginList.qml:88
456−msgid "Log In"
425+#: qml/Greeter/DelayedLockscreen.qml:58
426+msgid "You have been locked out due to too many failed passphrase attempts."
457427msgstr ""
458428
459−#: qml/Greeter/NarrowView.qml:55
460−msgid "Sorry, incorrect passphrase."
429+#: qml/Greeter/DelayedLockscreen.qml:59
430+msgid "You have been locked out due to too many failed passcode attempts."
461431msgstr ""
462432
463−#: qml/Greeter/NarrowView.qml:56
464−msgid "Sorry, incorrect passcode."
465−msgstr ""
433+#: qml/Greeter/DelayedLockscreen.qml:68
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] "Maganak %1 minit qambaalaay, kaadu gabbat"
438+msgstr[1] "Maganak %1 minit qambaalaay, kaadu gabbat"
466439
467−#: qml/Greeter/NarrowView.qml:57
468−msgid "This will be your last attempt."
440+#: qml/Greeter/Greeter.qml:596
441+msgid "Try again"
469442msgstr ""
470443
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."
444+#: qml/Greeter/LoginList.qml:70
445+msgid "Passphrase"
475446msgstr ""
476447
477−#: qml/Greeter/NarrowView.qml:60
478−msgid ""
479−"If passcode is entered incorrectly, your phone will conduct a factory reset "
480−"and all personal data will be deleted."
448+#: qml/Greeter/LoginList.qml:71
449+msgid "Passcode"
481450msgstr ""
482451
483−#: qml/Greeter/NarrowView.qml:129
484−#, qt-format
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 ""
452+#: qml/Greeter/LoginList.qml:98
453+msgid "Retry"
454+msgstr "Qagis"
500455
501−#: qml/Greeter/NarrowView.qml:136
502−msgid "Sorry, incorrect passphrase"
456+#: qml/Greeter/LoginList.qml:99
457+msgid "Log In"
503458msgstr ""
504459
505−#: qml/Greeter/NarrowView.qml:137
506−msgctxt "passphrase"
507−msgid "Please re-enter"
460+#: qml/Greeter/NarrowView.qml:252
461+msgid "Emergency"
508462msgstr ""
509463
510−#: qml/Greeter/NarrowView.qml:138
511−msgid "Sorry, incorrect passcode"
464+#: qml/Greeter/SessionsList.qml:122
465+msgid "Select desktop environment"
512466msgstr ""
513467
514468#: qml/Notifications/NotificationMenuItemFactory.qml:124
@@ -523,62 +477,62 @@ msgstr ""
523477msgid "Conference"
524478msgstr "Koboxu"
525479
526−#: qml/Panel/Indicators/MenuItemFactory.qml:762
480+#: qml/Panel/Indicators/MenuItemFactory.qml:847
527481msgid "Nothing is playing"
528482msgstr ""
529483
530−#: qml/Panel/Indicators/MenuItemFactory.qml:891
484+#: qml/Panel/Indicators/MenuItemFactory.qml:975
531485#, qt-format
532486msgid "%1 hour"
533487msgid_plural "%1 hours"
534488msgstr[0] "%1 saaqata"
535489msgstr[1] "%1 saaqata"
536490
537−#: qml/Panel/Indicators/MenuItemFactory.qml:895
491+#: qml/Panel/Indicators/MenuItemFactory.qml:979
538492#, qt-format
539493msgid "%1 minute"
540494msgid_plural "%1 minutes"
541495msgstr[0] "%1 miniti"
542496msgstr[1] "%1 miniti"
543497
544−#: qml/Panel/Indicators/MenuItemFactory.qml:900
498+#: qml/Panel/Indicators/MenuItemFactory.qml:984
545499#, qt-format
546500msgid "%1 second"
547501msgid_plural "%1 seconds"
548502msgstr[0] "%1 nammayye"
549503msgstr[1] "%1 nammayye"
550504
551−#: qml/Panel/Indicators/MenuItemFactory.qml:903
505+#: qml/Panel/Indicators/MenuItemFactory.qml:987
552506msgid "0 seconds"
553507msgstr "0 nammayye"
554508
555509#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
556−#: qml/Panel/Indicators/MenuItemFactory.qml:905
510+#: qml/Panel/Indicators/MenuItemFactory.qml:989
557511#, qt-format
558512msgid "%1 remaining"
559513msgstr "%1 raaqe"
560514
561−#: qml/Panel/Indicators/MenuItemFactory.qml:911
515+#: qml/Panel/Indicators/MenuItemFactory.qml:995
562516msgid "In queue…"
563517msgstr ""
564518
565−#: qml/Panel/Indicators/MenuItemFactory.qml:915
519+#: qml/Panel/Indicators/MenuItemFactory.qml:999
566520msgid "Downloading"
567521msgstr "Qulluumah"
568522
569−#: qml/Panel/Indicators/MenuItemFactory.qml:917
523+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
570524msgid "Paused, tap to resume"
571525msgstr ""
572526
573−#: qml/Panel/Indicators/MenuItemFactory.qml:919
527+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
574528msgid "Canceled"
575529msgstr "Bayteh"
576530
577−#: qml/Panel/Indicators/MenuItemFactory.qml:921
531+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
578532msgid "Finished"
579533msgstr "Duudumteh"
580534
581−#: qml/Panel/Indicators/MenuItemFactory.qml:923
535+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
582536msgid "Failed, tap to retry"
583537msgstr ""
584538
@@ -598,7 +552,7 @@ msgctxt "Button: Call back on phone"
598552msgid "Call back"
599553msgstr ""
600554
601−#: qml/Stages/SideStage.qml:76
555+#: qml/Stage/SideStage.qml:76
602556msgid "Drag using 3 fingers any application from one window to the other"
603557msgstr ""
604558
@@ -627,40 +581,54 @@ msgctxt "Button: Go back one page in the Wizard"
627581msgid "Back"
628582msgstr "Derre"
629583
630−#: qml/Wizard/Pages/10-welcome.qml:27
584+#: qml/Wizard/Pages/10-welcome.qml:28
631585msgid "Language"
632586msgstr ""
633587
634−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
635−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
636−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
588+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
591+#: qml/Wizard/Pages/70-passwd-type.qml:145
637592#: qml/Wizard/Pages/75-report-check.qml:84
638−#: qml/Wizard/Pages/passcode-desktop.qml:141
639−#: qml/Wizard/Pages/password-set.qml:141
593+#: qml/Wizard/Pages/passcode-desktop.qml:142
594+#: qml/Wizard/Pages/password-set.qml:142
640595msgid "Next"
641596msgstr ""
642597
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
644617msgid "Connect to Wi‑Fi"
645618msgstr ""
646619
647−#: qml/Wizard/Pages/30-wifi.qml:130
620+#: qml/Wizard/Pages/30-wifi.qml:132
648621msgid "Connected"
649622msgstr ""
650623
651−#: qml/Wizard/Pages/30-wifi.qml:163
624+#: qml/Wizard/Pages/30-wifi.qml:165
652625msgid "Available Wi-Fi networks"
653626msgstr ""
654627
655−#: qml/Wizard/Pages/30-wifi.qml:164
628+#: qml/Wizard/Pages/30-wifi.qml:166
656629msgid "No available Wi-Fi networks"
657630msgstr ""
658631
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−
664632#: qml/Wizard/Pages/40-location.qml:27
665633msgid "Location Services"
666634msgstr ""
@@ -693,11 +661,11 @@ msgstr ""
693661msgid "You can change it later in System Settings."
694662msgstr ""
695663
696−#: qml/Wizard/Pages/50-timezone.qml:29
664+#: qml/Wizard/Pages/50-timezone.qml:30
697665msgid "Time Zone"
698666msgstr ""
699667
700−#: qml/Wizard/Pages/50-timezone.qml:181
668+#: qml/Wizard/Pages/50-timezone.qml:182
701669msgid "Enter your city"
702670msgstr ""
703671
@@ -709,21 +677,21 @@ msgstr ""
709677msgid "Preferred Name"
710678msgstr ""
711679
712−#: qml/Wizard/Pages/70-passwd-type.qml:39
680+#: qml/Wizard/Pages/70-passwd-type.qml:40
713681msgid "Lock Screen"
714682msgstr ""
715683
716−#: qml/Wizard/Pages/70-passwd-type.qml:101
684+#: qml/Wizard/Pages/70-passwd-type.qml:102
717685msgctxt "Label: Type of security method"
718686msgid "Create new password"
719687msgstr ""
720688
721−#: qml/Wizard/Pages/70-passwd-type.qml:103
689+#: qml/Wizard/Pages/70-passwd-type.qml:104
722690msgctxt "Label: Type of security method"
723691msgid "Create passcode (numbers only)"
724692msgstr ""
725693
726−#: qml/Wizard/Pages/70-passwd-type.qml:105
694+#: qml/Wizard/Pages/70-passwd-type.qml:106
727695msgctxt "Label: Type of security method"
728696msgid "No lock code"
729697msgstr ""
@@ -744,6 +712,35 @@ msgstr ""
744712msgid "Privacy policy"
745713msgstr ""
746714
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+
747744#: qml/Wizard/Pages/80-finished.qml:89
748745msgid "Welcome to Ubuntu"
749746msgstr ""
@@ -787,7 +784,7 @@ msgid "Service Terms"
787784msgstr ""
788785
789786#: qml/Wizard/Pages/passcode-confirm.qml:43
790−#: qml/Wizard/Pages/passcode-desktop.qml:96
787+#: qml/Wizard/Pages/passcode-desktop.qml:97
791788msgid "Confirm passcode"
792789msgstr ""
793790
@@ -800,28 +797,28 @@ msgctxt "Enter the passcode again"
800797msgid "Please re-enter."
801798msgstr ""
802799
803−#: qml/Wizard/Pages/passcode-desktop.qml:30
800+#: qml/Wizard/Pages/passcode-desktop.qml:31
804801msgid "Lock Screen Passcode"
805802msgstr ""
806803
807−#: qml/Wizard/Pages/passcode-desktop.qml:60
804+#: qml/Wizard/Pages/passcode-desktop.qml:61
808805msgid "Enter 4 numbers to setup your passcode"
809806msgstr ""
810807
811−#: qml/Wizard/Pages/passcode-desktop.qml:76
808+#: qml/Wizard/Pages/passcode-desktop.qml:77
812809#: qml/Wizard/Pages/passcode-set.qml:54
813810msgid "Choose passcode"
814811msgstr ""
815812
816−#: qml/Wizard/Pages/passcode-desktop.qml:126
813+#: qml/Wizard/Pages/passcode-desktop.qml:127
817814msgid "Passcode too short"
818815msgstr ""
819816
820−#: qml/Wizard/Pages/passcode-desktop.qml:128
817+#: qml/Wizard/Pages/passcode-desktop.qml:129
821818msgid "Passcodes match"
822819msgstr ""
823820
824−#: qml/Wizard/Pages/passcode-desktop.qml:130
821+#: qml/Wizard/Pages/passcode-desktop.qml:131
825822msgid "Passcodes do not match"
826823msgstr ""
827824
@@ -829,19 +826,19 @@ msgstr ""
829826msgid "Passcode must be 4 characters long"
830827msgstr ""
831828
832−#: qml/Wizard/Pages/password-set.qml:30
829+#: qml/Wizard/Pages/password-set.qml:31
833830msgid "Lock Screen Password"
834831msgstr ""
835832
836−#: qml/Wizard/Pages/password-set.qml:61
833+#: qml/Wizard/Pages/password-set.qml:62
837834msgid "Enter at least 8 characters"
838835msgstr ""
839836
840−#: qml/Wizard/Pages/password-set.qml:73
837+#: qml/Wizard/Pages/password-set.qml:74
841838msgid "Choose password"
842839msgstr ""
843840
844−#: qml/Wizard/Pages/password-set.qml:103
841+#: qml/Wizard/Pages/password-set.qml:104
845842msgid "Confirm password"
846843msgstr ""
847844
@@ -912,6 +909,16 @@ msgstr ""
912909#~ msgid "Reboot"
913910#~ msgstr "Wadir-ugus"
914911
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+
915922#~ msgctxt "Label: Type of security method"
916923#~ msgid "Swipe"
917924#~ msgstr "Uysuttuc"
po/am.po+216−176
@@ -7,101 +7,83 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
11−"PO-Revision-Date: 2016-07-05 02:15+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11+"PO-Revision-Date: 2016-08-13 14:45+0000\n"
1212"Last-Translator: samson <Unknown>\n"
1313"Language-Team: Amharic <am@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr "የ መግቢያ ቃል: "
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr "አቋራጭ ማጣበቂያ"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr "ማጥፊያ"
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr "አቋራጭ መለያያ"
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
5839msgctxt "Title: Lock/Log out dialog"
5940msgid "Log out"
6041msgstr "መውጫ"
6142
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6344msgid "Are you sure you want to log out?"
6445msgstr "በእርግጥ መውጣት ይፈልጋሉ?"
6546
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
6748msgctxt "Button: Lock the system"
6849msgid "Lock"
6950msgstr "መቆለፊያ"
7051
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7253msgctxt "Button: Log out from the system"
7354msgid "Log Out"
7455msgstr "መውጫ"
7556
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
7860#: qml/Wizard/Pages/passcode-set.qml:32
7961msgid "Cancel"
8062msgstr "መሰረዣ"
8163
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8365msgctxt "Title: Reboot dialog"
8466msgid "Reboot"
8567msgstr "እንደገና ማስነሻ"
8668
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
8870msgid "Are you sure you want to reboot?"
8971msgstr "በእርግጥ እንደገና ማስነሳት ይፈልጋሉ?"
9072
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9274msgid "No"
9375msgstr "አይ"
9476
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
9678msgid "Yes"
9779msgstr "አዎ"
9880
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10082msgctxt "Title: Power off/Restart dialog"
10183msgid "Power"
10284msgstr "ሐይል"
10385
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10587msgid ""
10688"Are you sure you would like\n"
10789"to power off?"
@@ -109,12 +91,12 @@ msgstr ""
10991"በእርግጥ ሐይሉን ማጥፋት\n"
11092"ይፈልጋሉ?"
11193
112−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
11395msgctxt "Button: Power off the system"
11496msgid "Power off"
11597msgstr "ሐይል ማጥፊያ"
11698
117−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
118100msgctxt "Button: Restart the system"
119101msgid "Restart"
120102msgstr "እንደገና ማስጀመሪያ"
@@ -279,15 +261,15 @@ msgstr "Alt + F4"
279261msgid "Closes the current window."
280262msgstr "የ አሁኑን መስኮት መዝጊያ"
281263
282−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
283265msgid "Return to Call"
284266msgstr "ወደ ጥሪ መመለሻ"
285267
286−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
287269msgid "Emergency Call"
288270msgstr "የ ድንገተኛ ጥሪ"
289271
290−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
291273msgid "OK"
292274msgstr "እሺ"
293275
@@ -331,84 +313,84 @@ msgstr "ሁሉንም መዝጊያ"
331313msgid "Preview Share Item"
332314msgstr "የሚካፈሉትን እቃ ቅድመ እይታ"
333315
334−#: qml/Dash/DashPageHeader.qml:333
316+#: qml/Dash/DashPageHeader.qml:361
335317msgctxt "Button: Open the Ubuntu Store"
336318msgid "Store"
337319msgstr "ማስቀመጫ"
338320
339−#: qml/Dash/DashPageHeader.qml:340
321+#: qml/Dash/DashPageHeader.qml:368
340322msgctxt "Button: Start a search in the current dash scope"
341323msgid "Search"
342324msgstr "መፈለጊያ"
343325
344−#: qml/Dash/DashPageHeader.qml:350
326+#: qml/Dash/DashPageHeader.qml:378
345327msgctxt "Button: Show the current dash scope settings"
346328msgid "Settings"
347329msgstr "ማሰናጃዎች"
348330
349−#: qml/Dash/DashPageHeader.qml:357
331+#: qml/Dash/DashPageHeader.qml:385
350332msgid "Remove from Favorites"
351333msgstr "ከምወዳቸው ማስወገጃ"
352334
353−#: qml/Dash/DashPageHeader.qml:357
335+#: qml/Dash/DashPageHeader.qml:385
354336msgid "Add to Favorites"
355337msgstr "ወደምወዳቸው መጨመሪያ"
356338
357−#: qml/Dash/FiltersPopover.qml:60
339+#: qml/Dash/FiltersPopover.qml:61
358340msgid "Refine your results"
359341msgstr "የ እርስዎን ውጤቶች እንደገና ማጣሪያ"
360342
361−#: qml/Dash/FiltersPopover.qml:69
343+#: qml/Dash/FiltersPopover.qml:70
362344msgid "Reset"
363345msgstr "እንደ ነበረ መመለሻ"
364346
365−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
347+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
366348msgid "Show less"
367349msgstr "ትንሽ ማሳያ"
368350
369−#: qml/Dash/GenericScopeView.qml:580
351+#: qml/Dash/GenericScopeView.qml:547
370352msgid "Show all"
371353msgstr "ሁሉንም ማሳያ"
372354
373−#: qml/Dash/GenericScopeView.qml:637
355+#: qml/Dash/GenericScopeView.qml:578
374356msgctxt "Label: Hint for dash search line edit"
375357msgid "Search"
376358msgstr "መፈለጊያ"
377359
378−#: qml/Dash/PageHeaderExtraPanel.qml:56
360+#: qml/Dash/PageHeaderExtraPanel.qml:67
379361msgid "Recent Searches"
380362msgstr "የ ቅርብ ጊዜ ፍለጋዎች"
381363
382−#: qml/Dash/PageHeaderExtraPanel.qml:67
364+#: qml/Dash/PageHeaderExtraPanel.qml:78
383365msgid "Clear All"
384366msgstr "ሁሉንም ማጽጃ"
385367
386−#: qml/Dash/Previews/PreviewActionCombo.qml:35
368+#: qml/Dash/Previews/PreviewActionCombo.qml:36
387369msgid "More..."
388370msgstr "ተጨማሪ..."
389371
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
372+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391373msgid "Less..."
392374msgstr "አነስተኛ..."
393375
394−#: qml/Dash/Previews/PreviewCommentInput.qml:68
395−#: qml/Dash/Previews/PreviewRatingInput.qml:175
376+#: qml/Dash/Previews/PreviewCommentInput.qml:83
377+#: qml/Dash/Previews/PreviewRatingInput.qml:202
396378msgid "Send"
397379msgstr "መላኪያ"
398380
399−#: qml/Dash/Previews/PreviewRatingInput.qml:82
381+#: qml/Dash/Previews/PreviewRatingInput.qml:109
400382msgid "Rate this"
401383msgstr "ለዚህ ደረጃ ይስጡ"
402384
403−#: qml/Dash/Previews/PreviewRatingInput.qml:157
385+#: qml/Dash/Previews/PreviewRatingInput.qml:184
404386msgid "Add a review"
405387msgstr "ግምገማ መጨመሪያ"
406388
407−#: qml/Dash/PullToRefreshScopeStyle.qml:55
389+#: qml/Dash/PullToRefreshScopeStyle.qml:56
408390msgid "Pull to refresh…"
409391msgstr "ይሳቡ ለማነቃቃት…"
410392
411−#: qml/Dash/PullToRefreshScopeStyle.qml:60
393+#: qml/Dash/PullToRefreshScopeStyle.qml:61
412394msgid "Release to refresh…"
413395msgstr "ይልቀቁ ለማነቃቃት…"
414396
@@ -416,15 +398,15 @@ msgstr "ይልቀቁ ለማነቃቃት…"
416398msgid "Enable location data"
417399msgstr "የአካባቢ ዳታ ማስቻያ"
418400
419−#: qml/Dash/ScopesList.qml:55
401+#: qml/Dash/ScopesList.qml:57
420402msgid "Manage"
421403msgstr "አስተዳዳሪ"
422404
423−#: qml/Dash/ScopesList.qml:102
405+#: qml/Dash/ScopesList.qml:104
424406msgid "Home"
425407msgstr "ቤት"
426408
427−#: qml/Dash/ScopesList.qml:103
409+#: qml/Dash/ScopesList.qml:105
428410msgid "Also installed"
429411msgstr "እንዲሁም የተገጠሙ"
430412
@@ -438,84 +420,52 @@ msgstr "የ እርስዎ አካል አሁን ከ ውጪ ማሳያ ጋር ተገ
438420msgid "Unlock"
439421msgstr "መክፈቻ"
440422
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
442443msgid "Try again"
443444msgstr "እንደገና ይሞክሩ"
444445
445−#: qml/Greeter/LoginList.qml:63
446+#: qml/Greeter/LoginList.qml:70
446447msgid "Passphrase"
447−msgstr ""
448+msgstr "የማለፊያ ሐረግ"
448449
449−#: qml/Greeter/LoginList.qml:64
450+#: qml/Greeter/LoginList.qml:71
450451msgid "Passcode"
451−msgstr ""
452+msgstr "ማለፊያ ኮድ"
452453
453−#: qml/Greeter/LoginList.qml:87
454+#: qml/Greeter/LoginList.qml:98
454455msgid "Retry"
455456msgstr "እንደገና ይሞክሩ"
456457
457−#: qml/Greeter/LoginList.qml:88
458+#: qml/Greeter/LoginList.qml:99
458459msgid "Log In"
459460msgstr "መግቢያ"
460461
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."
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."
477−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 "የ ማለፊያ ሀረግ ያስገቡ"
462+#: qml/Greeter/NarrowView.qml:252
463+msgid "Emergency"
464+msgstr "ድንገተኛ"
497465
498−#: qml/Greeter/NarrowView.qml:131
499−msgid "Enter passcode"
500−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 "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
466+#: qml/Greeter/SessionsList.qml:122
467+msgid "Select desktop environment"
468+msgstr "የ ዴስክቶፕ አይነት ይምረጡ"
519469
520470#: qml/Notifications/NotificationMenuItemFactory.qml:124
521471msgid "Show password"
@@ -529,62 +479,62 @@ msgstr "ወደ ጥሪው ለመመለስ መታ ያድርጉ..."
529479msgid "Conference"
530480msgstr "ስብሰባ"
531481
532−#: qml/Panel/Indicators/MenuItemFactory.qml:762
482+#: qml/Panel/Indicators/MenuItemFactory.qml:847
533483msgid "Nothing is playing"
534484msgstr "ምንም አይጫወትም"
535485
536−#: qml/Panel/Indicators/MenuItemFactory.qml:891
486+#: qml/Panel/Indicators/MenuItemFactory.qml:975
537487#, qt-format
538488msgid "%1 hour"
539489msgid_plural "%1 hours"
540490msgstr[0] "%1 ሰአት"
541491msgstr[1] "%1 ሰአቶች"
542492
543−#: qml/Panel/Indicators/MenuItemFactory.qml:895
493+#: qml/Panel/Indicators/MenuItemFactory.qml:979
544494#, qt-format
545495msgid "%1 minute"
546496msgid_plural "%1 minutes"
547497msgstr[0] "%1 ደቂቃ"
548498msgstr[1] "%1 ደቂቃዎች"
549499
550−#: qml/Panel/Indicators/MenuItemFactory.qml:900
500+#: qml/Panel/Indicators/MenuItemFactory.qml:984
551501#, qt-format
552502msgid "%1 second"
553503msgid_plural "%1 seconds"
554504msgstr[0] "%1 ሰከንድ"
555505msgstr[1] "%1 ሰከንዶች"
556506
557−#: qml/Panel/Indicators/MenuItemFactory.qml:903
507+#: qml/Panel/Indicators/MenuItemFactory.qml:987
558508msgid "0 seconds"
559509msgstr "0 ሰከንዶች"
560510
561511#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
562−#: qml/Panel/Indicators/MenuItemFactory.qml:905
512+#: qml/Panel/Indicators/MenuItemFactory.qml:989
563513#, qt-format
564514msgid "%1 remaining"
565515msgstr "%1 የቀረው"
566516
567−#: qml/Panel/Indicators/MenuItemFactory.qml:911
517+#: qml/Panel/Indicators/MenuItemFactory.qml:995
568518msgid "In queue…"
569519msgstr "ወረፋ በመጠበቅ ላይ…"
570520
571−#: qml/Panel/Indicators/MenuItemFactory.qml:915
521+#: qml/Panel/Indicators/MenuItemFactory.qml:999
572522msgid "Downloading"
573523msgstr "በማውረድ ላይ"
574524
575−#: qml/Panel/Indicators/MenuItemFactory.qml:917
525+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
576526msgid "Paused, tap to resume"
577527msgstr "ማስቆሚያ: ለመቀጠል መታ ያድርጉ"
578528
579−#: qml/Panel/Indicators/MenuItemFactory.qml:919
529+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
580530msgid "Canceled"
581531msgstr "ተሰርዟል"
582532
583−#: qml/Panel/Indicators/MenuItemFactory.qml:921
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
584534msgid "Finished"
585535msgstr "ጨርሷል"
586536
587−#: qml/Panel/Indicators/MenuItemFactory.qml:923
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
588538msgid "Failed, tap to retry"
589539msgstr "አልተቻለም: እንደገና ለመሞከር መታ ያድርጉ"
590540
@@ -604,7 +554,7 @@ msgctxt "Button: Call back on phone"
604554msgid "Call back"
605555msgstr "መልሶ መደወያ"
606556
607−#: qml/Stages/SideStage.qml:76
557+#: qml/Stage/SideStage.qml:76
608558msgid "Drag using 3 fingers any application from one window to the other"
609559msgstr "መጎተቻ 3 ጣቶች በ መጠቀም ማንኛውንም መተግበሪያ ከ አንድ መስኮት ወደ ሌላ"
610560
@@ -633,40 +583,54 @@ msgctxt "Button: Go back one page in the Wizard"
633583msgid "Back"
634584msgstr "ወደ ኋላ"
635585
636−#: qml/Wizard/Pages/10-welcome.qml:27
586+#: qml/Wizard/Pages/10-welcome.qml:28
637587msgid "Language"
638588msgstr "ቋንቋ"
639589
640−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
641−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
642−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
590+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
593+#: qml/Wizard/Pages/70-passwd-type.qml:145
643594#: qml/Wizard/Pages/75-report-check.qml:84
644−#: qml/Wizard/Pages/passcode-desktop.qml:141
645−#: qml/Wizard/Pages/password-set.qml:141
595+#: qml/Wizard/Pages/passcode-desktop.qml:142
596+#: qml/Wizard/Pages/password-set.qml:142
646597msgid "Next"
647598msgstr "ይቀጥሉ"
648599
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
650619msgid "Connect to Wi‑Fi"
651620msgstr "ወደ ዋይ‑ፋይ መገናኛ"
652621
653−#: qml/Wizard/Pages/30-wifi.qml:130
622+#: qml/Wizard/Pages/30-wifi.qml:132
654623msgid "Connected"
655624msgstr "ተገናኝቷል"
656625
657−#: qml/Wizard/Pages/30-wifi.qml:163
626+#: qml/Wizard/Pages/30-wifi.qml:165
658627msgid "Available Wi-Fi networks"
659628msgstr "ዝግጁ የ ዋይ-ፋይ ኔትዎርኮች"
660629
661−#: qml/Wizard/Pages/30-wifi.qml:164
630+#: qml/Wizard/Pages/30-wifi.qml:166
662631msgid "No available Wi-Fi networks"
663632msgstr "ምንም ዝግጁ ዋይ-ፋይ ኔትዎርኮች አልተገኙም"
664633
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−
670634#: qml/Wizard/Pages/40-location.qml:27
671635msgid "Location Services"
672636msgstr "የ አካባቢ ግልጋሎት"
@@ -699,11 +663,11 @@ msgstr "የ እኔን አካባቢ አትጠቀም"
699663msgid "You can change it later in System Settings."
700664msgstr "እርስዎ በኋላ በ ስርአት ማሰናጃ ውስጥ መቀየር ይችላሉ"
701665
702−#: qml/Wizard/Pages/50-timezone.qml:29
666+#: qml/Wizard/Pages/50-timezone.qml:30
703667msgid "Time Zone"
704668msgstr "የ ሰአት ክልል"
705669
706−#: qml/Wizard/Pages/50-timezone.qml:181
670+#: qml/Wizard/Pages/50-timezone.qml:182
707671msgid "Enter your city"
708672msgstr "የ እርስዎን ከተማ ያስገቡ"
709673
@@ -715,21 +679,21 @@ msgstr "የ እርስዎን አካል የ ግልዎ ያድርጉ"
715679msgid "Preferred Name"
716680msgstr "የመረጡት ስም"
717681
718−#: qml/Wizard/Pages/70-passwd-type.qml:39
682+#: qml/Wizard/Pages/70-passwd-type.qml:40
719683msgid "Lock Screen"
720684msgstr "መመልከቻውን መቆለፊያ"
721685
722−#: qml/Wizard/Pages/70-passwd-type.qml:101
686+#: qml/Wizard/Pages/70-passwd-type.qml:102
723687msgctxt "Label: Type of security method"
724688msgid "Create new password"
725689msgstr "አዲስ የ መግቢያ ቃል መፍጠሪያ"
726690
727−#: qml/Wizard/Pages/70-passwd-type.qml:103
691+#: qml/Wizard/Pages/70-passwd-type.qml:104
728692msgctxt "Label: Type of security method"
729693msgid "Create passcode (numbers only)"
730694msgstr "አዲስ የ ማለፊያ ኮድ መፍጠሪያ (ቁጥር ብቻ)"
731695
732−#: qml/Wizard/Pages/70-passwd-type.qml:105
696+#: qml/Wizard/Pages/70-passwd-type.qml:106
733697msgctxt "Label: Type of security method"
734698msgid "No lock code"
735699msgstr "ምንም መቆለፊያ ኮድ አልተገኘም"
@@ -750,6 +714,35 @@ msgstr "የ ስርአቱን አፈጻጸም ለማሻሻል የ ግጭት እና
750714msgid "Privacy policy"
751715msgstr "የ ግላዊነት መመሪያ"
752716
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+
753746#: qml/Wizard/Pages/80-finished.qml:89
754747msgid "Welcome to Ubuntu"
755748msgstr "እንኳን ደህና መጡ ወደ ኡቡንቱ"
@@ -795,7 +788,7 @@ msgid "Service Terms"
795788msgstr "የ ግልጋሎት ስምምነቶች"
796789
797790#: qml/Wizard/Pages/passcode-confirm.qml:43
798−#: qml/Wizard/Pages/passcode-desktop.qml:96
791+#: qml/Wizard/Pages/passcode-desktop.qml:97
799792msgid "Confirm passcode"
800793msgstr "የማለፊያ ኮድ ማረጋገጫ"
801794
@@ -808,28 +801,28 @@ msgctxt "Enter the passcode again"
808801msgid "Please re-enter."
809802msgstr "እባክዎን እንደገና-ያስገቡ"
810803
811−#: qml/Wizard/Pages/passcode-desktop.qml:30
804+#: qml/Wizard/Pages/passcode-desktop.qml:31
812805msgid "Lock Screen Passcode"
813806msgstr "የ መመልከቻው መቆለፊያ የ ማለፊያ ኮድ"
814807
815−#: qml/Wizard/Pages/passcode-desktop.qml:60
808+#: qml/Wizard/Pages/passcode-desktop.qml:61
816809msgid "Enter 4 numbers to setup your passcode"
817810msgstr "ያስገቡ 4 ቁጥሮች የ እርስዎን የ ማለፊያ ኮድ ለማሰናዳት"
818811
819−#: qml/Wizard/Pages/passcode-desktop.qml:76
812+#: qml/Wizard/Pages/passcode-desktop.qml:77
820813#: qml/Wizard/Pages/passcode-set.qml:54
821814msgid "Choose passcode"
822815msgstr "የ ማለፊያ ኮድ ይምረጡ"
823816
824−#: qml/Wizard/Pages/passcode-desktop.qml:126
817+#: qml/Wizard/Pages/passcode-desktop.qml:127
825818msgid "Passcode too short"
826819msgstr "የ ማለፊያ ኮዱ በጣም አጭር ነው"
827820
828−#: qml/Wizard/Pages/passcode-desktop.qml:128
821+#: qml/Wizard/Pages/passcode-desktop.qml:129
829822msgid "Passcodes match"
830823msgstr "የ ማለፊያ ኮዶቹ ተመሳሳይ ናቸው"
831824
832−#: qml/Wizard/Pages/passcode-desktop.qml:130
825+#: qml/Wizard/Pages/passcode-desktop.qml:131
833826msgid "Passcodes do not match"
834827msgstr "የ ማለፊያ ኮዶቹ አይመሳሰሉም"
835828
@@ -837,19 +830,19 @@ msgstr "የ ማለፊያ ኮዶቹ አይመሳሰሉም"
837830msgid "Passcode must be 4 characters long"
838831msgstr "የ ማለፊያ ኮድ 4 ባህሪዎች መሆን አለበት"
839832
840−#: qml/Wizard/Pages/password-set.qml:30
833+#: qml/Wizard/Pages/password-set.qml:31
841834msgid "Lock Screen Password"
842835msgstr "የ መመልከቻ መቆለፊያ የ መግቢያ ቃል"
843836
844−#: qml/Wizard/Pages/password-set.qml:61
837+#: qml/Wizard/Pages/password-set.qml:62
845838msgid "Enter at least 8 characters"
846839msgstr "ያስገቡ ቢያንስ 8 ባህሪዎች"
847840
848−#: qml/Wizard/Pages/password-set.qml:73
841+#: qml/Wizard/Pages/password-set.qml:74
849842msgid "Choose password"
850843msgstr "የ መግቢያ ቃል ይምረጡ"
851844
852−#: qml/Wizard/Pages/password-set.qml:103
845+#: qml/Wizard/Pages/password-set.qml:104
853846msgid "Confirm password"
854847msgstr "የ መግቢያ ቃሉን ያረጋግጡ"
855848
@@ -974,6 +967,13 @@ msgstr "በጣም ደካማ የ መግቢያ ቃል"
974967#~ msgid "Power off"
975968#~ msgstr "ማጥፊያ"
976969
970+#~ msgid "This will be your last attempt."
971+#~ msgstr "ይህ የመጨረሻ ሙከራዎ ነው"
972+
973+#, qt-format
974+#~ msgid "Sorry, incorrect %1"
975+#~ msgstr "አዝናለሁ: የተሳሳተ%1"
976+
977977#~ msgid "Power"
978978#~ msgstr "ሐይል"
979979
@@ -992,24 +992,60 @@ msgstr "በጣም ደካማ የ መግቢያ ቃል"
992992#~ msgid "Settings"
993993#~ msgstr "ማሰናጃ"
994994
995+#~ msgid "Sorry, incorrect passphrase"
996+#~ msgstr "አዝናለሁ የተሳሳተ የማለፊያ ሐረግ"
997+
995998#~ msgid "Unlock SIM"
996999#~ msgstr "ሲም መክፈቻ"
9971000
1001+#~ msgid "Sorry, incorrect passcode"
1002+#~ msgstr "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
1003+
1004+#~ msgid "Sorry, incorrect passphrase."
1005+#~ msgstr "አዝናለሁ የተሳሳተ የማለፊያ ሐረግ"
1006+
1007+#~ msgid "Sorry, incorrect passcode."
1008+#~ msgstr "አዝናለሁ የተሳሳተ የማለፊያ ኮድ"
1009+
9981010#~ msgid ""
9991011#~ "You have now mastered the edge gestures and can start using the "
10001012#~ "phone<br><br>Tap on the screen to start"
10011013#~ msgstr ""
10021014#~ "አሁን የ ጠርዝ እንቅስቃሴን አውቀዋል እና መጀመር ይችላሉ ስልኩን መጠቀም <br><br>መመልከቻውን መታ ያድርጉ ለመጀመር"
10031015
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+
10041030#~ msgid "Roaming"
10051031#~ msgstr "ማዘዋወሪያ"
10061032
10071033#~ msgid "Manage Scopes"
10081034#~ msgstr "የ ክልል አስተዳዳሪ"
10091035
1036+#, qt-format
1037+#~ msgid "Enter %1"
1038+#~ msgstr "ማስገቢያ %1"
1039+
10101040#~ msgid "Please re-enter"
10111041#~ msgstr "እባክዎን እንደገና-ያስገቡ"
10121042
1043+#~ msgid "Enter passphrase"
1044+#~ msgstr "የ ማለፊያ ሀረግ ያስገቡ"
1045+
1046+#~ msgid "Enter passcode"
1047+#~ msgstr "የ ማለፊያ ኮድ ያስገቡ"
1048+
10131049#~ msgid "Lock security"
10141050#~ msgstr "ደህንነት መቆለፊያ"
10151051
@@ -1219,6 +1255,10 @@ msgstr "በጣም ደካማ የ መግቢያ ቃል"
12191255#~ msgid "%a %d %b %l:%M %p"
12201256#~ msgstr "%a %d %b %l:%ደ %ከ"
12211257
1258+#~ msgctxt "passphrase"
1259+#~ msgid "Please re-enter"
1260+#~ msgstr "እባክዎን እንደገና-ያስገቡ"
1261+
12221262#~ msgid "Call back"
12231263#~ msgstr "መልሶ መደወያ"
12241264
po/ar.po+217−177
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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"
1111"PO-Revision-Date: 2015-07-29 09:41+0000\n"
1212"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
1313"Language-Team: Arabic <ar@li.org>\n"
@@ -16,99 +16,75 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
1818"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"
20−"X-Generator: Launchpad (build 18147)\n"
19+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
20+"X-Generator: Launchpad (build 18282)\n"
2121
2222#: plugins/LightDM/Greeter.cpp:123
2323msgid "Password: "
2424msgstr "كلمة السر: "
2525
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
2828msgid "Pin shortcut"
2929msgstr "تثبيت الاختصار"
3030
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
3232msgid "Quit"
3333msgstr "خروج"
3434
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
3636msgid "Unpin shortcut"
3737msgstr "إزالة تثبيت الاختصار"
3838
39−#: qml/Components/DelayedLockscreen.qml:50
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
39+#: qml/Components/Dialogs.qml:149
6540msgctxt "Title: Lock/Log out dialog"
6641msgid "Log out"
6742msgstr "خروج"
6843
69−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
7045msgid "Are you sure you want to log out?"
7146msgstr "هل أنت متأكد من رغبتك في تسجيل الخروج؟"
7247
73−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
7449msgctxt "Button: Lock the system"
7550msgid "Lock"
7651msgstr "أوصِد"
7752
78−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
7954msgctxt "Button: Log out from the system"
8055msgid "Log Out"
8156msgstr "خروج"
8257
83−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
84−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
8561#: qml/Wizard/Pages/passcode-set.qml:32
8662msgid "Cancel"
8763msgstr "إلغاء"
8864
89−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
9066msgctxt "Title: Reboot dialog"
9167msgid "Reboot"
9268msgstr "إعادة التشغيل"
9369
94−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
9571msgid "Are you sure you want to reboot?"
9672msgstr "هل أنت متأكد من رغبتك في إعادة تشغيل الجهاز؟"
9773
98−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
9975msgid "No"
10076msgstr "لا"
10177
102−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
10379msgid "Yes"
10480msgstr "نعم"
10581
106−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
10783msgctxt "Title: Power off/Restart dialog"
10884msgid "Power"
10985msgstr "الطاقة"
11086
111−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
11288msgid ""
11389"Are you sure you would like\n"
11490"to power off?"
@@ -116,12 +92,12 @@ msgstr ""
11692"هل أنت متأكد من رغبتك\n"
11793"في إيقاف التشغيل؟"
11894
119−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
12096msgctxt "Button: Power off the system"
12197msgid "Power off"
12298msgstr "إيقاف التشغيل"
12399
124−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
125101msgctxt "Button: Restart the system"
126102msgid "Restart"
127103msgstr "إعادة التشغيل"
@@ -286,15 +262,15 @@ msgstr ""
286262msgid "Closes the current window."
287263msgstr ""
288264
289−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
290266msgid "Return to Call"
291267msgstr "العودة إلى المكالمة"
292268
293−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
294270msgid "Emergency Call"
295271msgstr "مكالمة طوارئ"
296272
297−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
298274msgid "OK"
299275msgstr "موافق"
300276
@@ -338,84 +314,84 @@ msgstr ""
338314msgid "Preview Share Item"
339315msgstr ""
340316
341−#: qml/Dash/DashPageHeader.qml:333
317+#: qml/Dash/DashPageHeader.qml:361
342318msgctxt "Button: Open the Ubuntu Store"
343319msgid "Store"
344320msgstr "المتجر"
345321
346−#: qml/Dash/DashPageHeader.qml:340
322+#: qml/Dash/DashPageHeader.qml:368
347323msgctxt "Button: Start a search in the current dash scope"
348324msgid "Search"
349325msgstr "بحث"
350326
351−#: qml/Dash/DashPageHeader.qml:350
327+#: qml/Dash/DashPageHeader.qml:378
352328msgctxt "Button: Show the current dash scope settings"
353329msgid "Settings"
354330msgstr "الإعدادات"
355331
356−#: qml/Dash/DashPageHeader.qml:357
332+#: qml/Dash/DashPageHeader.qml:385
357333msgid "Remove from Favorites"
358334msgstr "حذف من المفضلات"
359335
360−#: qml/Dash/DashPageHeader.qml:357
336+#: qml/Dash/DashPageHeader.qml:385
361337msgid "Add to Favorites"
362338msgstr "إضافة إلى المفضلات"
363339
364−#: qml/Dash/FiltersPopover.qml:60
340+#: qml/Dash/FiltersPopover.qml:61
365341msgid "Refine your results"
366342msgstr ""
367343
368−#: qml/Dash/FiltersPopover.qml:69
344+#: qml/Dash/FiltersPopover.qml:70
369345msgid "Reset"
370346msgstr ""
371347
372−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
348+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
373349msgid "Show less"
374350msgstr ""
375351
376−#: qml/Dash/GenericScopeView.qml:580
352+#: qml/Dash/GenericScopeView.qml:547
377353msgid "Show all"
378354msgstr ""
379355
380−#: qml/Dash/GenericScopeView.qml:637
356+#: qml/Dash/GenericScopeView.qml:578
381357msgctxt "Label: Hint for dash search line edit"
382358msgid "Search"
383359msgstr "بحث"
384360
385−#: qml/Dash/PageHeaderExtraPanel.qml:56
361+#: qml/Dash/PageHeaderExtraPanel.qml:67
386362msgid "Recent Searches"
387363msgstr ""
388364
389−#: qml/Dash/PageHeaderExtraPanel.qml:67
365+#: qml/Dash/PageHeaderExtraPanel.qml:78
390366msgid "Clear All"
391367msgstr ""
392368
393−#: qml/Dash/Previews/PreviewActionCombo.qml:35
369+#: qml/Dash/Previews/PreviewActionCombo.qml:36
394370msgid "More..."
395371msgstr "المزيد..."
396372
397−#: qml/Dash/Previews/PreviewActionCombo.qml:35
373+#: qml/Dash/Previews/PreviewActionCombo.qml:36
398374msgid "Less..."
399375msgstr "أقل..."
400376
401−#: qml/Dash/Previews/PreviewCommentInput.qml:68
402−#: qml/Dash/Previews/PreviewRatingInput.qml:175
377+#: qml/Dash/Previews/PreviewCommentInput.qml:83
378+#: qml/Dash/Previews/PreviewRatingInput.qml:202
403379msgid "Send"
404380msgstr "أرسل"
405381
406−#: qml/Dash/Previews/PreviewRatingInput.qml:82
382+#: qml/Dash/Previews/PreviewRatingInput.qml:109
407383msgid "Rate this"
408384msgstr "قيّم ذلك"
409385
410−#: qml/Dash/Previews/PreviewRatingInput.qml:157
386+#: qml/Dash/Previews/PreviewRatingInput.qml:184
411387msgid "Add a review"
412388msgstr "أضف تعليق"
413389
414−#: qml/Dash/PullToRefreshScopeStyle.qml:55
390+#: qml/Dash/PullToRefreshScopeStyle.qml:56
415391msgid "Pull to refresh…"
416392msgstr "اسحب للتحديث..."
417393
418−#: qml/Dash/PullToRefreshScopeStyle.qml:60
394+#: qml/Dash/PullToRefreshScopeStyle.qml:61
419395msgid "Release to refresh…"
420396msgstr "حرّر للتحديث..."
421397
@@ -423,15 +399,15 @@ msgstr "حرّر للتحديث..."
423399msgid "Enable location data"
424400msgstr "تفعيل بيانات الموقع"
425401
426−#: qml/Dash/ScopesList.qml:55
402+#: qml/Dash/ScopesList.qml:57
427403msgid "Manage"
428404msgstr "إدارة"
429405
430−#: qml/Dash/ScopesList.qml:102
406+#: qml/Dash/ScopesList.qml:104
431407msgid "Home"
432408msgstr "الرئيسية"
433409
434−#: qml/Dash/ScopesList.qml:103
410+#: qml/Dash/ScopesList.qml:105
435411msgid "Also installed"
436412msgstr "أيضا تم تثبيت"
437413
@@ -445,84 +421,58 @@ msgstr ""
445421msgid "Unlock"
446422msgstr "فك القفل"
447423
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
449450msgid "Try again"
450451msgstr ""
451452
452−#: qml/Greeter/LoginList.qml:63
453+#: qml/Greeter/LoginList.qml:70
453454msgid "Passphrase"
454455msgstr ""
455456
456−#: qml/Greeter/LoginList.qml:64
457+#: qml/Greeter/LoginList.qml:71
457458msgid "Passcode"
458459msgstr ""
459460
460−#: qml/Greeter/LoginList.qml:87
461+#: qml/Greeter/LoginList.qml:98
461462msgid "Retry"
462463msgstr "إعادة المحاولة"
463464
464−#: qml/Greeter/LoginList.qml:88
465+#: qml/Greeter/LoginList.qml:99
465466msgid "Log In"
466467msgstr ""
467468
468−#: qml/Greeter/NarrowView.qml:55
469−msgid "Sorry, incorrect passphrase."
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."
469+#: qml/Greeter/NarrowView.qml:252
470+msgid "Emergency"
484471msgstr ""
485−"إذا تم إدخال العبارة السرية بشكل خاطئ، فسوف يتم إعادة الهاتف لحالة ضبط "
486−"المصنع وسيتم حذف كافة البيانات الشخصية."
487472
488−#: qml/Greeter/NarrowView.qml:60
489−msgid ""
490−"If passcode is entered incorrectly, your phone will conduct a factory reset "
491−"and all personal data will be deleted."
473+#: qml/Greeter/SessionsList.qml:122
474+msgid "Select desktop environment"
492475msgstr ""
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 "نأسف، الرمز السري غير صحيح"
526476
527477#: qml/Notifications/NotificationMenuItemFactory.qml:124
528478msgid "Show password"
@@ -536,11 +486,11 @@ msgstr "انقر للعودة إلى المكالمة..."
536486msgid "Conference"
537487msgstr "مؤتمر"
538488
539−#: qml/Panel/Indicators/MenuItemFactory.qml:762
489+#: qml/Panel/Indicators/MenuItemFactory.qml:847
540490msgid "Nothing is playing"
541491msgstr "لا شيء مُشغّل"
542492
543−#: qml/Panel/Indicators/MenuItemFactory.qml:891
493+#: qml/Panel/Indicators/MenuItemFactory.qml:975
544494#, qt-format
545495msgid "%1 hour"
546496msgid_plural "%1 hours"
@@ -551,7 +501,7 @@ msgstr[3] "%1 ساعات"
551501msgstr[4] "%1 ساعة"
552502msgstr[5] "%1 ساعة"
553503
554−#: qml/Panel/Indicators/MenuItemFactory.qml:895
504+#: qml/Panel/Indicators/MenuItemFactory.qml:979
555505#, qt-format
556506msgid "%1 minute"
557507msgid_plural "%1 minutes"
@@ -562,7 +512,7 @@ msgstr[3] "%1 دقائق"
562512msgstr[4] "%1 دقيقة"
563513msgstr[5] "%1 دقيقة"
564514
565−#: qml/Panel/Indicators/MenuItemFactory.qml:900
515+#: qml/Panel/Indicators/MenuItemFactory.qml:984
566516#, qt-format
567517msgid "%1 second"
568518msgid_plural "%1 seconds"
@@ -573,37 +523,37 @@ msgstr[3] "%1 ثوان"
573523msgstr[4] "%1 ثانية"
574524msgstr[5] "%1 ثانية"
575525
576−#: qml/Panel/Indicators/MenuItemFactory.qml:903
526+#: qml/Panel/Indicators/MenuItemFactory.qml:987
577527msgid "0 seconds"
578528msgstr "أقل من ثانية"
579529
580530#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
581−#: qml/Panel/Indicators/MenuItemFactory.qml:905
531+#: qml/Panel/Indicators/MenuItemFactory.qml:989
582532#, qt-format
583533msgid "%1 remaining"
584534msgstr "باق %1"
585535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:911
536+#: qml/Panel/Indicators/MenuItemFactory.qml:995
587537msgid "In queue…"
588538msgstr "في الانتظار..."
589539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:915
540+#: qml/Panel/Indicators/MenuItemFactory.qml:999
591541msgid "Downloading"
592542msgstr "التنزيل"
593543
594−#: qml/Panel/Indicators/MenuItemFactory.qml:917
544+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
595545msgid "Paused, tap to resume"
596546msgstr "مُلبث، انقر للاستئناف"
597547
598−#: qml/Panel/Indicators/MenuItemFactory.qml:919
548+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
599549msgid "Canceled"
600550msgstr "تم إلغائه"
601551
602−#: qml/Panel/Indicators/MenuItemFactory.qml:921
552+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
603553msgid "Finished"
604554msgstr "انتهى"
605555
606−#: qml/Panel/Indicators/MenuItemFactory.qml:923
556+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
607557msgid "Failed, tap to retry"
608558msgstr "فشل، انقل لإعادة المحاولة"
609559
@@ -623,7 +573,7 @@ msgctxt "Button: Call back on phone"
623573msgid "Call back"
624574msgstr ""
625575
626−#: qml/Stages/SideStage.qml:76
576+#: qml/Stage/SideStage.qml:76
627577msgid "Drag using 3 fingers any application from one window to the other"
628578msgstr ""
629579
@@ -652,40 +602,54 @@ msgctxt "Button: Go back one page in the Wizard"
652602msgid "Back"
653603msgstr "عودة"
654604
655−#: qml/Wizard/Pages/10-welcome.qml:27
605+#: qml/Wizard/Pages/10-welcome.qml:28
656606msgid "Language"
657607msgstr ""
658608
659−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
660−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
661−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
609+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
612+#: qml/Wizard/Pages/70-passwd-type.qml:145
662613#: qml/Wizard/Pages/75-report-check.qml:84
663−#: qml/Wizard/Pages/passcode-desktop.qml:141
664−#: qml/Wizard/Pages/password-set.qml:141
614+#: qml/Wizard/Pages/passcode-desktop.qml:142
615+#: qml/Wizard/Pages/password-set.qml:142
665616msgid "Next"
666617msgstr ""
667618
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
669638msgid "Connect to Wi‑Fi"
670639msgstr "اتصل بالواي فاي"
671640
672−#: qml/Wizard/Pages/30-wifi.qml:130
641+#: qml/Wizard/Pages/30-wifi.qml:132
673642msgid "Connected"
674643msgstr ""
675644
676−#: qml/Wizard/Pages/30-wifi.qml:163
645+#: qml/Wizard/Pages/30-wifi.qml:165
677646msgid "Available Wi-Fi networks"
678647msgstr ""
679648
680−#: qml/Wizard/Pages/30-wifi.qml:164
649+#: qml/Wizard/Pages/30-wifi.qml:166
681650msgid "No available Wi-Fi networks"
682651msgstr ""
683652
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−
689653#: qml/Wizard/Pages/40-location.qml:27
690654msgid "Location Services"
691655msgstr ""
@@ -718,11 +682,11 @@ msgstr ""
718682msgid "You can change it later in System Settings."
719683msgstr ""
720684
721−#: qml/Wizard/Pages/50-timezone.qml:29
685+#: qml/Wizard/Pages/50-timezone.qml:30
722686msgid "Time Zone"
723687msgstr ""
724688
725−#: qml/Wizard/Pages/50-timezone.qml:181
689+#: qml/Wizard/Pages/50-timezone.qml:182
726690msgid "Enter your city"
727691msgstr ""
728692
@@ -734,21 +698,21 @@ msgstr ""
734698msgid "Preferred Name"
735699msgstr ""
736700
737−#: qml/Wizard/Pages/70-passwd-type.qml:39
701+#: qml/Wizard/Pages/70-passwd-type.qml:40
738702msgid "Lock Screen"
739703msgstr ""
740704
741−#: qml/Wizard/Pages/70-passwd-type.qml:101
705+#: qml/Wizard/Pages/70-passwd-type.qml:102
742706msgctxt "Label: Type of security method"
743707msgid "Create new password"
744708msgstr ""
745709
746−#: qml/Wizard/Pages/70-passwd-type.qml:103
710+#: qml/Wizard/Pages/70-passwd-type.qml:104
747711msgctxt "Label: Type of security method"
748712msgid "Create passcode (numbers only)"
749713msgstr ""
750714
751−#: qml/Wizard/Pages/70-passwd-type.qml:105
715+#: qml/Wizard/Pages/70-passwd-type.qml:106
752716msgctxt "Label: Type of security method"
753717msgid "No lock code"
754718msgstr ""
@@ -769,6 +733,35 @@ msgstr ""
769733msgid "Privacy policy"
770734msgstr ""
771735
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+
772765#: qml/Wizard/Pages/80-finished.qml:89
773766msgid "Welcome to Ubuntu"
774767msgstr ""
@@ -812,7 +805,7 @@ msgid "Service Terms"
812805msgstr ""
813806
814807#: qml/Wizard/Pages/passcode-confirm.qml:43
815−#: qml/Wizard/Pages/passcode-desktop.qml:96
808+#: qml/Wizard/Pages/passcode-desktop.qml:97
816809msgid "Confirm passcode"
817810msgstr "تأكيد الرمز السري"
818811
@@ -825,28 +818,28 @@ msgctxt "Enter the passcode again"
825818msgid "Please re-enter."
826819msgstr ""
827820
828−#: qml/Wizard/Pages/passcode-desktop.qml:30
821+#: qml/Wizard/Pages/passcode-desktop.qml:31
829822msgid "Lock Screen Passcode"
830823msgstr ""
831824
832−#: qml/Wizard/Pages/passcode-desktop.qml:60
825+#: qml/Wizard/Pages/passcode-desktop.qml:61
833826msgid "Enter 4 numbers to setup your passcode"
834827msgstr ""
835828
836−#: qml/Wizard/Pages/passcode-desktop.qml:76
829+#: qml/Wizard/Pages/passcode-desktop.qml:77
837830#: qml/Wizard/Pages/passcode-set.qml:54
838831msgid "Choose passcode"
839832msgstr ""
840833
841−#: qml/Wizard/Pages/passcode-desktop.qml:126
834+#: qml/Wizard/Pages/passcode-desktop.qml:127
842835msgid "Passcode too short"
843836msgstr ""
844837
845−#: qml/Wizard/Pages/passcode-desktop.qml:128
838+#: qml/Wizard/Pages/passcode-desktop.qml:129
846839msgid "Passcodes match"
847840msgstr ""
848841
849−#: qml/Wizard/Pages/passcode-desktop.qml:130
842+#: qml/Wizard/Pages/passcode-desktop.qml:131
850843msgid "Passcodes do not match"
851844msgstr ""
852845
@@ -854,19 +847,19 @@ msgstr ""
854847msgid "Passcode must be 4 characters long"
855848msgstr ""
856849
857−#: qml/Wizard/Pages/password-set.qml:30
850+#: qml/Wizard/Pages/password-set.qml:31
858851msgid "Lock Screen Password"
859852msgstr ""
860853
861−#: qml/Wizard/Pages/password-set.qml:61
854+#: qml/Wizard/Pages/password-set.qml:62
862855msgid "Enter at least 8 characters"
863856msgstr ""
864857
865−#: qml/Wizard/Pages/password-set.qml:73
858+#: qml/Wizard/Pages/password-set.qml:74
866859msgid "Choose password"
867860msgstr ""
868861
869−#: qml/Wizard/Pages/password-set.qml:103
862+#: qml/Wizard/Pages/password-set.qml:104
870863msgid "Confirm password"
871864msgstr ""
872865
@@ -1032,9 +1025,38 @@ msgstr ""
10321025#~ msgid "Tap to unlock"
10331026#~ msgstr "انقر لفك القفل"
10341027
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+
10351054#~ msgid "Please re-enter"
10361055#~ msgstr "برجاء إعادة إدخالها"
10371056
1057+#~ msgid "Sorry, incorrect passcode"
1058+#~ msgstr "نأسف، الرمز السري غير صحيح"
1059+
10381060#~ msgid "This action does different things for different apps"
10391061#~ msgstr "هذا الإجراء يقوم بأشياء مختلفة على التطبيقات المختلفة"
10401062
@@ -1155,6 +1177,10 @@ msgstr ""
11551177#~ "باستخدام نظام تحديد المواقع (GPS)، والواي فاي، وبيانات الشبكة الخلوية "
11561178#~ "(مستحسن)"
11571179
1180+#~ msgctxt "passphrase"
1181+#~ msgid "Please re-enter"
1182+#~ msgstr "برجاء إعادة إدخالها"
1183+
11581184#~ msgid ""
11591185#~ "This can be disabled in <b>System Settings</b> under <b>Security &amp; "
11601186#~ "Privacy</b>"
@@ -1193,3 +1219,17 @@ msgstr ""
11931219#~ msgstr ""
11941220#~ "باختيارك لهذا الخيار فإنك توافق على <a href='#'>الشروط والأحكام</a> الخاصة "
11951221#~ "بـ 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 ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
11−"PO-Revision-Date: 2016-05-16 14:07+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11+"PO-Revision-Date: 2016-09-28 13:40+0000\n"
1212"Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n"
1313"Language-Team: Asturian <ast@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr "Contraseña: "
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr "Anclar atayu"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr "Colar"
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr "Desanclar atayu"
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
5939msgctxt "Title: Lock/Log out dialog"
6040msgid "Log out"
6141msgstr "Zarrar sesión"
6242
63−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6444msgid "Are you sure you want to log out?"
6545msgstr "¿De xuru que quies zarrar la sesión?"
6646
67−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
6848msgctxt "Button: Lock the system"
6949msgid "Lock"
7050msgstr "Bloquiar"
7151
72−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7353msgctxt "Button: Log out from the system"
7454msgid "Log Out"
7555msgstr "Zarrar sesión"
7656
77−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
78−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
7960#: qml/Wizard/Pages/passcode-set.qml:32
8061msgid "Cancel"
8162msgstr "Encaboxar"
8263
83−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8465msgctxt "Title: Reboot dialog"
8566msgid "Reboot"
8667msgstr "Reaniciu"
8768
88−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
8970msgid "Are you sure you want to reboot?"
9071msgstr "¿De xuru que quies reaniciar?"
9172
92−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9374msgid "No"
9475msgstr "Non"
9576
96−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
9778msgid "Yes"
9879msgstr "Sí"
9980
100−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10182msgctxt "Title: Power off/Restart dialog"
10283msgid "Power"
10384msgstr "Apagáu"
10485
105−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10687msgid ""
10788"Are you sure you would like\n"
10889"to power off?"
@@ -110,197 +91,197 @@ msgstr ""
11091"¿De xuru que te prestaría\n"
11192"apagar?"
11293
113−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
11495msgctxt "Button: Power off the system"
11596msgid "Power off"
11697msgstr "Apagar"
11798
118−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
119100msgctxt "Button: Restart the system"
120101msgid "Restart"
121102msgstr "Reaniciar"
122103
123104#: qml/Components/KeyboardShortcutsOverlay.qml:41
124105msgid "Keyboard Shortcuts"
125−msgstr ""
106+msgstr "Atayos de tecláu"
126107
127108#: qml/Components/KeyboardShortcutsOverlay.qml:55
128109msgid "Unity 8"
129−msgstr ""
110+msgstr "Unity 8"
130111
131112#: qml/Components/KeyboardShortcutsOverlay.qml:62
132113msgid "PrtScr"
133−msgstr ""
114+msgstr "ImprPant"
134115
135116#: qml/Components/KeyboardShortcutsOverlay.qml:67
136117msgid "Takes a screenshot."
137−msgstr ""
118+msgstr "Saca una imaxe de la pantalla."
138119
139120#: qml/Components/KeyboardShortcutsOverlay.qml:75
140121msgid "Alt + PrtScr"
141−msgstr ""
122+msgstr "Alt + ImprPant"
142123
143124#: qml/Components/KeyboardShortcutsOverlay.qml:80
144125msgid "Takes a screenshot of a window."
145−msgstr ""
126+msgstr "Saca una imaxe d'una ventana."
146127
147128#: qml/Components/KeyboardShortcutsOverlay.qml:88
148129msgid "Super + Space"
149−msgstr ""
130+msgstr "Super + Espaciu"
150131
151132#: qml/Components/KeyboardShortcutsOverlay.qml:93
152133msgid "Switches to next keyboard layout."
153−msgstr ""
134+msgstr "Salta al siguiente diseñu de tecláu."
154135
155136#: qml/Components/KeyboardShortcutsOverlay.qml:101
156137msgid "Super + Shift + Space"
157−msgstr ""
138+msgstr "Super +Mayús + Espaciu"
158139
159140#: qml/Components/KeyboardShortcutsOverlay.qml:106
160141msgid "Switches to previous keyboard layout."
161−msgstr ""
142+msgstr "Salta al diseñu de tecláu anterior."
162143
163144#: qml/Components/KeyboardShortcutsOverlay.qml:118
164145msgid "Launcher"
165−msgstr ""
146+msgstr "Llanzador"
166147
167148#: qml/Components/KeyboardShortcutsOverlay.qml:125
168149msgid "Super (Hold)"
169−msgstr ""
150+msgstr "Super (Caltener)"
170151
171152#: qml/Components/KeyboardShortcutsOverlay.qml:130
172153msgid "Opens the launcher, displays shortcuts."
173−msgstr ""
154+msgstr "Abre'l llanzador, amuesa atayos."
174155
175156#: qml/Components/KeyboardShortcutsOverlay.qml:138
176157msgid "Alt + F1"
177−msgstr ""
158+msgstr "Alt + F1"
178159
179160#: qml/Components/KeyboardShortcutsOverlay.qml:143
180161msgid "Opens launcher keyboard navigation mode."
181−msgstr ""
162+msgstr "Abre'l mou de navegación con tecláu del llanzador."
182163
183164#: qml/Components/KeyboardShortcutsOverlay.qml:151
184165msgid "Super + Tab"
185−msgstr ""
166+msgstr "Super + Tab"
186167
187168#: qml/Components/KeyboardShortcutsOverlay.qml:156
188169msgid "Switches applications via the launcher."
189−msgstr ""
170+msgstr "Cambia d'aplicaciones col llanzador."
190171
191172#: qml/Components/KeyboardShortcutsOverlay.qml:164
192173msgid "Super + 0 to 9"
193−msgstr ""
174+msgstr "Super + 0 a 9"
194175
195176#: qml/Components/KeyboardShortcutsOverlay.qml:169
196177msgid "Same as clicking on a launcher icon."
197−msgstr ""
178+msgstr "Igual que facer click nel iconu del llanzador."
198179
199180#: qml/Components/KeyboardShortcutsOverlay.qml:181
200181msgid "Scopes"
201−msgstr ""
182+msgstr "Ámbitos"
202183
203184#: qml/Components/KeyboardShortcutsOverlay.qml:188
204185msgid "Super (Tap)"
205−msgstr ""
186+msgstr "Super (Tocar)"
206187
207188#: qml/Components/KeyboardShortcutsOverlay.qml:193
208189msgid "Opens the Scopes home."
209−msgstr ""
190+msgstr "Abre'l principiu d'Ámbitos"
210191
211192#: qml/Components/KeyboardShortcutsOverlay.qml:209
212193msgid "Switching"
213−msgstr ""
194+msgstr "Conmutación"
214195
215196#: qml/Components/KeyboardShortcutsOverlay.qml:216
216197msgid "Alt + Tab"
217−msgstr ""
198+msgstr "Alt + Tab"
218199
219200#: qml/Components/KeyboardShortcutsOverlay.qml:221
220201msgid "Switches between applications."
221−msgstr ""
202+msgstr "Conmuta ente aplicaciones."
222203
223204#: qml/Components/KeyboardShortcutsOverlay.qml:229
224205msgid "Super + W"
225−msgstr ""
206+msgstr "Super + W"
226207
227208#: qml/Components/KeyboardShortcutsOverlay.qml:234
228209msgid "Opens the desktop spread."
229−msgstr ""
210+msgstr "Abre esparder l'escritoriu."
230211
231212#: qml/Components/KeyboardShortcutsOverlay.qml:242
232213msgid "Cursor Left or Right"
233−msgstr ""
214+msgstr "Flecha izq. o dre."
234215
235216#: qml/Components/KeyboardShortcutsOverlay.qml:247
236217msgid "Moves the focus."
237−msgstr ""
218+msgstr "Mueve'l focu"
238219
239220#: qml/Components/KeyboardShortcutsOverlay.qml:259
240221msgid "Windows"
241−msgstr ""
222+msgstr "Ventanes"
242223
243224#: qml/Components/KeyboardShortcutsOverlay.qml:266
244225msgid "Ctrl + Super + D"
245−msgstr ""
226+msgstr "Ctrl + Super + D"
246227
247228#: qml/Components/KeyboardShortcutsOverlay.qml:271
248229msgid "Minimizes all windows."
249−msgstr ""
230+msgstr "Amenorga toles ventanes."
250231
251232#: qml/Components/KeyboardShortcutsOverlay.qml:279
252233msgid "Ctrl + Super + Up"
253−msgstr ""
234+msgstr "Ctrl + Super + Arriba"
254235
255236#: qml/Components/KeyboardShortcutsOverlay.qml:284
256237msgid "Maximizes the current window."
257−msgstr ""
238+msgstr "Maximiza la ventana actual."
258239
259240#: qml/Components/KeyboardShortcutsOverlay.qml:292
260241msgid "Ctrl + Super + Down"
261−msgstr ""
242+msgstr "Ctrl + Super + Abaxo"
262243
263244#: qml/Components/KeyboardShortcutsOverlay.qml:297
264245msgid "Minimizes or restores the current window."
265−msgstr ""
246+msgstr "Amenorga o restaura la ventana actual."
266247
267248#: qml/Components/KeyboardShortcutsOverlay.qml:305
268249msgid "Ctrl + Super + Left or Right"
269−msgstr ""
250+msgstr "Ctrl + Super + Izquierda o Drecha"
270251
271252#: qml/Components/KeyboardShortcutsOverlay.qml:310
272253msgid "Semi-maximizes the current window."
273−msgstr ""
254+msgstr "Semi-maximiza la ventana actual."
274255
275256#: qml/Components/KeyboardShortcutsOverlay.qml:318
276257msgid "Alt + F4"
277−msgstr ""
258+msgstr "Alt + F4"
278259
279260#: qml/Components/KeyboardShortcutsOverlay.qml:323
280261msgid "Closes the current window."
281−msgstr ""
262+msgstr "Zarra la ventana actual."
282263
283−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
284265msgid "Return to Call"
285266msgstr "Tornar a la llamada"
286267
287−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
288269msgid "Emergency Call"
289270msgstr "Llamada d'emerxencia"
290271
291−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
292273msgid "OK"
293274msgstr "Aceutar"
294275
295276#: qml/Components/MediaServices/VideoPlayerControls.qml:44
296277#, qt-format
297278msgid "%1:%2:%3"
298−msgstr ""
279+msgstr "%1:%2:%3"
299280
300281#: qml/Components/MediaServices/VideoPlayerControls.qml:49
301282#, qt-format
302283msgid "%1:%2"
303−msgstr ""
284+msgstr "%1:%2"
304285
305286#: qml/Components/ModeSwitchWarningDialog.qml:32
306287msgid "Apps may have unsaved data:"
@@ -332,84 +313,84 @@ msgstr "Zarrar too"
332313msgid "Preview Share Item"
333314msgstr "Entever l'elementu compartíu"
334315
335−#: qml/Dash/DashPageHeader.qml:333
316+#: qml/Dash/DashPageHeader.qml:361
336317msgctxt "Button: Open the Ubuntu Store"
337318msgid "Store"
338319msgstr "Tienda"
339320
340−#: qml/Dash/DashPageHeader.qml:340
321+#: qml/Dash/DashPageHeader.qml:368
341322msgctxt "Button: Start a search in the current dash scope"
342323msgid "Search"
343324msgstr "Guetar"
344325
345−#: qml/Dash/DashPageHeader.qml:350
326+#: qml/Dash/DashPageHeader.qml:378
346327msgctxt "Button: Show the current dash scope settings"
347328msgid "Settings"
348329msgstr "Axustes"
349330
350−#: qml/Dash/DashPageHeader.qml:357
331+#: qml/Dash/DashPageHeader.qml:385
351332msgid "Remove from Favorites"
352333msgstr "Desaniciar de favoritos"
353334
354−#: qml/Dash/DashPageHeader.qml:357
335+#: qml/Dash/DashPageHeader.qml:385
355336msgid "Add to Favorites"
356337msgstr "Amestar a favoritos"
357338
358−#: qml/Dash/FiltersPopover.qml:60
339+#: qml/Dash/FiltersPopover.qml:61
359340msgid "Refine your results"
360341msgstr "Refina los resultaos"
361342
362−#: qml/Dash/FiltersPopover.qml:69
343+#: qml/Dash/FiltersPopover.qml:70
363344msgid "Reset"
364345msgstr "Reafitar"
365346
366−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
347+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
367348msgid "Show less"
368349msgstr "Ver menos"
369350
370−#: qml/Dash/GenericScopeView.qml:580
351+#: qml/Dash/GenericScopeView.qml:547
371352msgid "Show all"
372353msgstr "Ver too"
373354
374−#: qml/Dash/GenericScopeView.qml:637
355+#: qml/Dash/GenericScopeView.qml:578
375356msgctxt "Label: Hint for dash search line edit"
376357msgid "Search"
377358msgstr "Guetar"
378359
379−#: qml/Dash/PageHeaderExtraPanel.qml:56
360+#: qml/Dash/PageHeaderExtraPanel.qml:67
380361msgid "Recent Searches"
381362msgstr "Guetes recién"
382363
383−#: qml/Dash/PageHeaderExtraPanel.qml:67
364+#: qml/Dash/PageHeaderExtraPanel.qml:78
384365msgid "Clear All"
385366msgstr "Llimpiar too"
386367
387−#: qml/Dash/Previews/PreviewActionCombo.qml:35
368+#: qml/Dash/Previews/PreviewActionCombo.qml:36
388369msgid "More..."
389370msgstr "Más…"
390371
391−#: qml/Dash/Previews/PreviewActionCombo.qml:35
372+#: qml/Dash/Previews/PreviewActionCombo.qml:36
392373msgid "Less..."
393374msgstr "Menos…"
394375
395−#: qml/Dash/Previews/PreviewCommentInput.qml:68
396−#: qml/Dash/Previews/PreviewRatingInput.qml:175
376+#: qml/Dash/Previews/PreviewCommentInput.qml:83
377+#: qml/Dash/Previews/PreviewRatingInput.qml:202
397378msgid "Send"
398379msgstr "Unviar"
399380
400−#: qml/Dash/Previews/PreviewRatingInput.qml:82
381+#: qml/Dash/Previews/PreviewRatingInput.qml:109
401382msgid "Rate this"
402383msgstr "Valorar esto"
403384
404−#: qml/Dash/Previews/PreviewRatingInput.qml:157
385+#: qml/Dash/Previews/PreviewRatingInput.qml:184
405386msgid "Add a review"
406387msgstr "Amestar una reseña"
407388
408−#: qml/Dash/PullToRefreshScopeStyle.qml:55
389+#: qml/Dash/PullToRefreshScopeStyle.qml:56
409390msgid "Pull to refresh…"
410391msgstr "Tira p'anovar..."
411392
412−#: qml/Dash/PullToRefreshScopeStyle.qml:60
393+#: qml/Dash/PullToRefreshScopeStyle.qml:61
413394msgid "Release to refresh…"
414395msgstr "Sueltar p'anovar..."
415396
@@ -417,15 +398,15 @@ msgstr "Sueltar p'anovar..."
417398msgid "Enable location data"
418399msgstr "Habilitar datos d'allugamientu"
419400
420−#: qml/Dash/ScopesList.qml:55
401+#: qml/Dash/ScopesList.qml:57
421402msgid "Manage"
422403msgstr "Xestionar"
423404
424−#: qml/Dash/ScopesList.qml:102
405+#: qml/Dash/ScopesList.qml:104
425406msgid "Home"
426407msgstr "Aniciu"
427408
428−#: qml/Dash/ScopesList.qml:103
409+#: qml/Dash/ScopesList.qml:105
429410msgid "Also installed"
430411msgstr "Tamién instalaos"
431412
@@ -441,84 +422,53 @@ msgstr ""
441422msgid "Unlock"
442423msgstr "Desbloquiar"
443424
444−#: qml/Greeter/Greeter.qml:555
445−msgid "Try again"
425+#: qml/Greeter/DelayedLockscreen.qml:43
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."
446435msgstr ""
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…"
447444
448−#: qml/Greeter/LoginList.qml:63
445+#: qml/Greeter/Greeter.qml:596
446+msgid "Try again"
447+msgstr "Tentar otra vuelta"
448+
449+#: qml/Greeter/LoginList.qml:70
449450msgid "Passphrase"
450−msgstr ""
451+msgstr "Fras de pasu"
451452
452−#: qml/Greeter/LoginList.qml:64
453+#: qml/Greeter/LoginList.qml:71
453454msgid "Passcode"
454−msgstr ""
455+msgstr "Códigu de pasu"
455456
456−#: qml/Greeter/LoginList.qml:87
457+#: qml/Greeter/LoginList.qml:98
457458msgid "Retry"
458459msgstr "Reintentar"
459460
460−#: qml/Greeter/LoginList.qml:88
461+#: qml/Greeter/LoginList.qml:99
461462msgid "Log In"
462−msgstr ""
463+msgstr "Aniciar sesión"
463464
464−#: qml/Greeter/NarrowView.qml:55
465−msgid "Sorry, incorrect passphrase."
466−msgstr "Perdón, fras de pasu incorreuta"
465+#: qml/Greeter/NarrowView.qml:252
466+msgid "Emergency"
467+msgstr "Emerxencia"
467468
468−#: qml/Greeter/NarrowView.qml:56
469−msgid "Sorry, incorrect passcode."
470−msgstr "Perdón, códigu de pasu incorreutu."
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"
469+#: qml/Greeter/SessionsList.qml:122
470+msgid "Select desktop environment"
471+msgstr "Esbillar entornu d'escritoriu"
522472
523473#: qml/Notifications/NotificationMenuItemFactory.qml:124
524474msgid "Show password"
@@ -532,62 +482,62 @@ msgstr "Toca pa tornar a la llamada..."
532482msgid "Conference"
533483msgstr "Conferencia"
534484
535−#: qml/Panel/Indicators/MenuItemFactory.qml:762
485+#: qml/Panel/Indicators/MenuItemFactory.qml:847
536486msgid "Nothing is playing"
537487msgstr "Nun ta reproduciéndose nada"
538488
539−#: qml/Panel/Indicators/MenuItemFactory.qml:891
489+#: qml/Panel/Indicators/MenuItemFactory.qml:975
540490#, qt-format
541491msgid "%1 hour"
542492msgid_plural "%1 hours"
543493msgstr[0] "%1 hora"
544494msgstr[1] "%1 hores"
545495
546−#: qml/Panel/Indicators/MenuItemFactory.qml:895
496+#: qml/Panel/Indicators/MenuItemFactory.qml:979
547497#, qt-format
548498msgid "%1 minute"
549499msgid_plural "%1 minutes"
550500msgstr[0] "%1 minutu"
551501msgstr[1] "%1 minutos"
552502
553−#: qml/Panel/Indicators/MenuItemFactory.qml:900
503+#: qml/Panel/Indicators/MenuItemFactory.qml:984
554504#, qt-format
555505msgid "%1 second"
556506msgid_plural "%1 seconds"
557507msgstr[0] "%1 segundu"
558508msgstr[1] "%1 segundos"
559509
560−#: qml/Panel/Indicators/MenuItemFactory.qml:903
510+#: qml/Panel/Indicators/MenuItemFactory.qml:987
561511msgid "0 seconds"
562512msgstr "0 segundos"
563513
564514#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
565−#: qml/Panel/Indicators/MenuItemFactory.qml:905
515+#: qml/Panel/Indicators/MenuItemFactory.qml:989
566516#, qt-format
567517msgid "%1 remaining"
568518msgstr "Queden %1"
569519
570−#: qml/Panel/Indicators/MenuItemFactory.qml:911
520+#: qml/Panel/Indicators/MenuItemFactory.qml:995
571521msgid "In queue…"
572522msgstr "Na cola..."
573523
574−#: qml/Panel/Indicators/MenuItemFactory.qml:915
524+#: qml/Panel/Indicators/MenuItemFactory.qml:999
575525msgid "Downloading"
576526msgstr "Baxando"
577527
578−#: qml/Panel/Indicators/MenuItemFactory.qml:917
528+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
579529msgid "Paused, tap to resume"
580530msgstr "Posáu, toca pa reanudar"
581531
582−#: qml/Panel/Indicators/MenuItemFactory.qml:919
532+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
583533msgid "Canceled"
584534msgstr "Encaboxáu"
585535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:921
536+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
587537msgid "Finished"
588538msgstr "Finó"
589539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:923
540+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
591541msgid "Failed, tap to retry"
592542msgstr "Falló, toca pa reintentar"
593543
@@ -607,7 +557,7 @@ msgctxt "Button: Call back on phone"
607557msgid "Call back"
608558msgstr "Devolver llamada"
609559
610−#: qml/Stages/SideStage.qml:76
560+#: qml/Stage/SideStage.qml:76
611561msgid "Drag using 3 fingers any application from one window to the other"
612562msgstr "Abasnar cualquier aplicación d'una ventana a otra usando 3 deos"
613563
@@ -617,7 +567,7 @@ msgstr "Eslizamientu llargu dende'l berbesu izquierdu pa ver el scope Güei"
617567
618568#: qml/Tutorial/TutorialLeft.qml:47
619569msgid "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"
621571
622572#: qml/Tutorial/TutorialRight.qml:55
623573msgid "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"
625575
626576#: qml/Tutorial/TutorialRight.qml:56
627577msgid "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"
629579
630580#: qml/Tutorial/TutorialTop.qml:53
631581msgid "Swipe from the top edge to access notifications and quick settings"
632582msgstr ""
583+"Barríu dende'l berbesu superior pa tener accesu a los avisos y configuración "
584+"nel intre"
633585
634586#: qml/Wizard/Page.qml:54
635587msgctxt "Button: Go back one page in the Wizard"
636588msgid "Back"
637589msgstr "Atrás"
638590
639−#: qml/Wizard/Pages/10-welcome.qml:27
591+#: qml/Wizard/Pages/10-welcome.qml:28
640592msgid "Language"
641593msgstr "Llingua"
642594
643−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
644−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
645−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
595+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
598+#: qml/Wizard/Pages/70-passwd-type.qml:145
646599#: qml/Wizard/Pages/75-report-check.qml:84
647−#: qml/Wizard/Pages/passcode-desktop.qml:141
648−#: qml/Wizard/Pages/password-set.qml:141
600+#: qml/Wizard/Pages/passcode-desktop.qml:142
601+#: qml/Wizard/Pages/password-set.qml:142
649602msgid "Next"
650603msgstr "Siguiente"
651604
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
653624msgid "Connect to Wi‑Fi"
654625msgstr "Coneutase al WiFi"
655626
656−#: qml/Wizard/Pages/30-wifi.qml:130
627+#: qml/Wizard/Pages/30-wifi.qml:132
657628msgid "Connected"
658629msgstr "Coneutáu"
659630
660−#: qml/Wizard/Pages/30-wifi.qml:163
631+#: qml/Wizard/Pages/30-wifi.qml:165
661632msgid "Available Wi-Fi networks"
662633msgstr "Redes Wi-Fi disponibles"
663634
664−#: qml/Wizard/Pages/30-wifi.qml:164
635+#: qml/Wizard/Pages/30-wifi.qml:166
665636msgid "No available Wi-Fi networks"
666637msgstr "Nun hai redes Wi-Fi disponibles"
667638
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−
673639#: qml/Wizard/Pages/40-location.qml:27
674640msgid "Location Services"
675641msgstr "Servicios d'allugamientu"
@@ -704,11 +670,11 @@ msgstr "Nun usar l'allugamientu"
704670msgid "You can change it later in System Settings."
705671msgstr "Pues camudalo sero na Configuración del Sistema."
706672
707−#: qml/Wizard/Pages/50-timezone.qml:29
673+#: qml/Wizard/Pages/50-timezone.qml:30
708674msgid "Time Zone"
709675msgstr "Estaya horaria"
710676
711−#: qml/Wizard/Pages/50-timezone.qml:181
677+#: qml/Wizard/Pages/50-timezone.qml:182
712678msgid "Enter your city"
713679msgstr "Escribe la ciudá"
714680
@@ -720,21 +686,21 @@ msgstr "Personaliza'l preséu"
720686msgid "Preferred Name"
721687msgstr "Nome preferíu"
722688
723−#: qml/Wizard/Pages/70-passwd-type.qml:39
689+#: qml/Wizard/Pages/70-passwd-type.qml:40
724690msgid "Lock Screen"
725691msgstr "Bloquiar pantalla"
726692
727−#: qml/Wizard/Pages/70-passwd-type.qml:101
693+#: qml/Wizard/Pages/70-passwd-type.qml:102
728694msgctxt "Label: Type of security method"
729695msgid "Create new password"
730696msgstr "Crear contraseña nueva"
731697
732−#: qml/Wizard/Pages/70-passwd-type.qml:103
698+#: qml/Wizard/Pages/70-passwd-type.qml:104
733699msgctxt "Label: Type of security method"
734700msgid "Create passcode (numbers only)"
735701msgstr "Crear códigu d'accesu (sólo númberos)"
736702
737−#: qml/Wizard/Pages/70-passwd-type.qml:105
703+#: qml/Wizard/Pages/70-passwd-type.qml:106
738704msgctxt "Label: Type of security method"
739705msgid "No lock code"
740706msgstr "Ensin códigu de bloquéu"
@@ -757,6 +723,37 @@ msgstr ""
757723msgid "Privacy policy"
758724msgstr "Política d'intimidá"
759725
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+
760757#: qml/Wizard/Pages/80-finished.qml:89
761758msgid "Welcome to Ubuntu"
762759msgstr "Bienveníu/a a Ubuntu"
@@ -775,7 +772,7 @@ msgstr "Términos y condiciones"
775772
776773#: qml/Wizard/Pages/here-terms.qml:69
777774msgid "Your device uses positioning technologies provided by HERE."
778−msgstr ""
775+msgstr "El preséu usa teunoloxíes de posición qu'ufre HERE."
779776
780777#: qml/Wizard/Pages/here-terms.qml:81
781778msgid ""
@@ -783,92 +780,97 @@ msgid ""
783780"collects information about nearby cell towers and Wi-Fi hotspots around your "
784781"current location whenever your position is being found."
785782msgstr ""
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."
786786
787787#: qml/Wizard/Pages/here-terms.qml:93
788788msgid ""
789789"The information collected is used to analyze the service and to improve the "
790790"use of service, but not to identify you personally."
791791msgstr ""
792+"La información collechada úsase p'analizar el serviciu y ameyorar l'usu del "
793+"serviciu, non pa identificate personalmente."
792794
793795#: qml/Wizard/Pages/here-terms.qml:106
794796#, qt-format
795797msgid "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."
797799
798800#: qml/Wizard/Pages/here-terms.qml:107
799801msgid "Service Terms"
800−msgstr ""
802+msgstr "Términos del serviciu"
801803
802804#: qml/Wizard/Pages/passcode-confirm.qml:43
803−#: qml/Wizard/Pages/passcode-desktop.qml:96
805+#: qml/Wizard/Pages/passcode-desktop.qml:97
804806msgid "Confirm passcode"
805807msgstr "Confirmar códigu de pasu"
806808
807809#: qml/Wizard/Pages/passcode-confirm.qml:45
808810msgid "Incorrect passcode."
809−msgstr ""
811+msgstr "Códigu de pasu incorreutu."
810812
811813#: qml/Wizard/Pages/passcode-confirm.qml:45
812814msgctxt "Enter the passcode again"
813815msgid "Please re-enter."
814−msgstr ""
816+msgstr "Vuelve a escribilu."
815817
816−#: qml/Wizard/Pages/passcode-desktop.qml:30
818+#: qml/Wizard/Pages/passcode-desktop.qml:31
817819msgid "Lock Screen Passcode"
818−msgstr ""
820+msgstr "Códigu de pasu de bloquéu de pantalla"
819821
820−#: qml/Wizard/Pages/passcode-desktop.qml:60
822+#: qml/Wizard/Pages/passcode-desktop.qml:61
821823msgid "Enter 4 numbers to setup your passcode"
822−msgstr ""
824+msgstr "Escribi 4 númberos pa configurar el códigu de pasu"
823825
824−#: qml/Wizard/Pages/passcode-desktop.qml:76
826+#: qml/Wizard/Pages/passcode-desktop.qml:77
825827#: qml/Wizard/Pages/passcode-set.qml:54
826828msgid "Choose passcode"
827−msgstr ""
829+msgstr "Escueyi'l códigu de pasu"
828830
829−#: qml/Wizard/Pages/passcode-desktop.qml:126
831+#: qml/Wizard/Pages/passcode-desktop.qml:127
830832msgid "Passcode too short"
831−msgstr ""
833+msgstr "Códigu de pasu curtiu enforma"
832834
833−#: qml/Wizard/Pages/passcode-desktop.qml:128
835+#: qml/Wizard/Pages/passcode-desktop.qml:129
834836msgid "Passcodes match"
835−msgstr ""
837+msgstr "Los códigos de pasu casen"
836838
837−#: qml/Wizard/Pages/passcode-desktop.qml:130
839+#: qml/Wizard/Pages/passcode-desktop.qml:131
838840msgid "Passcodes do not match"
839−msgstr ""
841+msgstr "Los códigos de pasu nun casen"
840842
841843#: qml/Wizard/Pages/passcode-set.qml:62
842844msgid "Passcode must be 4 characters long"
843−msgstr ""
845+msgstr "El códigu de pasu tien de tener 4 caráuteres de llargo"
844846
845−#: qml/Wizard/Pages/password-set.qml:30
847+#: qml/Wizard/Pages/password-set.qml:31
846848msgid "Lock Screen Password"
847−msgstr ""
849+msgstr "Contraseña del Bloquéu de pantalla"
848850
849−#: qml/Wizard/Pages/password-set.qml:61
851+#: qml/Wizard/Pages/password-set.qml:62
850852msgid "Enter at least 8 characters"
851−msgstr ""
853+msgstr "Escribe polo menos 8 caráuteres"
852854
853−#: qml/Wizard/Pages/password-set.qml:73
855+#: qml/Wizard/Pages/password-set.qml:74
854856msgid "Choose password"
855−msgstr ""
857+msgstr "Escueye la contraseña"
856858
857−#: qml/Wizard/Pages/password-set.qml:103
859+#: qml/Wizard/Pages/password-set.qml:104
858860msgid "Confirm password"
859861msgstr "Confirmar contraseña"
860862
861863#: qml/Wizard/Pages/sim.qml:27
862864msgid "No SIM card installed"
863−msgstr ""
865+msgstr "Nun ta instalada nenguna tarxeta SIM"
864866
865867#: qml/Wizard/Pages/sim.qml:54
866868msgid "SIM card added"
867−msgstr ""
869+msgstr "Amestóse tarxeta SIM"
868870
869871#: qml/Wizard/Pages/sim.qml:55
870872msgid "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."
872874
873875#: qml/Wizard/Pages/sim.qml:59
874876msgid "Restart"
@@ -876,23 +878,23 @@ msgstr "Reaniciar"
876878
877879#: qml/Wizard/Pages/sim.qml:78
878880msgid "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."
880882
881883#: qml/Wizard/Pages/sim.qml:90
882884msgid "To proceed with no SIM tap Skip."
883−msgstr ""
885+msgstr "Pa siguir ensin SIM toca Saltar."
884886
885887#: qml/Wizard/PasswordMeter.qml:87
886888msgid "Password too short"
887−msgstr ""
889+msgstr "Contraseña curtia enforma"
888890
889891#: qml/Wizard/PasswordMeter.qml:89
890892msgid "Passwords match"
891−msgstr ""
893+msgstr "Les contraseñes concasen"
892894
893895#: qml/Wizard/PasswordMeter.qml:91
894896msgid "Passwords do not match"
895−msgstr ""
897+msgstr "Les contraseñes nun concasen"
896898
897899#: qml/Wizard/PasswordMeter.qml:95
898900msgid "Strong password"
@@ -1006,9 +1008,19 @@ msgstr "Contraseña feble enforma"
10061008#~ msgid "Store"
10071009#~ msgstr "Tienda"
10081010
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+
10091018#~ msgid "Roaming"
10101019#~ msgstr "Roaming"
10111020
1021+#~ msgid "Sorry, incorrect passcode"
1022+#~ msgstr "Sentímoslo, códigu de pasu incorreutu"
1023+
10121024#~ msgid "Manage Scopes"
10131025#~ msgstr "Xestionar ámbitos"
10141026
@@ -1094,9 +1106,42 @@ msgstr "Contraseña feble enforma"
10941106#~ msgid "Shut down"
10951107#~ msgstr "Apagáu"
10961108
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+
10971125#~ msgid "Please re-enter"
10981126#~ msgstr "Por favor, reintroduzla"
10991127
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+
11001145#~ msgid "This action does different things for different apps"
11011146#~ msgstr "Esta aición fai coses distintes p'aplicaciones estremaes"
11021147
@@ -1228,6 +1273,10 @@ msgstr "Contraseña feble enforma"
12281273#~ msgid "Tomorrow %l:%M %p"
12291274#~ msgstr "Mañana %l:%M %p"
12301275
1276+#~ msgctxt "passphrase"
1277+#~ msgid "Please re-enter"
1278+#~ msgstr "Vuelve a escribila"
1279+
12311280#~ msgid "%a %d %b %H:%M"
12321281#~ msgstr "%a %b %d %H:%M"
12331282
po/az.po+192−169
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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"
1111"PO-Revision-Date: 2014-09-03 16:39+0000\n"
1212"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
1313"Language-Team: Azerbaijani <az@li.org>\n"
@@ -15,104 +15,86 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr "Şifrә: "
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr "Pin qısayolu"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr ""
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr "Açma qısayolu"
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
5839msgctxt "Title: Lock/Log out dialog"
5940msgid "Log out"
6041msgstr ""
6142
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6344msgid "Are you sure you want to log out?"
6445msgstr "Çıxmaq istәdiyinizdәn әminsiniz?"
6546
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
6748msgctxt "Button: Lock the system"
6849msgid "Lock"
6950msgstr ""
7051
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7253msgctxt "Button: Log out from the system"
7354msgid "Log Out"
7455msgstr ""
7556
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
7860#: qml/Wizard/Pages/passcode-set.qml:32
7961msgid "Cancel"
8062msgstr "İmtina"
8163
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8365msgctxt "Title: Reboot dialog"
8466msgid "Reboot"
8567msgstr ""
8668
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
8870msgid "Are you sure you want to reboot?"
8971msgstr "Yenidәn başlatmaq istәdiyinizә әminsiniz?"
9072
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9274msgid "No"
9375msgstr "Yox"
9476
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
9678msgid "Yes"
9779msgstr "Hə"
9880
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10082msgctxt "Title: Power off/Restart dialog"
10183msgid "Power"
10284msgstr ""
10385
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10587msgid ""
10688"Are you sure you would like\n"
10789"to power off?"
10890msgstr ""
10991
110−#: qml/Components/Dialogs.qml:200
92+#: qml/Components/Dialogs.qml:205
11193msgctxt "Button: Power off the system"
11294msgid "Power off"
11395msgstr ""
11496
115−#: qml/Components/Dialogs.qml:209
97+#: qml/Components/Dialogs.qml:214
11698msgctxt "Button: Restart the system"
11799msgid "Restart"
118100msgstr ""
@@ -277,15 +259,15 @@ msgstr ""
277259msgid "Closes the current window."
278260msgstr ""
279261
280−#: qml/Components/Lockscreen.qml:239
262+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
281263msgid "Return to Call"
282264msgstr ""
283265
284−#: qml/Components/Lockscreen.qml:239
266+#: qml/Components/Lockscreen.qml:212
285267msgid "Emergency Call"
286268msgstr "Zərurət zəngi"
287269
288−#: qml/Components/Lockscreen.qml:271
270+#: qml/Components/Lockscreen.qml:244
289271msgid "OK"
290272msgstr "Oldu"
291273
@@ -329,84 +311,84 @@ msgstr ""
329311msgid "Preview Share Item"
330312msgstr ""
331313
332−#: qml/Dash/DashPageHeader.qml:333
314+#: qml/Dash/DashPageHeader.qml:361
333315msgctxt "Button: Open the Ubuntu Store"
334316msgid "Store"
335317msgstr ""
336318
337−#: qml/Dash/DashPageHeader.qml:340
319+#: qml/Dash/DashPageHeader.qml:368
338320msgctxt "Button: Start a search in the current dash scope"
339321msgid "Search"
340322msgstr ""
341323
342−#: qml/Dash/DashPageHeader.qml:350
324+#: qml/Dash/DashPageHeader.qml:378
343325msgctxt "Button: Show the current dash scope settings"
344326msgid "Settings"
345327msgstr ""
346328
347−#: qml/Dash/DashPageHeader.qml:357
329+#: qml/Dash/DashPageHeader.qml:385
348330msgid "Remove from Favorites"
349331msgstr "Seçilmişlәrdәn çıxart"
350332
351−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
352334msgid "Add to Favorites"
353335msgstr "Seçilmişlәrә әlavә et"
354336
355−#: qml/Dash/FiltersPopover.qml:60
337+#: qml/Dash/FiltersPopover.qml:61
356338msgid "Refine your results"
357339msgstr ""
358340
359−#: qml/Dash/FiltersPopover.qml:69
341+#: qml/Dash/FiltersPopover.qml:70
360342msgid "Reset"
361343msgstr ""
362344
363−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
345+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
364346msgid "Show less"
365347msgstr ""
366348
367−#: qml/Dash/GenericScopeView.qml:580
349+#: qml/Dash/GenericScopeView.qml:547
368350msgid "Show all"
369351msgstr ""
370352
371−#: qml/Dash/GenericScopeView.qml:637
353+#: qml/Dash/GenericScopeView.qml:578
372354msgctxt "Label: Hint for dash search line edit"
373355msgid "Search"
374356msgstr ""
375357
376−#: qml/Dash/PageHeaderExtraPanel.qml:56
358+#: qml/Dash/PageHeaderExtraPanel.qml:67
377359msgid "Recent Searches"
378360msgstr ""
379361
380−#: qml/Dash/PageHeaderExtraPanel.qml:67
362+#: qml/Dash/PageHeaderExtraPanel.qml:78
381363msgid "Clear All"
382364msgstr ""
383365
384−#: qml/Dash/Previews/PreviewActionCombo.qml:35
366+#: qml/Dash/Previews/PreviewActionCombo.qml:36
385367msgid "More..."
386368msgstr "Daha çox..."
387369
388−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
389371msgid "Less..."
390372msgstr "Az..."
391373
392−#: qml/Dash/Previews/PreviewCommentInput.qml:68
393−#: qml/Dash/Previews/PreviewRatingInput.qml:175
374+#: qml/Dash/Previews/PreviewCommentInput.qml:83
375+#: qml/Dash/Previews/PreviewRatingInput.qml:202
394376msgid "Send"
395377msgstr "Göndər"
396378
397−#: qml/Dash/Previews/PreviewRatingInput.qml:82
379+#: qml/Dash/Previews/PreviewRatingInput.qml:109
398380msgid "Rate this"
399381msgstr "Qiymәtlәndir"
400382
401−#: qml/Dash/Previews/PreviewRatingInput.qml:157
383+#: qml/Dash/Previews/PreviewRatingInput.qml:184
402384msgid "Add a review"
403385msgstr "Rəy yaz"
404386
405−#: qml/Dash/PullToRefreshScopeStyle.qml:55
387+#: qml/Dash/PullToRefreshScopeStyle.qml:56
406388msgid "Pull to refresh…"
407389msgstr ""
408390
409−#: qml/Dash/PullToRefreshScopeStyle.qml:60
391+#: qml/Dash/PullToRefreshScopeStyle.qml:61
410392msgid "Release to refresh…"
411393msgstr ""
412394
@@ -414,15 +396,15 @@ msgstr ""
414396msgid "Enable location data"
415397msgstr ""
416398
417−#: qml/Dash/ScopesList.qml:55
399+#: qml/Dash/ScopesList.qml:57
418400msgid "Manage"
419401msgstr ""
420402
421−#: qml/Dash/ScopesList.qml:102
403+#: qml/Dash/ScopesList.qml:104
422404msgid "Home"
423405msgstr ""
424406
425−#: qml/Dash/ScopesList.qml:103
407+#: qml/Dash/ScopesList.qml:105
426408msgid "Also installed"
427409msgstr ""
428410
@@ -436,83 +418,51 @@ msgstr ""
436418msgid "Unlock"
437419msgstr ""
438420
439−#: qml/Greeter/Greeter.qml:555
440−msgid "Try again"
421+#: qml/Greeter/DelayedLockscreen.qml:43
422+msgid "Device Locked"
441423msgstr ""
442424
443−#: qml/Greeter/LoginList.qml:63
444−msgid "Passphrase"
425+#: qml/Greeter/DelayedLockscreen.qml:58
426+msgid "You have been locked out due to too many failed passphrase attempts."
445427msgstr ""
446428
447−#: qml/Greeter/LoginList.qml:64
448−msgid "Passcode"
429+#: qml/Greeter/DelayedLockscreen.qml:59
430+msgid "You have been locked out due to too many failed passcode attempts."
449431msgstr ""
450432
451−#: qml/Greeter/LoginList.qml:87
452−msgid "Retry"
453−msgstr ""
433+#: qml/Greeter/DelayedLockscreen.qml:68
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] ""
438+msgstr[1] ""
454439
455−#: qml/Greeter/LoginList.qml:88
456−msgid "Log In"
440+#: qml/Greeter/Greeter.qml:596
441+msgid "Try again"
457442msgstr ""
458443
459−#: qml/Greeter/NarrowView.qml:55
460−msgid "Sorry, incorrect 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."
444+#: qml/Greeter/LoginList.qml:70
445+msgid "Passphrase"
475446msgstr ""
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."
478447
479−#: qml/Greeter/NarrowView.qml:60
480−msgid ""
481−"If passcode is entered incorrectly, your phone will conduct a factory reset "
482−"and all personal data will be deleted."
448+#: qml/Greeter/LoginList.qml:71
449+msgid "Passcode"
483450msgstr ""
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."
486451
487−#: qml/Greeter/NarrowView.qml:129
488−#, qt-format
489−msgid "Enter %1"
452+#: qml/Greeter/LoginList.qml:98
453+msgid "Retry"
490454msgstr ""
491455
492−#: qml/Greeter/NarrowView.qml:130
493−msgid "Enter passphrase"
456+#: qml/Greeter/LoginList.qml:99
457+msgid "Log In"
494458msgstr ""
495459
496−#: qml/Greeter/NarrowView.qml:131
497−msgid "Enter passcode"
460+#: qml/Greeter/NarrowView.qml:252
461+msgid "Emergency"
498462msgstr ""
499463
500−#: qml/Greeter/NarrowView.qml:135
501−#, qt-format
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"
464+#: qml/Greeter/SessionsList.qml:122
465+msgid "Select desktop environment"
516466msgstr ""
517467
518468#: qml/Notifications/NotificationMenuItemFactory.qml:124
@@ -527,62 +477,62 @@ msgstr "Zəngə qayıtmaq üçün toxunun..."
527477msgid "Conference"
528478msgstr "Konfrans"
529479
530−#: qml/Panel/Indicators/MenuItemFactory.qml:762
480+#: qml/Panel/Indicators/MenuItemFactory.qml:847
531481msgid "Nothing is playing"
532482msgstr ""
533483
534−#: qml/Panel/Indicators/MenuItemFactory.qml:891
484+#: qml/Panel/Indicators/MenuItemFactory.qml:975
535485#, qt-format
536486msgid "%1 hour"
537487msgid_plural "%1 hours"
538488msgstr[0] ""
539489msgstr[1] ""
540490
541−#: qml/Panel/Indicators/MenuItemFactory.qml:895
491+#: qml/Panel/Indicators/MenuItemFactory.qml:979
542492#, qt-format
543493msgid "%1 minute"
544494msgid_plural "%1 minutes"
545495msgstr[0] ""
546496msgstr[1] ""
547497
548−#: qml/Panel/Indicators/MenuItemFactory.qml:900
498+#: qml/Panel/Indicators/MenuItemFactory.qml:984
549499#, qt-format
550500msgid "%1 second"
551501msgid_plural "%1 seconds"
552502msgstr[0] ""
553503msgstr[1] ""
554504
555−#: qml/Panel/Indicators/MenuItemFactory.qml:903
505+#: qml/Panel/Indicators/MenuItemFactory.qml:987
556506msgid "0 seconds"
557507msgstr ""
558508
559509#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
560−#: qml/Panel/Indicators/MenuItemFactory.qml:905
510+#: qml/Panel/Indicators/MenuItemFactory.qml:989
561511#, qt-format
562512msgid "%1 remaining"
563513msgstr ""
564514
565−#: qml/Panel/Indicators/MenuItemFactory.qml:911
515+#: qml/Panel/Indicators/MenuItemFactory.qml:995
566516msgid "In queue…"
567517msgstr "Növbədədir..."
568518
569−#: qml/Panel/Indicators/MenuItemFactory.qml:915
519+#: qml/Panel/Indicators/MenuItemFactory.qml:999
570520msgid "Downloading"
571521msgstr "Endirilir"
572522
573−#: qml/Panel/Indicators/MenuItemFactory.qml:917
523+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
574524msgid "Paused, tap to resume"
575525msgstr "Dayandırıldı. Davam etmək üçün toxunun"
576526
577−#: qml/Panel/Indicators/MenuItemFactory.qml:919
527+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
578528msgid "Canceled"
579529msgstr "İmtina edildi"
580530
581−#: qml/Panel/Indicators/MenuItemFactory.qml:921
531+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
582532msgid "Finished"
583533msgstr "Bitdi"
584534
585−#: qml/Panel/Indicators/MenuItemFactory.qml:923
535+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
586536msgid "Failed, tap to retry"
587537msgstr "Alınmadı. Yenidәn cәhd etmək üçün toxunun"
588538
@@ -602,7 +552,7 @@ msgctxt "Button: Call back on phone"
602552msgid "Call back"
603553msgstr ""
604554
605−#: qml/Stages/SideStage.qml:76
555+#: qml/Stage/SideStage.qml:76
606556msgid "Drag using 3 fingers any application from one window to the other"
607557msgstr ""
608558
@@ -631,40 +581,54 @@ msgctxt "Button: Go back one page in the Wizard"
631581msgid "Back"
632582msgstr ""
633583
634−#: qml/Wizard/Pages/10-welcome.qml:27
584+#: qml/Wizard/Pages/10-welcome.qml:28
635585msgid "Language"
636586msgstr ""
637587
638−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
639−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
640−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
588+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
591+#: qml/Wizard/Pages/70-passwd-type.qml:145
641592#: qml/Wizard/Pages/75-report-check.qml:84
642−#: qml/Wizard/Pages/passcode-desktop.qml:141
643−#: qml/Wizard/Pages/password-set.qml:141
593+#: qml/Wizard/Pages/passcode-desktop.qml:142
594+#: qml/Wizard/Pages/password-set.qml:142
644595msgid "Next"
645596msgstr ""
646597
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
648617msgid "Connect to Wi‑Fi"
649618msgstr ""
650619
651−#: qml/Wizard/Pages/30-wifi.qml:130
620+#: qml/Wizard/Pages/30-wifi.qml:132
652621msgid "Connected"
653622msgstr ""
654623
655−#: qml/Wizard/Pages/30-wifi.qml:163
624+#: qml/Wizard/Pages/30-wifi.qml:165
656625msgid "Available Wi-Fi networks"
657626msgstr ""
658627
659−#: qml/Wizard/Pages/30-wifi.qml:164
628+#: qml/Wizard/Pages/30-wifi.qml:166
660629msgid "No available Wi-Fi networks"
661630msgstr ""
662631
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−
668632#: qml/Wizard/Pages/40-location.qml:27
669633msgid "Location Services"
670634msgstr ""
@@ -697,11 +661,11 @@ msgstr ""
697661msgid "You can change it later in System Settings."
698662msgstr ""
699663
700−#: qml/Wizard/Pages/50-timezone.qml:29
664+#: qml/Wizard/Pages/50-timezone.qml:30
701665msgid "Time Zone"
702666msgstr ""
703667
704−#: qml/Wizard/Pages/50-timezone.qml:181
668+#: qml/Wizard/Pages/50-timezone.qml:182
705669msgid "Enter your city"
706670msgstr ""
707671
@@ -713,21 +677,21 @@ msgstr ""
713677msgid "Preferred Name"
714678msgstr ""
715679
716−#: qml/Wizard/Pages/70-passwd-type.qml:39
680+#: qml/Wizard/Pages/70-passwd-type.qml:40
717681msgid "Lock Screen"
718682msgstr ""
719683
720−#: qml/Wizard/Pages/70-passwd-type.qml:101
684+#: qml/Wizard/Pages/70-passwd-type.qml:102
721685msgctxt "Label: Type of security method"
722686msgid "Create new password"
723687msgstr ""
724688
725−#: qml/Wizard/Pages/70-passwd-type.qml:103
689+#: qml/Wizard/Pages/70-passwd-type.qml:104
726690msgctxt "Label: Type of security method"
727691msgid "Create passcode (numbers only)"
728692msgstr ""
729693
730−#: qml/Wizard/Pages/70-passwd-type.qml:105
694+#: qml/Wizard/Pages/70-passwd-type.qml:106
731695msgctxt "Label: Type of security method"
732696msgid "No lock code"
733697msgstr ""
@@ -748,6 +712,35 @@ msgstr ""
748712msgid "Privacy policy"
749713msgstr ""
750714
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+
751744#: qml/Wizard/Pages/80-finished.qml:89
752745msgid "Welcome to Ubuntu"
753746msgstr ""
@@ -791,7 +784,7 @@ msgid "Service Terms"
791784msgstr ""
792785
793786#: qml/Wizard/Pages/passcode-confirm.qml:43
794−#: qml/Wizard/Pages/passcode-desktop.qml:96
787+#: qml/Wizard/Pages/passcode-desktop.qml:97
795788msgid "Confirm passcode"
796789msgstr ""
797790
@@ -804,28 +797,28 @@ msgctxt "Enter the passcode again"
804797msgid "Please re-enter."
805798msgstr ""
806799
807−#: qml/Wizard/Pages/passcode-desktop.qml:30
800+#: qml/Wizard/Pages/passcode-desktop.qml:31
808801msgid "Lock Screen Passcode"
809802msgstr ""
810803
811−#: qml/Wizard/Pages/passcode-desktop.qml:60
804+#: qml/Wizard/Pages/passcode-desktop.qml:61
812805msgid "Enter 4 numbers to setup your passcode"
813806msgstr ""
814807
815−#: qml/Wizard/Pages/passcode-desktop.qml:76
808+#: qml/Wizard/Pages/passcode-desktop.qml:77
816809#: qml/Wizard/Pages/passcode-set.qml:54
817810msgid "Choose passcode"
818811msgstr ""
819812
820−#: qml/Wizard/Pages/passcode-desktop.qml:126
813+#: qml/Wizard/Pages/passcode-desktop.qml:127
821814msgid "Passcode too short"
822815msgstr ""
823816
824−#: qml/Wizard/Pages/passcode-desktop.qml:128
817+#: qml/Wizard/Pages/passcode-desktop.qml:129
825818msgid "Passcodes match"
826819msgstr ""
827820
828−#: qml/Wizard/Pages/passcode-desktop.qml:130
821+#: qml/Wizard/Pages/passcode-desktop.qml:131
829822msgid "Passcodes do not match"
830823msgstr ""
831824
@@ -833,19 +826,19 @@ msgstr ""
833826msgid "Passcode must be 4 characters long"
834827msgstr ""
835828
836−#: qml/Wizard/Pages/password-set.qml:30
829+#: qml/Wizard/Pages/password-set.qml:31
837830msgid "Lock Screen Password"
838831msgstr ""
839832
840−#: qml/Wizard/Pages/password-set.qml:61
833+#: qml/Wizard/Pages/password-set.qml:62
841834msgid "Enter at least 8 characters"
842835msgstr ""
843836
844−#: qml/Wizard/Pages/password-set.qml:73
837+#: qml/Wizard/Pages/password-set.qml:74
845838msgid "Choose password"
846839msgstr ""
847840
848−#: qml/Wizard/Pages/password-set.qml:103
841+#: qml/Wizard/Pages/password-set.qml:104
849842msgid "Confirm password"
850843msgstr ""
851844
@@ -956,6 +949,26 @@ msgstr ""
956949#~ msgid "Roaming"
957950#~ msgstr "Rominq"
958951
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+
959972#~ msgid "Log out"
960973#~ msgstr "Çıxış"
961974
@@ -995,3 +1008,13 @@ msgstr ""
9951008
9961009#~ msgid "Type or say a command"
9971010#~ 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 ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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"
1111"PO-Revision-Date: 2015-12-13 13:12+0000\n"
1212"Last-Translator: Mikhail_SaTuRn <mikhail_saturn@tut.by>\n"
1313"Language-Team: Belarusian <be@li.org>\n"
@@ -16,97 +16,75 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
1818"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
20−"X-Generator: Launchpad (build 18147)\n"
19+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
20+"X-Generator: Launchpad (build 18282)\n"
2121
2222#: plugins/LightDM/Greeter.cpp:123
2323msgid "Password: "
2424msgstr "Пароль: "
2525
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
2828msgid "Pin shortcut"
2929msgstr "Замацаваць кнопку"
3030
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
3232msgid "Quit"
3333msgstr "Выйсці"
3434
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
3636msgid "Unpin shortcut"
3737msgstr "Адмацаваць кнопку"
3838
39−#: qml/Components/DelayedLockscreen.qml:50
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
39+#: qml/Components/Dialogs.qml:149
6340msgctxt "Title: Lock/Log out dialog"
6441msgid "Log out"
6542msgstr "Выйсці"
6643
67−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
6845msgid "Are you sure you want to log out?"
6946msgstr "Вы ўпэўненыя, што хочаце выйсці?"
7047
71−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
7249msgctxt "Button: Lock the system"
7350msgid "Lock"
7451msgstr "Заблакаваць"
7552
76−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
7754msgctxt "Button: Log out from the system"
7855msgid "Log Out"
7956msgstr "Выйсці"
8057
81−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
82−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
8361#: qml/Wizard/Pages/passcode-set.qml:32
8462msgid "Cancel"
8563msgstr "Скасаваць"
8664
87−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
8866msgctxt "Title: Reboot dialog"
8967msgid "Reboot"
9068msgstr "Перазагрузіць"
9169
92−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
9371msgid "Are you sure you want to reboot?"
9472msgstr "Вы ўпэўнены, што жадаеце перазагрузіць?"
9573
96−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
9775msgid "No"
9876msgstr "Не"
9977
100−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
10179msgid "Yes"
10280msgstr "Так"
10381
104−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
10583msgctxt "Title: Power off/Restart dialog"
10684msgid "Power"
10785msgstr "Сілкаванне"
10886
109−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
11088msgid ""
11189"Are you sure you would like\n"
11290"to power off?"
@@ -114,12 +92,12 @@ msgstr ""
11492"Вы ўпэўнены, што хочаце\n"
11593"выключыць камп'ютэр?"
11694
117−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
11896msgctxt "Button: Power off the system"
11997msgid "Power off"
12098msgstr "Выключыць"
12199
122−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
123101msgctxt "Button: Restart the system"
124102msgid "Restart"
125103msgstr "Перазапуск"
@@ -284,15 +262,15 @@ msgstr ""
284262msgid "Closes the current window."
285263msgstr ""
286264
287−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
288266msgid "Return to Call"
289267msgstr "Вярнуцца да выкліку"
290268
291−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
292270msgid "Emergency Call"
293271msgstr "Терміновы выклік"
294272
295−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
296274msgid "OK"
297275msgstr "Добра"
298276
@@ -336,84 +314,84 @@ msgstr "Зачыніць усё"
336314msgid "Preview Share Item"
337315msgstr "Праглядзець элемент"
338316
339−#: qml/Dash/DashPageHeader.qml:333
317+#: qml/Dash/DashPageHeader.qml:361
340318msgctxt "Button: Open the Ubuntu Store"
341319msgid "Store"
342320msgstr "Крама"
343321
344−#: qml/Dash/DashPageHeader.qml:340
322+#: qml/Dash/DashPageHeader.qml:368
345323msgctxt "Button: Start a search in the current dash scope"
346324msgid "Search"
347325msgstr "Пошук"
348326
349−#: qml/Dash/DashPageHeader.qml:350
327+#: qml/Dash/DashPageHeader.qml:378
350328msgctxt "Button: Show the current dash scope settings"
351329msgid "Settings"
352330msgstr "Налады"
353331
354−#: qml/Dash/DashPageHeader.qml:357
332+#: qml/Dash/DashPageHeader.qml:385
355333msgid "Remove from Favorites"
356334msgstr "Выдаліць з абранага"
357335
358−#: qml/Dash/DashPageHeader.qml:357
336+#: qml/Dash/DashPageHeader.qml:385
359337msgid "Add to Favorites"
360338msgstr "Дадаць да абранага"
361339
362−#: qml/Dash/FiltersPopover.qml:60
340+#: qml/Dash/FiltersPopover.qml:61
363341msgid "Refine your results"
364342msgstr ""
365343
366−#: qml/Dash/FiltersPopover.qml:69
344+#: qml/Dash/FiltersPopover.qml:70
367345msgid "Reset"
368346msgstr ""
369347
370−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
348+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
371349msgid "Show less"
372350msgstr ""
373351
374−#: qml/Dash/GenericScopeView.qml:580
352+#: qml/Dash/GenericScopeView.qml:547
375353msgid "Show all"
376354msgstr ""
377355
378−#: qml/Dash/GenericScopeView.qml:637
356+#: qml/Dash/GenericScopeView.qml:578
379357msgctxt "Label: Hint for dash search line edit"
380358msgid "Search"
381359msgstr "Пошук"
382360
383−#: qml/Dash/PageHeaderExtraPanel.qml:56
361+#: qml/Dash/PageHeaderExtraPanel.qml:67
384362msgid "Recent Searches"
385363msgstr ""
386364
387−#: qml/Dash/PageHeaderExtraPanel.qml:67
365+#: qml/Dash/PageHeaderExtraPanel.qml:78
388366msgid "Clear All"
389367msgstr ""
390368
391−#: qml/Dash/Previews/PreviewActionCombo.qml:35
369+#: qml/Dash/Previews/PreviewActionCombo.qml:36
392370msgid "More..."
393371msgstr "Болей…"
394372
395−#: qml/Dash/Previews/PreviewActionCombo.qml:35
373+#: qml/Dash/Previews/PreviewActionCombo.qml:36
396374msgid "Less..."
397375msgstr "Менш..."
398376
399−#: qml/Dash/Previews/PreviewCommentInput.qml:68
400−#: qml/Dash/Previews/PreviewRatingInput.qml:175
377+#: qml/Dash/Previews/PreviewCommentInput.qml:83
378+#: qml/Dash/Previews/PreviewRatingInput.qml:202
401379msgid "Send"
402380msgstr "Адправіць"
403381
404−#: qml/Dash/Previews/PreviewRatingInput.qml:82
382+#: qml/Dash/Previews/PreviewRatingInput.qml:109
405383msgid "Rate this"
406384msgstr "Ацаніць"
407385
408−#: qml/Dash/Previews/PreviewRatingInput.qml:157
386+#: qml/Dash/Previews/PreviewRatingInput.qml:184
409387msgid "Add a review"
410388msgstr "Дадаць рэцэнзію"
411389
412−#: qml/Dash/PullToRefreshScopeStyle.qml:55
390+#: qml/Dash/PullToRefreshScopeStyle.qml:56
413391msgid "Pull to refresh…"
414392msgstr "Пацягніце для абнаўлення..."
415393
416−#: qml/Dash/PullToRefreshScopeStyle.qml:60
394+#: qml/Dash/PullToRefreshScopeStyle.qml:61
417395msgid "Release to refresh…"
418396msgstr "Адпусціце для абнаўлення..."
419397
@@ -421,15 +399,15 @@ msgstr "Адпусціце для абнаўлення..."
421399msgid "Enable location data"
422400msgstr "Уключыць дадзеныя аб месцазнаходжанні"
423401
424−#: qml/Dash/ScopesList.qml:55
402+#: qml/Dash/ScopesList.qml:57
425403msgid "Manage"
426404msgstr "Кіраванне"
427405
428−#: qml/Dash/ScopesList.qml:102
406+#: qml/Dash/ScopesList.qml:104
429407msgid "Home"
430408msgstr "Хатняя папка"
431409
432−#: qml/Dash/ScopesList.qml:103
410+#: qml/Dash/ScopesList.qml:105
433411msgid "Also installed"
434412msgstr "Таксама ўсталявана"
435413
@@ -443,84 +421,56 @@ msgstr ""
443421msgid "Unlock"
444422msgstr "Разблакаваць"
445423
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
447448msgid "Try again"
448449msgstr ""
449450
450−#: qml/Greeter/LoginList.qml:63
451+#: qml/Greeter/LoginList.qml:70
451452msgid "Passphrase"
452453msgstr ""
453454
454−#: qml/Greeter/LoginList.qml:64
455+#: qml/Greeter/LoginList.qml:71
455456msgid "Passcode"
456457msgstr ""
457458
458−#: qml/Greeter/LoginList.qml:87
459+#: qml/Greeter/LoginList.qml:98
459460msgid "Retry"
460461msgstr "Паспрабаваць зноў"
461462
462−#: qml/Greeter/LoginList.qml:88
463+#: qml/Greeter/LoginList.qml:99
463464msgid "Log In"
464465msgstr ""
465466
466−#: qml/Greeter/NarrowView.qml:55
467−msgid "Sorry, incorrect passphrase."
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."
467+#: qml/Greeter/NarrowView.qml:252
468+msgid "Emergency"
482469msgstr ""
483−"Калі ўведзены пароль неправільны, Ваш тэлефон зробіць агульны скід налад і "
484−"ўсе асабістыя дадзеныя будуць выдалены."
485470
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."
471+#: qml/Greeter/SessionsList.qml:122
472+msgid "Select desktop environment"
490473msgstr ""
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 "Даруйце, некарэктны код"
524474
525475#: qml/Notifications/NotificationMenuItemFactory.qml:124
526476msgid "Show password"
@@ -534,11 +484,11 @@ msgstr "Націсніце, каб вярнуцца да выкліку..."
534484msgid "Conference"
535485msgstr "Канферэнцыя"
536486
537−#: qml/Panel/Indicators/MenuItemFactory.qml:762
487+#: qml/Panel/Indicators/MenuItemFactory.qml:847
538488msgid "Nothing is playing"
539489msgstr "Нічога не грае"
540490
541−#: qml/Panel/Indicators/MenuItemFactory.qml:891
491+#: qml/Panel/Indicators/MenuItemFactory.qml:975
542492#, qt-format
543493msgid "%1 hour"
544494msgid_plural "%1 hours"
@@ -546,7 +496,7 @@ msgstr[0] "%1 гадзіна"
546496msgstr[1] "%1 гадзіны"
547497msgstr[2] "%1 гадзінаў"
548498
549−#: qml/Panel/Indicators/MenuItemFactory.qml:895
499+#: qml/Panel/Indicators/MenuItemFactory.qml:979
550500#, qt-format
551501msgid "%1 minute"
552502msgid_plural "%1 minutes"
@@ -554,7 +504,7 @@ msgstr[0] "%1 хвіліна"
554504msgstr[1] "%1 хвіліны"
555505msgstr[2] "%1 хвілінаў"
556506
557−#: qml/Panel/Indicators/MenuItemFactory.qml:900
507+#: qml/Panel/Indicators/MenuItemFactory.qml:984
558508#, qt-format
559509msgid "%1 second"
560510msgid_plural "%1 seconds"
@@ -562,37 +512,37 @@ msgstr[0] "%1 секунда"
562512msgstr[1] "%1 секунды"
563513msgstr[2] "%1 секундаў"
564514
565−#: qml/Panel/Indicators/MenuItemFactory.qml:903
515+#: qml/Panel/Indicators/MenuItemFactory.qml:987
566516msgid "0 seconds"
567517msgstr "0 секунд"
568518
569519#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
570−#: qml/Panel/Indicators/MenuItemFactory.qml:905
520+#: qml/Panel/Indicators/MenuItemFactory.qml:989
571521#, qt-format
572522msgid "%1 remaining"
573523msgstr "%1 засталося"
574524
575−#: qml/Panel/Indicators/MenuItemFactory.qml:911
525+#: qml/Panel/Indicators/MenuItemFactory.qml:995
576526msgid "In queue…"
577527msgstr "У чарзе..."
578528
579−#: qml/Panel/Indicators/MenuItemFactory.qml:915
529+#: qml/Panel/Indicators/MenuItemFactory.qml:999
580530msgid "Downloading"
581531msgstr "Запампоўка"
582532
583−#: qml/Panel/Indicators/MenuItemFactory.qml:917
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
584534msgid "Paused, tap to resume"
585535msgstr "Прыпынена, націсніце для працягу"
586536
587−#: qml/Panel/Indicators/MenuItemFactory.qml:919
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
588538msgid "Canceled"
589539msgstr "Скасавана"
590540
591−#: qml/Panel/Indicators/MenuItemFactory.qml:921
541+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
592542msgid "Finished"
593543msgstr "Скончана"
594544
595−#: qml/Panel/Indicators/MenuItemFactory.qml:923
545+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
596546msgid "Failed, tap to retry"
597547msgstr "Не атрымалася, націсніце, каб паўтарыць спробу"
598548
@@ -612,7 +562,7 @@ msgctxt "Button: Call back on phone"
612562msgid "Call back"
613563msgstr "Патэлефанаваць"
614564
615−#: qml/Stages/SideStage.qml:76
565+#: qml/Stage/SideStage.qml:76
616566msgid "Drag using 3 fingers any application from one window to the other"
617567msgstr ""
618568
@@ -641,40 +591,54 @@ msgctxt "Button: Go back one page in the Wizard"
641591msgid "Back"
642592msgstr "Вярнуцца"
643593
644−#: qml/Wizard/Pages/10-welcome.qml:27
594+#: qml/Wizard/Pages/10-welcome.qml:28
645595msgid "Language"
646596msgstr ""
647597
648−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
649−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
650−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
598+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
601+#: qml/Wizard/Pages/70-passwd-type.qml:145
651602#: qml/Wizard/Pages/75-report-check.qml:84
652−#: qml/Wizard/Pages/passcode-desktop.qml:141
653−#: qml/Wizard/Pages/password-set.qml:141
603+#: qml/Wizard/Pages/passcode-desktop.qml:142
604+#: qml/Wizard/Pages/password-set.qml:142
654605msgid "Next"
655606msgstr ""
656607
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
658627msgid "Connect to Wi‑Fi"
659628msgstr "Злучыцца з Wi-Fi"
660629
661−#: qml/Wizard/Pages/30-wifi.qml:130
630+#: qml/Wizard/Pages/30-wifi.qml:132
662631msgid "Connected"
663632msgstr ""
664633
665−#: qml/Wizard/Pages/30-wifi.qml:163
634+#: qml/Wizard/Pages/30-wifi.qml:165
666635msgid "Available Wi-Fi networks"
667636msgstr ""
668637
669−#: qml/Wizard/Pages/30-wifi.qml:164
638+#: qml/Wizard/Pages/30-wifi.qml:166
670639msgid "No available Wi-Fi networks"
671640msgstr ""
672641
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−
678642#: qml/Wizard/Pages/40-location.qml:27
679643msgid "Location Services"
680644msgstr ""
@@ -707,11 +671,11 @@ msgstr ""
707671msgid "You can change it later in System Settings."
708672msgstr ""
709673
710−#: qml/Wizard/Pages/50-timezone.qml:29
674+#: qml/Wizard/Pages/50-timezone.qml:30
711675msgid "Time Zone"
712676msgstr ""
713677
714−#: qml/Wizard/Pages/50-timezone.qml:181
678+#: qml/Wizard/Pages/50-timezone.qml:182
715679msgid "Enter your city"
716680msgstr ""
717681
@@ -723,21 +687,21 @@ msgstr ""
723687msgid "Preferred Name"
724688msgstr ""
725689
726−#: qml/Wizard/Pages/70-passwd-type.qml:39
690+#: qml/Wizard/Pages/70-passwd-type.qml:40
727691msgid "Lock Screen"
728692msgstr ""
729693
730−#: qml/Wizard/Pages/70-passwd-type.qml:101
694+#: qml/Wizard/Pages/70-passwd-type.qml:102
731695msgctxt "Label: Type of security method"
732696msgid "Create new password"
733697msgstr ""
734698
735−#: qml/Wizard/Pages/70-passwd-type.qml:103
699+#: qml/Wizard/Pages/70-passwd-type.qml:104
736700msgctxt "Label: Type of security method"
737701msgid "Create passcode (numbers only)"
738702msgstr ""
739703
740−#: qml/Wizard/Pages/70-passwd-type.qml:105
704+#: qml/Wizard/Pages/70-passwd-type.qml:106
741705msgctxt "Label: Type of security method"
742706msgid "No lock code"
743707msgstr ""
@@ -758,6 +722,35 @@ msgstr ""
758722msgid "Privacy policy"
759723msgstr ""
760724
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+
761754#: qml/Wizard/Pages/80-finished.qml:89
762755msgid "Welcome to Ubuntu"
763756msgstr ""
@@ -801,7 +794,7 @@ msgid "Service Terms"
801794msgstr ""
802795
803796#: qml/Wizard/Pages/passcode-confirm.qml:43
804−#: qml/Wizard/Pages/passcode-desktop.qml:96
797+#: qml/Wizard/Pages/passcode-desktop.qml:97
805798msgid "Confirm passcode"
806799msgstr "Пацвердзіце код-пароль"
807800
@@ -814,28 +807,28 @@ msgctxt "Enter the passcode again"
814807msgid "Please re-enter."
815808msgstr ""
816809
817−#: qml/Wizard/Pages/passcode-desktop.qml:30
810+#: qml/Wizard/Pages/passcode-desktop.qml:31
818811msgid "Lock Screen Passcode"
819812msgstr ""
820813
821−#: qml/Wizard/Pages/passcode-desktop.qml:60
814+#: qml/Wizard/Pages/passcode-desktop.qml:61
822815msgid "Enter 4 numbers to setup your passcode"
823816msgstr ""
824817
825−#: qml/Wizard/Pages/passcode-desktop.qml:76
818+#: qml/Wizard/Pages/passcode-desktop.qml:77
826819#: qml/Wizard/Pages/passcode-set.qml:54
827820msgid "Choose passcode"
828821msgstr ""
829822
830−#: qml/Wizard/Pages/passcode-desktop.qml:126
823+#: qml/Wizard/Pages/passcode-desktop.qml:127
831824msgid "Passcode too short"
832825msgstr ""
833826
834−#: qml/Wizard/Pages/passcode-desktop.qml:128
827+#: qml/Wizard/Pages/passcode-desktop.qml:129
835828msgid "Passcodes match"
836829msgstr ""
837830
838−#: qml/Wizard/Pages/passcode-desktop.qml:130
831+#: qml/Wizard/Pages/passcode-desktop.qml:131
839832msgid "Passcodes do not match"
840833msgstr ""
841834
@@ -843,19 +836,19 @@ msgstr ""
843836msgid "Passcode must be 4 characters long"
844837msgstr ""
845838
846−#: qml/Wizard/Pages/password-set.qml:30
839+#: qml/Wizard/Pages/password-set.qml:31
847840msgid "Lock Screen Password"
848841msgstr ""
849842
850−#: qml/Wizard/Pages/password-set.qml:61
843+#: qml/Wizard/Pages/password-set.qml:62
851844msgid "Enter at least 8 characters"
852845msgstr ""
853846
854−#: qml/Wizard/Pages/password-set.qml:73
847+#: qml/Wizard/Pages/password-set.qml:74
855848msgid "Choose password"
856849msgstr ""
857850
858−#: qml/Wizard/Pages/password-set.qml:103
851+#: qml/Wizard/Pages/password-set.qml:104
859852msgid "Confirm password"
860853msgstr ""
861854
@@ -953,6 +946,20 @@ msgstr ""
953946#~ msgid "Type or say a command"
954947#~ msgstr "Напішыце або вымавіце каманду"
955948
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+
956963#~ msgid "Log out"
957964#~ msgstr "Выйсці"
958965
@@ -1088,6 +1095,12 @@ msgstr ""
10881095#~ "Вы толькі што асвоілі асноўная жэсты і можаце пачаць выкарыстоўваць "
10891096#~ "тэлефон<br><br>Дакраніцеся да экрана, каб пачаць"
10901097
1098+#~ msgid "Enter passphrase"
1099+#~ msgstr "Увядзіце пароль"
1100+
1101+#~ msgid "Sorry, incorrect passcode."
1102+#~ msgstr "Даруйце, няслушны код."
1103+
10911104#~ msgid "Please re-enter"
10921105#~ msgstr "Калі ласка, паўтарыце ўвод"
10931106
@@ -1181,6 +1194,9 @@ msgstr ""
11811194#~ msgid "Numbers and letters"
11821195#~ msgstr "Літары і лічбы"
11831196
1197+#~ msgid "Sorry, incorrect passphrase."
1198+#~ msgstr "Даруйце, няслушны пароль."
1199+
11841200#~ msgid "Without it, you won’t be able to make calls or use text messaging."
11851201#~ msgstr "Без яе Вы не зможаце тэлефанаваць ці адпраўляць паведамленні."
11861202
@@ -1221,5 +1237,29 @@ msgstr ""
12211237#~ msgid "%H:%M"
12221238#~ msgstr "%H:%M"
12231239
1240+#~ msgctxt "passphrase"
1241+#~ msgid "Please re-enter"
1242+#~ msgstr "Калі ласка, паўтарыце ўвод"
1243+
12241244#~ msgid "Call back"
12251245#~ 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 ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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"
1111"PO-Revision-Date: 2015-04-12 14:43+0000\n"
1212"Last-Translator: George Karavasilev <kokoto-java@ubuntu.com>\n"
1313"Language-Team: Bulgarian <bg@li.org>\n"
@@ -15,93 +15,75 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr ""
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr ""
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr ""
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr ""
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
5839msgctxt "Title: Lock/Log out dialog"
5940msgid "Log out"
6041msgstr ""
6142
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6344msgid "Are you sure you want to log out?"
6445msgstr ""
6546
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
6748msgctxt "Button: Lock the system"
6849msgid "Lock"
6950msgstr ""
7051
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7253msgctxt "Button: Log out from the system"
7354msgid "Log Out"
7455msgstr ""
7556
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
7860#: qml/Wizard/Pages/passcode-set.qml:32
7961msgid "Cancel"
8062msgstr ""
8163
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8365msgctxt "Title: Reboot dialog"
8466msgid "Reboot"
8567msgstr ""
8668
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
8870msgid "Are you sure you want to reboot?"
8971msgstr ""
9072
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9274msgid "No"
9375msgstr ""
9476
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
9678msgid "Yes"
9779msgstr ""
9880
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10082msgctxt "Title: Power off/Restart dialog"
10183msgid "Power"
10284msgstr ""
10385
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10587msgid ""
10688"Are you sure you would like\n"
10789"to power off?"
@@ -109,12 +91,12 @@ msgstr ""
10991"Искате ли да \n"
11092"изключите захранването на устройството?"
11193
112−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
11395msgctxt "Button: Power off the system"
11496msgid "Power off"
11597msgstr ""
11698
117−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
118100msgctxt "Button: Restart the system"
119101msgid "Restart"
120102msgstr ""
@@ -279,15 +261,15 @@ msgstr ""
279261msgid "Closes the current window."
280262msgstr ""
281263
282−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
283265msgid "Return to Call"
284266msgstr ""
285267
286−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
287269msgid "Emergency Call"
288270msgstr "Спешно повикване"
289271
290−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
291273msgid "OK"
292274msgstr ""
293275
@@ -331,84 +313,84 @@ msgstr ""
331313msgid "Preview Share Item"
332314msgstr ""
333315
334−#: qml/Dash/DashPageHeader.qml:333
316+#: qml/Dash/DashPageHeader.qml:361
335317msgctxt "Button: Open the Ubuntu Store"
336318msgid "Store"
337319msgstr ""
338320
339−#: qml/Dash/DashPageHeader.qml:340
321+#: qml/Dash/DashPageHeader.qml:368
340322msgctxt "Button: Start a search in the current dash scope"
341323msgid "Search"
342324msgstr ""
343325
344−#: qml/Dash/DashPageHeader.qml:350
326+#: qml/Dash/DashPageHeader.qml:378
345327msgctxt "Button: Show the current dash scope settings"
346328msgid "Settings"
347329msgstr ""
348330
349−#: qml/Dash/DashPageHeader.qml:357
331+#: qml/Dash/DashPageHeader.qml:385
350332msgid "Remove from Favorites"
351333msgstr ""
352334
353−#: qml/Dash/DashPageHeader.qml:357
335+#: qml/Dash/DashPageHeader.qml:385
354336msgid "Add to Favorites"
355337msgstr ""
356338
357−#: qml/Dash/FiltersPopover.qml:60
339+#: qml/Dash/FiltersPopover.qml:61
358340msgid "Refine your results"
359341msgstr ""
360342
361−#: qml/Dash/FiltersPopover.qml:69
343+#: qml/Dash/FiltersPopover.qml:70
362344msgid "Reset"
363345msgstr ""
364346
365−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
347+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
366348msgid "Show less"
367349msgstr ""
368350
369−#: qml/Dash/GenericScopeView.qml:580
351+#: qml/Dash/GenericScopeView.qml:547
370352msgid "Show all"
371353msgstr ""
372354
373−#: qml/Dash/GenericScopeView.qml:637
355+#: qml/Dash/GenericScopeView.qml:578
374356msgctxt "Label: Hint for dash search line edit"
375357msgid "Search"
376358msgstr ""
377359
378−#: qml/Dash/PageHeaderExtraPanel.qml:56
360+#: qml/Dash/PageHeaderExtraPanel.qml:67
379361msgid "Recent Searches"
380362msgstr ""
381363
382−#: qml/Dash/PageHeaderExtraPanel.qml:67
364+#: qml/Dash/PageHeaderExtraPanel.qml:78
383365msgid "Clear All"
384366msgstr ""
385367
386−#: qml/Dash/Previews/PreviewActionCombo.qml:35
368+#: qml/Dash/Previews/PreviewActionCombo.qml:36
387369msgid "More..."
388370msgstr ""
389371
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
372+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391373msgid "Less..."
392374msgstr "По-малко..."
393375
394−#: qml/Dash/Previews/PreviewCommentInput.qml:68
395−#: qml/Dash/Previews/PreviewRatingInput.qml:175
376+#: qml/Dash/Previews/PreviewCommentInput.qml:83
377+#: qml/Dash/Previews/PreviewRatingInput.qml:202
396378msgid "Send"
397379msgstr "Изпрати"
398380
399−#: qml/Dash/Previews/PreviewRatingInput.qml:82
381+#: qml/Dash/Previews/PreviewRatingInput.qml:109
400382msgid "Rate this"
401383msgstr "Оценете това"
402384
403−#: qml/Dash/Previews/PreviewRatingInput.qml:157
385+#: qml/Dash/Previews/PreviewRatingInput.qml:184
404386msgid "Add a review"
405387msgstr "Добави отзив"
406388
407−#: qml/Dash/PullToRefreshScopeStyle.qml:55
389+#: qml/Dash/PullToRefreshScopeStyle.qml:56
408390msgid "Pull to refresh…"
409391msgstr ""
410392
411−#: qml/Dash/PullToRefreshScopeStyle.qml:60
393+#: qml/Dash/PullToRefreshScopeStyle.qml:61
412394msgid "Release to refresh…"
413395msgstr ""
414396
@@ -416,15 +398,15 @@ msgstr ""
416398msgid "Enable location data"
417399msgstr ""
418400
419−#: qml/Dash/ScopesList.qml:55
401+#: qml/Dash/ScopesList.qml:57
420402msgid "Manage"
421403msgstr ""
422404
423−#: qml/Dash/ScopesList.qml:102
405+#: qml/Dash/ScopesList.qml:104
424406msgid "Home"
425407msgstr ""
426408
427−#: qml/Dash/ScopesList.qml:103
409+#: qml/Dash/ScopesList.qml:105
428410msgid "Also installed"
429411msgstr ""
430412
@@ -438,79 +420,51 @@ msgstr ""
438420msgid "Unlock"
439421msgstr ""
440422
441−#: qml/Greeter/Greeter.qml:555
442−msgid "Try again"
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."
423+#: qml/Greeter/DelayedLockscreen.qml:43
424+msgid "Device Locked"
471425msgstr ""
472426
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."
427+#: qml/Greeter/DelayedLockscreen.qml:58
428+msgid "You have been locked out due to too many failed passphrase attempts."
477429msgstr ""
478430
479−#: qml/Greeter/NarrowView.qml:60
480−msgid ""
481−"If passcode is entered incorrectly, your phone will conduct a factory reset "
482−"and all personal data will be deleted."
431+#: qml/Greeter/DelayedLockscreen.qml:59
432+msgid "You have been locked out due to too many failed passcode attempts."
483433msgstr ""
484434
485−#: qml/Greeter/NarrowView.qml:129
435+#: qml/Greeter/DelayedLockscreen.qml:68
486436#, 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"
488444msgstr ""
489445
490−#: qml/Greeter/NarrowView.qml:130
491−msgid "Enter passphrase"
446+#: qml/Greeter/LoginList.qml:70
447+msgid "Passphrase"
492448msgstr ""
493449
494−#: qml/Greeter/NarrowView.qml:131
495−msgid "Enter passcode"
450+#: qml/Greeter/LoginList.qml:71
451+msgid "Passcode"
496452msgstr ""
497453
498−#: qml/Greeter/NarrowView.qml:135
499−#, qt-format
500−msgid "Sorry, incorrect %1"
454+#: qml/Greeter/LoginList.qml:98
455+msgid "Retry"
501456msgstr ""
502457
503−#: qml/Greeter/NarrowView.qml:136
504−msgid "Sorry, incorrect passphrase"
458+#: qml/Greeter/LoginList.qml:99
459+msgid "Log In"
505460msgstr ""
506461
507−#: qml/Greeter/NarrowView.qml:137
508−msgctxt "passphrase"
509−msgid "Please re-enter"
462+#: qml/Greeter/NarrowView.qml:252
463+msgid "Emergency"
510464msgstr ""
511465
512−#: qml/Greeter/NarrowView.qml:138
513−msgid "Sorry, incorrect passcode"
466+#: qml/Greeter/SessionsList.qml:122
467+msgid "Select desktop environment"
514468msgstr ""
515469
516470#: qml/Notifications/NotificationMenuItemFactory.qml:124
@@ -525,62 +479,62 @@ msgstr ""
525479msgid "Conference"
526480msgstr ""
527481
528−#: qml/Panel/Indicators/MenuItemFactory.qml:762
482+#: qml/Panel/Indicators/MenuItemFactory.qml:847
529483msgid "Nothing is playing"
530484msgstr ""
531485
532−#: qml/Panel/Indicators/MenuItemFactory.qml:891
486+#: qml/Panel/Indicators/MenuItemFactory.qml:975
533487#, qt-format
534488msgid "%1 hour"
535489msgid_plural "%1 hours"
536490msgstr[0] ""
537491msgstr[1] ""
538492
539−#: qml/Panel/Indicators/MenuItemFactory.qml:895
493+#: qml/Panel/Indicators/MenuItemFactory.qml:979
540494#, qt-format
541495msgid "%1 minute"
542496msgid_plural "%1 minutes"
543497msgstr[0] ""
544498msgstr[1] ""
545499
546−#: qml/Panel/Indicators/MenuItemFactory.qml:900
500+#: qml/Panel/Indicators/MenuItemFactory.qml:984
547501#, qt-format
548502msgid "%1 second"
549503msgid_plural "%1 seconds"
550504msgstr[0] ""
551505msgstr[1] ""
552506
553−#: qml/Panel/Indicators/MenuItemFactory.qml:903
507+#: qml/Panel/Indicators/MenuItemFactory.qml:987
554508msgid "0 seconds"
555509msgstr ""
556510
557511#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
558−#: qml/Panel/Indicators/MenuItemFactory.qml:905
512+#: qml/Panel/Indicators/MenuItemFactory.qml:989
559513#, qt-format
560514msgid "%1 remaining"
561515msgstr ""
562516
563−#: qml/Panel/Indicators/MenuItemFactory.qml:911
517+#: qml/Panel/Indicators/MenuItemFactory.qml:995
564518msgid "In queue…"
565519msgstr ""
566520
567−#: qml/Panel/Indicators/MenuItemFactory.qml:915
521+#: qml/Panel/Indicators/MenuItemFactory.qml:999
568522msgid "Downloading"
569523msgstr ""
570524
571−#: qml/Panel/Indicators/MenuItemFactory.qml:917
525+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
572526msgid "Paused, tap to resume"
573527msgstr ""
574528
575−#: qml/Panel/Indicators/MenuItemFactory.qml:919
529+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
576530msgid "Canceled"
577531msgstr ""
578532
579−#: qml/Panel/Indicators/MenuItemFactory.qml:921
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
580534msgid "Finished"
581535msgstr ""
582536
583−#: qml/Panel/Indicators/MenuItemFactory.qml:923
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
584538msgid "Failed, tap to retry"
585539msgstr ""
586540
@@ -600,7 +554,7 @@ msgctxt "Button: Call back on phone"
600554msgid "Call back"
601555msgstr ""
602556
603−#: qml/Stages/SideStage.qml:76
557+#: qml/Stage/SideStage.qml:76
604558msgid "Drag using 3 fingers any application from one window to the other"
605559msgstr ""
606560
@@ -629,40 +583,54 @@ msgctxt "Button: Go back one page in the Wizard"
629583msgid "Back"
630584msgstr ""
631585
632−#: qml/Wizard/Pages/10-welcome.qml:27
586+#: qml/Wizard/Pages/10-welcome.qml:28
633587msgid "Language"
634588msgstr ""
635589
636−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
637−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
638−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
590+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
593+#: qml/Wizard/Pages/70-passwd-type.qml:145
639594#: qml/Wizard/Pages/75-report-check.qml:84
640−#: qml/Wizard/Pages/passcode-desktop.qml:141
641−#: qml/Wizard/Pages/password-set.qml:141
595+#: qml/Wizard/Pages/passcode-desktop.qml:142
596+#: qml/Wizard/Pages/password-set.qml:142
642597msgid "Next"
643598msgstr ""
644599
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
646619msgid "Connect to Wi‑Fi"
647620msgstr ""
648621
649−#: qml/Wizard/Pages/30-wifi.qml:130
622+#: qml/Wizard/Pages/30-wifi.qml:132
650623msgid "Connected"
651624msgstr ""
652625
653−#: qml/Wizard/Pages/30-wifi.qml:163
626+#: qml/Wizard/Pages/30-wifi.qml:165
654627msgid "Available Wi-Fi networks"
655628msgstr ""
656629
657−#: qml/Wizard/Pages/30-wifi.qml:164
630+#: qml/Wizard/Pages/30-wifi.qml:166
658631msgid "No available Wi-Fi networks"
659632msgstr ""
660633
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−
666634#: qml/Wizard/Pages/40-location.qml:27
667635msgid "Location Services"
668636msgstr ""
@@ -695,11 +663,11 @@ msgstr ""
695663msgid "You can change it later in System Settings."
696664msgstr ""
697665
698−#: qml/Wizard/Pages/50-timezone.qml:29
666+#: qml/Wizard/Pages/50-timezone.qml:30
699667msgid "Time Zone"
700668msgstr ""
701669
702−#: qml/Wizard/Pages/50-timezone.qml:181
670+#: qml/Wizard/Pages/50-timezone.qml:182
703671msgid "Enter your city"
704672msgstr ""
705673
@@ -711,21 +679,21 @@ msgstr ""
711679msgid "Preferred Name"
712680msgstr ""
713681
714−#: qml/Wizard/Pages/70-passwd-type.qml:39
682+#: qml/Wizard/Pages/70-passwd-type.qml:40
715683msgid "Lock Screen"
716684msgstr ""
717685
718−#: qml/Wizard/Pages/70-passwd-type.qml:101
686+#: qml/Wizard/Pages/70-passwd-type.qml:102
719687msgctxt "Label: Type of security method"
720688msgid "Create new password"
721689msgstr ""
722690
723−#: qml/Wizard/Pages/70-passwd-type.qml:103
691+#: qml/Wizard/Pages/70-passwd-type.qml:104
724692msgctxt "Label: Type of security method"
725693msgid "Create passcode (numbers only)"
726694msgstr ""
727695
728−#: qml/Wizard/Pages/70-passwd-type.qml:105
696+#: qml/Wizard/Pages/70-passwd-type.qml:106
729697msgctxt "Label: Type of security method"
730698msgid "No lock code"
731699msgstr ""
@@ -746,6 +714,35 @@ msgstr ""
746714msgid "Privacy policy"
747715msgstr ""
748716
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+
749746#: qml/Wizard/Pages/80-finished.qml:89
750747msgid "Welcome to Ubuntu"
751748msgstr ""
@@ -789,7 +786,7 @@ msgid "Service Terms"
789786msgstr ""
790787
791788#: qml/Wizard/Pages/passcode-confirm.qml:43
792−#: qml/Wizard/Pages/passcode-desktop.qml:96
789+#: qml/Wizard/Pages/passcode-desktop.qml:97
793790msgid "Confirm passcode"
794791msgstr ""
795792
@@ -802,28 +799,28 @@ msgctxt "Enter the passcode again"
802799msgid "Please re-enter."
803800msgstr ""
804801
805−#: qml/Wizard/Pages/passcode-desktop.qml:30
802+#: qml/Wizard/Pages/passcode-desktop.qml:31
806803msgid "Lock Screen Passcode"
807804msgstr ""
808805
809−#: qml/Wizard/Pages/passcode-desktop.qml:60
806+#: qml/Wizard/Pages/passcode-desktop.qml:61
810807msgid "Enter 4 numbers to setup your passcode"
811808msgstr ""
812809
813−#: qml/Wizard/Pages/passcode-desktop.qml:76
810+#: qml/Wizard/Pages/passcode-desktop.qml:77
814811#: qml/Wizard/Pages/passcode-set.qml:54
815812msgid "Choose passcode"
816813msgstr ""
817814
818−#: qml/Wizard/Pages/passcode-desktop.qml:126
815+#: qml/Wizard/Pages/passcode-desktop.qml:127
819816msgid "Passcode too short"
820817msgstr ""
821818
822−#: qml/Wizard/Pages/passcode-desktop.qml:128
819+#: qml/Wizard/Pages/passcode-desktop.qml:129
823820msgid "Passcodes match"
824821msgstr ""
825822
826−#: qml/Wizard/Pages/passcode-desktop.qml:130
823+#: qml/Wizard/Pages/passcode-desktop.qml:131
827824msgid "Passcodes do not match"
828825msgstr ""
829826
@@ -831,19 +828,19 @@ msgstr ""
831828msgid "Passcode must be 4 characters long"
832829msgstr ""
833830
834−#: qml/Wizard/Pages/password-set.qml:30
831+#: qml/Wizard/Pages/password-set.qml:31
835832msgid "Lock Screen Password"
836833msgstr ""
837834
838−#: qml/Wizard/Pages/password-set.qml:61
835+#: qml/Wizard/Pages/password-set.qml:62
839836msgid "Enter at least 8 characters"
840837msgstr ""
841838
842−#: qml/Wizard/Pages/password-set.qml:73
839+#: qml/Wizard/Pages/password-set.qml:74
843840msgid "Choose password"
844841msgstr ""
845842
846−#: qml/Wizard/Pages/password-set.qml:103
843+#: qml/Wizard/Pages/password-set.qml:104
847844msgid "Confirm password"
848845msgstr ""
849846
po/bn.po+209−169
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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"
1111"PO-Revision-Date: 2015-11-27 19:38+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Bengali <bn@li.org>\n"
@@ -15,93 +15,75 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:56+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr "পাসওয়ার্ড: "
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr "পিন"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr ""
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr "আনপিন"
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
5839msgctxt "Title: Lock/Log out dialog"
5940msgid "Log out"
6041msgstr ""
6142
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6344msgid "Are you sure you want to log out?"
6445msgstr "আপনি কি লগ আউট করতে চান?"
6546
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
6748msgctxt "Button: Lock the system"
6849msgid "Lock"
6950msgstr "লক করুন"
7051
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7253msgctxt "Button: Log out from the system"
7354msgid "Log Out"
7455msgstr ""
7556
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
7860#: qml/Wizard/Pages/passcode-set.qml:32
7961msgid "Cancel"
8062msgstr "বাতিল"
8163
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8365msgctxt "Title: Reboot dialog"
8466msgid "Reboot"
8567msgstr "পুনরায় চালু"
8668
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
8870msgid "Are you sure you want to reboot?"
8971msgstr "আপনি কি পুনরায় চালু করতে চান?"
9072
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9274msgid "No"
9375msgstr "না"
9476
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
9678msgid "Yes"
9779msgstr "হ্যাঁ"
9880
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10082msgctxt "Title: Power off/Restart dialog"
10183msgid "Power"
10284msgstr ""
10385
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10587msgid ""
10688"Are you sure you would like\n"
10789"to power off?"
@@ -109,12 +91,12 @@ msgstr ""
10991"আপনি নিশ্চিত যে আপনি\n"
11092"বন্ধ করতে চান?"
11193
112−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
11395msgctxt "Button: Power off the system"
11496msgid "Power off"
11597msgstr "বন্ধ করুন"
11698
117−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
118100msgctxt "Button: Restart the system"
119101msgid "Restart"
120102msgstr "পুনরায় চালু"
@@ -279,15 +261,15 @@ msgstr ""
279261msgid "Closes the current window."
280262msgstr ""
281263
282−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
283265msgid "Return to Call"
284266msgstr "কল এ ফিরে যান"
285267
286−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
287269msgid "Emergency Call"
288270msgstr "জরুরী কল"
289271
290−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
291273msgid "OK"
292274msgstr "ঠিক আছে"
293275
@@ -331,84 +313,84 @@ msgstr ""
331313msgid "Preview Share Item"
332314msgstr ""
333315
334−#: qml/Dash/DashPageHeader.qml:333
316+#: qml/Dash/DashPageHeader.qml:361
335317msgctxt "Button: Open the Ubuntu Store"
336318msgid "Store"
337319msgstr "স্টোর"
338320
339−#: qml/Dash/DashPageHeader.qml:340
321+#: qml/Dash/DashPageHeader.qml:368
340322msgctxt "Button: Start a search in the current dash scope"
341323msgid "Search"
342324msgstr "খুঁজুন"
343325
344−#: qml/Dash/DashPageHeader.qml:350
326+#: qml/Dash/DashPageHeader.qml:378
345327msgctxt "Button: Show the current dash scope settings"
346328msgid "Settings"
347329msgstr "সেটিংস"
348330
349−#: qml/Dash/DashPageHeader.qml:357
331+#: qml/Dash/DashPageHeader.qml:385
350332msgid "Remove from Favorites"
351333msgstr "পছন্দ থেকে মুছে ফেলুন"
352334
353−#: qml/Dash/DashPageHeader.qml:357
335+#: qml/Dash/DashPageHeader.qml:385
354336msgid "Add to Favorites"
355337msgstr "পছন্দতে যোগ করুন"
356338
357−#: qml/Dash/FiltersPopover.qml:60
339+#: qml/Dash/FiltersPopover.qml:61
358340msgid "Refine your results"
359341msgstr ""
360342
361−#: qml/Dash/FiltersPopover.qml:69
343+#: qml/Dash/FiltersPopover.qml:70
362344msgid "Reset"
363345msgstr ""
364346
365−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
347+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
366348msgid "Show less"
367349msgstr ""
368350
369−#: qml/Dash/GenericScopeView.qml:580
351+#: qml/Dash/GenericScopeView.qml:547
370352msgid "Show all"
371353msgstr ""
372354
373−#: qml/Dash/GenericScopeView.qml:637
355+#: qml/Dash/GenericScopeView.qml:578
374356msgctxt "Label: Hint for dash search line edit"
375357msgid "Search"
376358msgstr "খুঁজুন"
377359
378−#: qml/Dash/PageHeaderExtraPanel.qml:56
360+#: qml/Dash/PageHeaderExtraPanel.qml:67
379361msgid "Recent Searches"
380362msgstr ""
381363
382−#: qml/Dash/PageHeaderExtraPanel.qml:67
364+#: qml/Dash/PageHeaderExtraPanel.qml:78
383365msgid "Clear All"
384366msgstr ""
385367
386−#: qml/Dash/Previews/PreviewActionCombo.qml:35
368+#: qml/Dash/Previews/PreviewActionCombo.qml:36
387369msgid "More..."
388370msgstr "আরো..."
389371
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
372+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391373msgid "Less..."
392374msgstr "কম..."
393375
394−#: qml/Dash/Previews/PreviewCommentInput.qml:68
395−#: qml/Dash/Previews/PreviewRatingInput.qml:175
376+#: qml/Dash/Previews/PreviewCommentInput.qml:83
377+#: qml/Dash/Previews/PreviewRatingInput.qml:202
396378msgid "Send"
397379msgstr "পাঠান"
398380
399−#: qml/Dash/Previews/PreviewRatingInput.qml:82
381+#: qml/Dash/Previews/PreviewRatingInput.qml:109
400382msgid "Rate this"
401383msgstr "রেটিং দিন"
402384
403−#: qml/Dash/Previews/PreviewRatingInput.qml:157
385+#: qml/Dash/Previews/PreviewRatingInput.qml:184
404386msgid "Add a review"
405387msgstr "আপনার মতামত দিন"
406388
407−#: qml/Dash/PullToRefreshScopeStyle.qml:55
389+#: qml/Dash/PullToRefreshScopeStyle.qml:56
408390msgid "Pull to refresh…"
409391msgstr "রিফ্রেশ করার জন্য টানুন"
410392
411−#: qml/Dash/PullToRefreshScopeStyle.qml:60
393+#: qml/Dash/PullToRefreshScopeStyle.qml:61
412394msgid "Release to refresh…"
413395msgstr "রিফ্রেশ করার জন্য ছেড়ে দিন"
414396
@@ -416,15 +398,15 @@ msgstr "রিফ্রেশ করার জন্য ছেড়ে দিন"
416398msgid "Enable location data"
417399msgstr "অবস্থান নির্ণয় চালু করুন"
418400
419−#: qml/Dash/ScopesList.qml:55
401+#: qml/Dash/ScopesList.qml:57
420402msgid "Manage"
421403msgstr "ব্যবস্থাপনা"
422404
423−#: qml/Dash/ScopesList.qml:102
405+#: qml/Dash/ScopesList.qml:104
424406msgid "Home"
425407msgstr ""
426408
427−#: qml/Dash/ScopesList.qml:103
409+#: qml/Dash/ScopesList.qml:105
428410msgid "Also installed"
429411msgstr "আরও ইন্সটল করা রয়েছে..."
430412
@@ -438,81 +420,52 @@ msgstr ""
438420msgid "Unlock"
439421msgstr "লক খুলুন"
440422
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
442443msgid "Try again"
443444msgstr ""
444445
445−#: qml/Greeter/LoginList.qml:63
446+#: qml/Greeter/LoginList.qml:70
446447msgid "Passphrase"
447448msgstr ""
448449
449−#: qml/Greeter/LoginList.qml:64
450+#: qml/Greeter/LoginList.qml:71
450451msgid "Passcode"
451452msgstr ""
452453
453−#: qml/Greeter/LoginList.qml:87
454+#: qml/Greeter/LoginList.qml:98
454455msgid "Retry"
455456msgstr ""
456457
457−#: qml/Greeter/LoginList.qml:88
458+#: qml/Greeter/LoginList.qml:99
458459msgid "Log In"
459460msgstr ""
460461
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."
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."
462+#: qml/Greeter/NarrowView.qml:252
463+msgid "Emergency"
477464msgstr ""
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 "অনুগ্রহ করে আবার লিখুন"
512465
513−#: qml/Greeter/NarrowView.qml:138
514−msgid "Sorry, incorrect passcode"
515−msgstr "দুঃখিত, পাসকোড ভুল হয়েছে"
466+#: qml/Greeter/SessionsList.qml:122
467+msgid "Select desktop environment"
468+msgstr ""
516469
517470#: qml/Notifications/NotificationMenuItemFactory.qml:124
518471msgid "Show password"
@@ -526,62 +479,62 @@ msgstr "কলে ফিরে যেতে চাপ দিন..."
526479msgid "Conference"
527480msgstr "কনফারেন্স"
528481
529−#: qml/Panel/Indicators/MenuItemFactory.qml:762
482+#: qml/Panel/Indicators/MenuItemFactory.qml:847
530483msgid "Nothing is playing"
531484msgstr "কোন কিছু বাজছে না।"
532485
533−#: qml/Panel/Indicators/MenuItemFactory.qml:891
486+#: qml/Panel/Indicators/MenuItemFactory.qml:975
534487#, qt-format
535488msgid "%1 hour"
536489msgid_plural "%1 hours"
537490msgstr[0] "%1 ঘণ্টা"
538491msgstr[1] "%1 ঘণ্টা"
539492
540−#: qml/Panel/Indicators/MenuItemFactory.qml:895
493+#: qml/Panel/Indicators/MenuItemFactory.qml:979
541494#, qt-format
542495msgid "%1 minute"
543496msgid_plural "%1 minutes"
544497msgstr[0] "%1 মিনিট"
545498msgstr[1] "%1 মিনিট"
546499
547−#: qml/Panel/Indicators/MenuItemFactory.qml:900
500+#: qml/Panel/Indicators/MenuItemFactory.qml:984
548501#, qt-format
549502msgid "%1 second"
550503msgid_plural "%1 seconds"
551504msgstr[0] "%1 সেকেন্ড"
552505msgstr[1] "%1 সেকেন্ড"
553506
554−#: qml/Panel/Indicators/MenuItemFactory.qml:903
507+#: qml/Panel/Indicators/MenuItemFactory.qml:987
555508msgid "0 seconds"
556509msgstr "0 সেকেন্ড"
557510
558511#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
559−#: qml/Panel/Indicators/MenuItemFactory.qml:905
512+#: qml/Panel/Indicators/MenuItemFactory.qml:989
560513#, qt-format
561514msgid "%1 remaining"
562515msgstr "%1 বাকি"
563516
564−#: qml/Panel/Indicators/MenuItemFactory.qml:911
517+#: qml/Panel/Indicators/MenuItemFactory.qml:995
565518msgid "In queue…"
566519msgstr "অপেক্ষায় রয়েছে..."
567520
568−#: qml/Panel/Indicators/MenuItemFactory.qml:915
521+#: qml/Panel/Indicators/MenuItemFactory.qml:999
569522msgid "Downloading"
570523msgstr "ডাউনলোড হচ্ছে"
571524
572−#: qml/Panel/Indicators/MenuItemFactory.qml:917
525+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
573526msgid "Paused, tap to resume"
574527msgstr "থামানো, শুরু করতে চাপ দিন"
575528
576−#: qml/Panel/Indicators/MenuItemFactory.qml:919
529+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
577530msgid "Canceled"
578531msgstr "বাতিল হয়েছে"
579532
580−#: qml/Panel/Indicators/MenuItemFactory.qml:921
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
581534msgid "Finished"
582535msgstr "শেষ"
583536
584−#: qml/Panel/Indicators/MenuItemFactory.qml:923
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
585538msgid "Failed, tap to retry"
586539msgstr "ব্যার্থ হয়েছে, পুনরায় চেষ্টা করতে চাপ দিন"
587540
@@ -601,7 +554,7 @@ msgctxt "Button: Call back on phone"
601554msgid "Call back"
602555msgstr "কল ব্যাক"
603556
604−#: qml/Stages/SideStage.qml:76
557+#: qml/Stage/SideStage.qml:76
605558msgid "Drag using 3 fingers any application from one window to the other"
606559msgstr ""
607560
@@ -630,40 +583,54 @@ msgctxt "Button: Go back one page in the Wizard"
630583msgid "Back"
631584msgstr ""
632585
633−#: qml/Wizard/Pages/10-welcome.qml:27
586+#: qml/Wizard/Pages/10-welcome.qml:28
634587msgid "Language"
635588msgstr ""
636589
637−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
638−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
639−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
590+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
593+#: qml/Wizard/Pages/70-passwd-type.qml:145
640594#: qml/Wizard/Pages/75-report-check.qml:84
641−#: qml/Wizard/Pages/passcode-desktop.qml:141
642−#: qml/Wizard/Pages/password-set.qml:141
595+#: qml/Wizard/Pages/passcode-desktop.qml:142
596+#: qml/Wizard/Pages/password-set.qml:142
643597msgid "Next"
644598msgstr ""
645599
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
647619msgid "Connect to Wi‑Fi"
648620msgstr ""
649621
650−#: qml/Wizard/Pages/30-wifi.qml:130
622+#: qml/Wizard/Pages/30-wifi.qml:132
651623msgid "Connected"
652624msgstr ""
653625
654−#: qml/Wizard/Pages/30-wifi.qml:163
626+#: qml/Wizard/Pages/30-wifi.qml:165
655627msgid "Available Wi-Fi networks"
656628msgstr ""
657629
658−#: qml/Wizard/Pages/30-wifi.qml:164
630+#: qml/Wizard/Pages/30-wifi.qml:166
659631msgid "No available Wi-Fi networks"
660632msgstr ""
661633
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−
667634#: qml/Wizard/Pages/40-location.qml:27
668635msgid "Location Services"
669636msgstr ""
@@ -696,11 +663,11 @@ msgstr ""
696663msgid "You can change it later in System Settings."
697664msgstr ""
698665
699−#: qml/Wizard/Pages/50-timezone.qml:29
666+#: qml/Wizard/Pages/50-timezone.qml:30
700667msgid "Time Zone"
701668msgstr ""
702669
703−#: qml/Wizard/Pages/50-timezone.qml:181
670+#: qml/Wizard/Pages/50-timezone.qml:182
704671msgid "Enter your city"
705672msgstr ""
706673
@@ -712,21 +679,21 @@ msgstr ""
712679msgid "Preferred Name"
713680msgstr ""
714681
715−#: qml/Wizard/Pages/70-passwd-type.qml:39
682+#: qml/Wizard/Pages/70-passwd-type.qml:40
716683msgid "Lock Screen"
717684msgstr ""
718685
719−#: qml/Wizard/Pages/70-passwd-type.qml:101
686+#: qml/Wizard/Pages/70-passwd-type.qml:102
720687msgctxt "Label: Type of security method"
721688msgid "Create new password"
722689msgstr ""
723690
724−#: qml/Wizard/Pages/70-passwd-type.qml:103
691+#: qml/Wizard/Pages/70-passwd-type.qml:104
725692msgctxt "Label: Type of security method"
726693msgid "Create passcode (numbers only)"
727694msgstr ""
728695
729−#: qml/Wizard/Pages/70-passwd-type.qml:105
696+#: qml/Wizard/Pages/70-passwd-type.qml:106
730697msgctxt "Label: Type of security method"
731698msgid "No lock code"
732699msgstr ""
@@ -747,6 +714,35 @@ msgstr ""
747714msgid "Privacy policy"
748715msgstr ""
749716
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+
750746#: qml/Wizard/Pages/80-finished.qml:89
751747msgid "Welcome to Ubuntu"
752748msgstr ""
@@ -790,7 +786,7 @@ msgid "Service Terms"
790786msgstr ""
791787
792788#: qml/Wizard/Pages/passcode-confirm.qml:43
793−#: qml/Wizard/Pages/passcode-desktop.qml:96
789+#: qml/Wizard/Pages/passcode-desktop.qml:97
794790msgid "Confirm passcode"
795791msgstr ""
796792
@@ -803,28 +799,28 @@ msgctxt "Enter the passcode again"
803799msgid "Please re-enter."
804800msgstr ""
805801
806−#: qml/Wizard/Pages/passcode-desktop.qml:30
802+#: qml/Wizard/Pages/passcode-desktop.qml:31
807803msgid "Lock Screen Passcode"
808804msgstr ""
809805
810−#: qml/Wizard/Pages/passcode-desktop.qml:60
806+#: qml/Wizard/Pages/passcode-desktop.qml:61
811807msgid "Enter 4 numbers to setup your passcode"
812808msgstr ""
813809
814−#: qml/Wizard/Pages/passcode-desktop.qml:76
810+#: qml/Wizard/Pages/passcode-desktop.qml:77
815811#: qml/Wizard/Pages/passcode-set.qml:54
816812msgid "Choose passcode"
817813msgstr ""
818814
819−#: qml/Wizard/Pages/passcode-desktop.qml:126
815+#: qml/Wizard/Pages/passcode-desktop.qml:127
820816msgid "Passcode too short"
821817msgstr ""
822818
823−#: qml/Wizard/Pages/passcode-desktop.qml:128
819+#: qml/Wizard/Pages/passcode-desktop.qml:129
824820msgid "Passcodes match"
825821msgstr ""
826822
827−#: qml/Wizard/Pages/passcode-desktop.qml:130
823+#: qml/Wizard/Pages/passcode-desktop.qml:131
828824msgid "Passcodes do not match"
829825msgstr ""
830826
@@ -832,19 +828,19 @@ msgstr ""
832828msgid "Passcode must be 4 characters long"
833829msgstr ""
834830
835−#: qml/Wizard/Pages/password-set.qml:30
831+#: qml/Wizard/Pages/password-set.qml:31
836832msgid "Lock Screen Password"
837833msgstr ""
838834
839−#: qml/Wizard/Pages/password-set.qml:61
835+#: qml/Wizard/Pages/password-set.qml:62
840836msgid "Enter at least 8 characters"
841837msgstr ""
842838
843−#: qml/Wizard/Pages/password-set.qml:73
839+#: qml/Wizard/Pages/password-set.qml:74
844840msgid "Choose password"
845841msgstr ""
846842
847−#: qml/Wizard/Pages/password-set.qml:103
843+#: qml/Wizard/Pages/password-set.qml:104
848844msgid "Confirm password"
849845msgstr ""
850846
@@ -910,6 +906,19 @@ msgstr ""
910906#~ msgid "See less"
911907#~ msgstr "কম দেখুন"
912908
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+
913922#~ msgid "This action does different things for different apps"
914923#~ msgstr "এই কাজটি বিভিন্ন অ্যাপের জন্য ভিন্ন ভিন্ন ভাবে কাজ করে।"
915924
@@ -1011,9 +1020,36 @@ msgstr ""
10111020#~ msgid "Roaming"
10121021#~ msgstr "রোমিং"
10131022
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+
10141036#~ msgid "Please re-enter"
10151037#~ msgstr "অনুগ্রহ করে আবার লিখুন"
10161038
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+
10171053#~ msgctxt "Button: Shut down the system"
10181054#~ msgid "Shut down"
10191055#~ msgstr "বন্ধ করুন"
@@ -1025,6 +1061,10 @@ msgstr ""
10251061#~ msgid "Tap to unlock"
10261062#~ msgstr "লক খোলার জন্য চাপ দিন"
10271063
1064+#~ msgctxt "passphrase"
1065+#~ msgid "Please re-enter"
1066+#~ msgstr "অনুগ্রহ করে আবার লিখুন"
1067+
10281068#~ msgid "Let’s get started."
10291069#~ msgstr "আসুন শুরু করা যাক।"
10301070
po/br.po+245−204
@@ -7,105 +7,83 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
11−"PO-Revision-Date: 2016-04-27 12:20+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11+"PO-Revision-Date: 2016-08-29 11:37+0000\n"
1212"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
1313"Language-Team: Breton <br@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr "Ger-tremen : "
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr "Spilhennañ ar verradenn"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr "Mont kuit"
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr "Dispilhennañ ar verradenn"
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
6239msgctxt "Title: Lock/Log out dialog"
6340msgid "Log out"
6441msgstr "Digevreañ"
6542
66−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6744msgid "Are you sure you want to log out?"
6845msgstr "Ha sur oc'h e fell deoc'h digevreañ ?"
6946
70−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
7148msgctxt "Button: Lock the system"
7249msgid "Lock"
7350msgstr "Prennañ"
7451
75−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7653msgctxt "Button: Log out from the system"
7754msgid "Log Out"
7855msgstr "Digevreañ"
7956
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
8260#: qml/Wizard/Pages/passcode-set.qml:32
8361msgid "Cancel"
8462msgstr "Nullañ"
8563
86−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8765msgctxt "Title: Reboot dialog"
8866msgid "Reboot"
8967msgstr "Adloc'hañ"
9068
91−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
9270msgid "Are you sure you want to reboot?"
9371msgstr "Ha sur oc'h e fell deoc'h adloc'hañ ?"
9472
95−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9674msgid "No"
9775msgstr "N'on ket"
9876
99−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
10078msgid "Yes"
10179msgstr "Ya"
10280
103−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10482msgctxt "Title: Power off/Restart dialog"
10583msgid "Power"
10684msgstr "Enaouiñ"
10785
108−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10987msgid ""
11088"Are you sure you would like\n"
11189"to power off?"
@@ -113,31 +91,31 @@ msgstr ""
11391"Ha sur oc'h e fell deoc'h\n"
11492"troc'hañ an tredan ?"
11593
116−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
11795msgctxt "Button: Power off the system"
11896msgid "Power off"
11997msgstr "Lazhañ"
12098
121−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
122100msgctxt "Button: Restart the system"
123101msgid "Restart"
124102msgstr "Adloc'hañ"
125103
126104#: qml/Components/KeyboardShortcutsOverlay.qml:41
127105msgid "Keyboard Shortcuts"
128−msgstr ""
106+msgstr "Berradennoù klavier"
129107
130108#: qml/Components/KeyboardShortcutsOverlay.qml:55
131109msgid "Unity 8"
132−msgstr ""
110+msgstr "Unity 8"
133111
134112#: qml/Components/KeyboardShortcutsOverlay.qml:62
135113msgid "PrtScr"
136−msgstr ""
114+msgstr "Moulsk"
137115
138116#: qml/Components/KeyboardShortcutsOverlay.qml:67
139117msgid "Takes a screenshot."
140−msgstr ""
118+msgstr "Tapout ur skeudenn eus ar skramm"
141119
142120#: qml/Components/KeyboardShortcutsOverlay.qml:75
143121msgid "Alt + PrtScr"
@@ -145,7 +123,7 @@ msgstr ""
145123
146124#: qml/Components/KeyboardShortcutsOverlay.qml:80
147125msgid "Takes a screenshot of a window."
148−msgstr ""
126+msgstr "Tapout ur skeudenn eus ur prenestr"
149127
150128#: qml/Components/KeyboardShortcutsOverlay.qml:88
151129msgid "Super + Space"
@@ -165,7 +143,7 @@ msgstr ""
165143
166144#: qml/Components/KeyboardShortcutsOverlay.qml:118
167145msgid "Launcher"
168−msgstr ""
146+msgstr "Lañser"
169147
170148#: qml/Components/KeyboardShortcutsOverlay.qml:125
171149msgid "Super (Hold)"
@@ -173,11 +151,11 @@ msgstr ""
173151
174152#: qml/Components/KeyboardShortcutsOverlay.qml:130
175153msgid "Opens the launcher, displays shortcuts."
176−msgstr ""
154+msgstr "Digeriñ al lañser, diskouez ar berradurioù"
177155
178156#: qml/Components/KeyboardShortcutsOverlay.qml:138
179157msgid "Alt + F1"
180−msgstr ""
158+msgstr "Erl + F1"
181159
182160#: qml/Components/KeyboardShortcutsOverlay.qml:143
183161msgid "Opens launcher keyboard navigation mode."
@@ -197,11 +175,11 @@ msgstr ""
197175
198176#: qml/Components/KeyboardShortcutsOverlay.qml:169
199177msgid "Same as clicking on a launcher icon."
200−msgstr ""
178+msgstr "Ar memes tra ha klikañ war un arlun lañser"
201179
202180#: qml/Components/KeyboardShortcutsOverlay.qml:181
203181msgid "Scopes"
204−msgstr ""
182+msgstr "Kefluskerioù enklask"
205183
206184#: qml/Components/KeyboardShortcutsOverlay.qml:188
207185msgid "Super (Tap)"
@@ -209,15 +187,15 @@ msgstr ""
209187
210188#: qml/Components/KeyboardShortcutsOverlay.qml:193
211189msgid "Opens the Scopes home."
212−msgstr ""
190+msgstr "Digeriñ pajenn degemer ar c'hefluskerioù enklask."
213191
214192#: qml/Components/KeyboardShortcutsOverlay.qml:209
215193msgid "Switching"
216−msgstr ""
194+msgstr "Cheñch"
217195
218196#: qml/Components/KeyboardShortcutsOverlay.qml:216
219197msgid "Alt + Tab"
220−msgstr ""
198+msgstr "Erl + Taolenn"
221199
222200#: qml/Components/KeyboardShortcutsOverlay.qml:221
223201msgid "Switches between applications."
@@ -241,7 +219,7 @@ msgstr ""
241219
242220#: qml/Components/KeyboardShortcutsOverlay.qml:259
243221msgid "Windows"
244−msgstr ""
222+msgstr "Windows"
245223
246224#: qml/Components/KeyboardShortcutsOverlay.qml:266
247225msgid "Ctrl + Super + D"
@@ -249,7 +227,7 @@ msgstr ""
249227
250228#: qml/Components/KeyboardShortcutsOverlay.qml:271
251229msgid "Minimizes all windows."
252−msgstr ""
230+msgstr "Bihanaat an holl brenestroù."
253231
254232#: qml/Components/KeyboardShortcutsOverlay.qml:279
255233msgid "Ctrl + Super + Up"
@@ -277,33 +255,33 @@ msgstr ""
277255
278256#: qml/Components/KeyboardShortcutsOverlay.qml:318
279257msgid "Alt + F4"
280−msgstr ""
258+msgstr "Erl + F4"
281259
282260#: qml/Components/KeyboardShortcutsOverlay.qml:323
283261msgid "Closes the current window."
284262msgstr ""
285263
286−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287265msgid "Return to Call"
288266msgstr "Distreiñ d'ar bellgomzadenn"
289267
290−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
291269msgid "Emergency Call"
292270msgstr "Pellgomzadenn vallus"
293271
294−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
295273msgid "OK"
296274msgstr "Mat eo"
297275
298276#: qml/Components/MediaServices/VideoPlayerControls.qml:44
299277#, qt-format
300278msgid "%1:%2:%3"
301−msgstr ""
279+msgstr "%1:%2:%3"
302280
303281#: qml/Components/MediaServices/VideoPlayerControls.qml:49
304282#, qt-format
305283msgid "%1:%2"
306−msgstr ""
284+msgstr "%1:%2"
307285
308286#: qml/Components/ModeSwitchWarningDialog.qml:32
309287msgid "Apps may have unsaved data:"
@@ -338,84 +316,84 @@ msgstr "Serriñ pep tra"
338316msgid "Preview Share Item"
339317msgstr "Rakwelet an elfenn lodet"
340318
341−#: qml/Dash/DashPageHeader.qml:333
319+#: qml/Dash/DashPageHeader.qml:361
342320msgctxt "Button: Open the Ubuntu Store"
343321msgid "Store"
344322msgstr "Stal"
345323
346−#: qml/Dash/DashPageHeader.qml:340
324+#: qml/Dash/DashPageHeader.qml:368
347325msgctxt "Button: Start a search in the current dash scope"
348326msgid "Search"
349327msgstr "Klask"
350328
351−#: qml/Dash/DashPageHeader.qml:350
329+#: qml/Dash/DashPageHeader.qml:378
352330msgctxt "Button: Show the current dash scope settings"
353331msgid "Settings"
354332msgstr "Arventennoù"
355333
356−#: qml/Dash/DashPageHeader.qml:357
334+#: qml/Dash/DashPageHeader.qml:385
357335msgid "Remove from Favorites"
358336msgstr "Lemel eus ar sinedoù"
359337
360−#: qml/Dash/DashPageHeader.qml:357
338+#: qml/Dash/DashPageHeader.qml:385
361339msgid "Add to Favorites"
362340msgstr "Ouzhpennañ d'ar sinedoù"
363341
364−#: qml/Dash/FiltersPopover.qml:60
342+#: qml/Dash/FiltersPopover.qml:61
365343msgid "Refine your results"
366344msgstr "Purañ ho tisoc'hoù"
367345
368−#: qml/Dash/FiltersPopover.qml:69
346+#: qml/Dash/FiltersPopover.qml:70
369347msgid "Reset"
370348msgstr "Adderaouekaat"
371349
372−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
350+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
373351msgid "Show less"
374−msgstr ""
352+msgstr "Diskouez nebeutoc'h"
375353
376−#: qml/Dash/GenericScopeView.qml:580
354+#: qml/Dash/GenericScopeView.qml:547
377355msgid "Show all"
378−msgstr ""
356+msgstr "Diskouez pep tra"
379357
380−#: qml/Dash/GenericScopeView.qml:637
358+#: qml/Dash/GenericScopeView.qml:578
381359msgctxt "Label: Hint for dash search line edit"
382360msgid "Search"
383361msgstr "Klask"
384362
385−#: qml/Dash/PageHeaderExtraPanel.qml:56
363+#: qml/Dash/PageHeaderExtraPanel.qml:67
386364msgid "Recent Searches"
387365msgstr "Enklaskoù graet nevez zo"
388366
389−#: qml/Dash/PageHeaderExtraPanel.qml:67
367+#: qml/Dash/PageHeaderExtraPanel.qml:78
390368msgid "Clear All"
391369msgstr "Diverkañ pep tra"
392370
393−#: qml/Dash/Previews/PreviewActionCombo.qml:35
371+#: qml/Dash/Previews/PreviewActionCombo.qml:36
394372msgid "More..."
395373msgstr "Muioc'h..."
396374
397−#: qml/Dash/Previews/PreviewActionCombo.qml:35
375+#: qml/Dash/Previews/PreviewActionCombo.qml:36
398376msgid "Less..."
399377msgstr "Nebeutoc'h..."
400378
401−#: qml/Dash/Previews/PreviewCommentInput.qml:68
402−#: qml/Dash/Previews/PreviewRatingInput.qml:175
379+#: qml/Dash/Previews/PreviewCommentInput.qml:83
380+#: qml/Dash/Previews/PreviewRatingInput.qml:202
403381msgid "Send"
404382msgstr "Kas"
405383
406−#: qml/Dash/Previews/PreviewRatingInput.qml:82
384+#: qml/Dash/Previews/PreviewRatingInput.qml:109
407385msgid "Rate this"
408386msgstr "Priziit an dra-mañ"
409387
410−#: qml/Dash/Previews/PreviewRatingInput.qml:157
388+#: qml/Dash/Previews/PreviewRatingInput.qml:184
411389msgid "Add a review"
412390msgstr "Ouzhpennañ un ali"
413391
414−#: qml/Dash/PullToRefreshScopeStyle.qml:55
392+#: qml/Dash/PullToRefreshScopeStyle.qml:56
415393msgid "Pull to refresh…"
416394msgstr "Tennañ evit freskaat..."
417395
418−#: qml/Dash/PullToRefreshScopeStyle.qml:60
396+#: qml/Dash/PullToRefreshScopeStyle.qml:61
419397msgid "Release to refresh…"
420398msgstr "Lezel da vont evit freskaat..."
421399
@@ -423,15 +401,15 @@ msgstr "Lezel da vont evit freskaat..."
423401msgid "Enable location data"
424402msgstr "Gweredekaat ar roadennoù lec'hiañ"
425403
426−#: qml/Dash/ScopesList.qml:55
404+#: qml/Dash/ScopesList.qml:57
427405msgid "Manage"
428406msgstr "Merañ"
429407
430−#: qml/Dash/ScopesList.qml:102
408+#: qml/Dash/ScopesList.qml:104
431409msgid "Home"
432410msgstr "Er gêr"
433411
434−#: qml/Dash/ScopesList.qml:103
412+#: qml/Dash/ScopesList.qml:105
435413msgid "Also installed"
436414msgstr "Staliet ivez"
437415
@@ -445,84 +423,56 @@ msgstr ""
445423msgid "Unlock"
446424msgstr "Dibrennañ"
447425
448−#: qml/Greeter/Greeter.qml:555
449−msgid "Try again"
426+#: qml/Greeter/DelayedLockscreen.qml:43
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."
450432msgstr ""
433+"Prennet eo bet ho penveg abalamour da re a daolioù-esae c'hwitet evit merkañ "
434+"ho frazenn-dremen."
451435
452−#: qml/Greeter/LoginList.qml:63
453−msgid "Passphrase"
436+#: qml/Greeter/DelayedLockscreen.qml:59
437+msgid "You have been locked out due to too many failed passcode attempts."
454438msgstr ""
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"
455456
456−#: qml/Greeter/LoginList.qml:64
457+#: qml/Greeter/LoginList.qml:71
457458msgid "Passcode"
458−msgstr ""
459+msgstr "Kod-tremen"
459460
460−#: qml/Greeter/LoginList.qml:87
461+#: qml/Greeter/LoginList.qml:98
461462msgid "Retry"
462463msgstr "Esaeañ en-dro"
463464
464−#: qml/Greeter/LoginList.qml:88
465+#: qml/Greeter/LoginList.qml:99
465466msgid "Log In"
466−msgstr ""
467−
468−#: qml/Greeter/NarrowView.qml:55
469−msgid "Sorry, incorrect passphrase."
470−msgstr "Siwazh, frazenn-dremen direizh"
467+msgstr "Kevreañ"
471468
472−#: qml/Greeter/NarrowView.qml:56
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 ""
482−"If passphrase is entered incorrectly, your phone will conduct a factory "
483−"reset and all personal data will be deleted."
469+#: qml/Greeter/NarrowView.qml:252
470+msgid "Emergency"
484471msgstr ""
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"
487472
488−#: qml/Greeter/NarrowView.qml:60
489−msgid ""
490−"If passcode is entered incorrectly, your phone will conduct a factory reset "
491−"and all personal data will be deleted."
473+#: qml/Greeter/SessionsList.qml:122
474+msgid "Select desktop environment"
492475msgstr ""
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"
526476
527477#: qml/Notifications/NotificationMenuItemFactory.qml:124
528478msgid "Show password"
@@ -536,62 +486,62 @@ msgstr "Touchit evit distreiñ d'ar bellgomzadenn..."
536486msgid "Conference"
537487msgstr "Kendiviz"
538488
539−#: qml/Panel/Indicators/MenuItemFactory.qml:762
489+#: qml/Panel/Indicators/MenuItemFactory.qml:847
540490msgid "Nothing is playing"
541491msgstr "Ne lenner netra bremañ"
542492
543−#: qml/Panel/Indicators/MenuItemFactory.qml:891
493+#: qml/Panel/Indicators/MenuItemFactory.qml:975
544494#, qt-format
545495msgid "%1 hour"
546496msgid_plural "%1 hours"
547497msgstr[0] "%1 eur"
548498msgstr[1] "%1 eur"
549499
550−#: qml/Panel/Indicators/MenuItemFactory.qml:895
500+#: qml/Panel/Indicators/MenuItemFactory.qml:979
551501#, qt-format
552502msgid "%1 minute"
553503msgid_plural "%1 minutes"
554504msgstr[0] "%1 vunutenn"
555505msgstr[1] "%1 vunutenn"
556506
557−#: qml/Panel/Indicators/MenuItemFactory.qml:900
507+#: qml/Panel/Indicators/MenuItemFactory.qml:984
558508#, qt-format
559509msgid "%1 second"
560510msgid_plural "%1 seconds"
561511msgstr[0] "%1 eilenn"
562512msgstr[1] "%1 eilenn"
563513
564−#: qml/Panel/Indicators/MenuItemFactory.qml:903
514+#: qml/Panel/Indicators/MenuItemFactory.qml:987
565515msgid "0 seconds"
566516msgstr "0 eilenn"
567517
568518#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
569−#: qml/Panel/Indicators/MenuItemFactory.qml:905
519+#: qml/Panel/Indicators/MenuItemFactory.qml:989
570520#, qt-format
571521msgid "%1 remaining"
572522msgstr "%1 o chom"
573523
574−#: qml/Panel/Indicators/MenuItemFactory.qml:911
524+#: qml/Panel/Indicators/MenuItemFactory.qml:995
575525msgid "In queue…"
576526msgstr "El lostennad..."
577527
578−#: qml/Panel/Indicators/MenuItemFactory.qml:915
528+#: qml/Panel/Indicators/MenuItemFactory.qml:999
579529msgid "Downloading"
580530msgstr "O pellgargañ"
581531
582−#: qml/Panel/Indicators/MenuItemFactory.qml:917
532+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
583533msgid "Paused, tap to resume"
584534msgstr "Ehanet, touchit evit adkregiñ"
585535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:919
536+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
587537msgid "Canceled"
588538msgstr "Nullet"
589539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:921
540+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
591541msgid "Finished"
592542msgstr "Echu"
593543
594−#: qml/Panel/Indicators/MenuItemFactory.qml:923
544+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
595545msgid "Failed, tap to retry"
596546msgstr "C'hwitet, touchit evit adkregiñ"
597547
@@ -611,7 +561,7 @@ msgctxt "Button: Call back on phone"
611561msgid "Call back"
612562msgstr "Gervel en-dro"
613563
614−#: qml/Stages/SideStage.qml:76
564+#: qml/Stage/SideStage.qml:76
615565msgid "Drag using 3 fingers any application from one window to the other"
616566msgstr ""
617567
@@ -626,6 +576,7 @@ msgstr ""
626576#: qml/Tutorial/TutorialRight.qml:55
627577msgid "Push your mouse against the right edge to view your open apps"
628578msgstr ""
579+"Dilec'hiit ho logodenn betek ar bord dehoù evit gwelet hoc'h arloadoù digor"
629580
630581#: qml/Tutorial/TutorialRight.qml:56
631582msgid "Swipe from the right edge to view your open apps"
@@ -640,40 +591,54 @@ msgctxt "Button: Go back one page in the Wizard"
640591msgid "Back"
641592msgstr "Distreiñ"
642593
643−#: qml/Wizard/Pages/10-welcome.qml:27
594+#: qml/Wizard/Pages/10-welcome.qml:28
644595msgid "Language"
645596msgstr "Yezh"
646597
647−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
648−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
649−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
598+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
601+#: qml/Wizard/Pages/70-passwd-type.qml:145
650602#: qml/Wizard/Pages/75-report-check.qml:84
651−#: qml/Wizard/Pages/passcode-desktop.qml:141
652−#: qml/Wizard/Pages/password-set.qml:141
603+#: qml/Wizard/Pages/passcode-desktop.qml:142
604+#: qml/Wizard/Pages/password-set.qml:142
653605msgid "Next"
654606msgstr "War-lerc'h"
655607
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
657627msgid "Connect to Wi‑Fi"
658628msgstr "Kevreañ ouzh ar Wi-Fi"
659629
660−#: qml/Wizard/Pages/30-wifi.qml:130
630+#: qml/Wizard/Pages/30-wifi.qml:132
661631msgid "Connected"
662632msgstr "Kevreet"
663633
664−#: qml/Wizard/Pages/30-wifi.qml:163
634+#: qml/Wizard/Pages/30-wifi.qml:165
665635msgid "Available Wi-Fi networks"
666636msgstr "Rouedadoù Wi-Fi da gaout"
667637
668−#: qml/Wizard/Pages/30-wifi.qml:164
638+#: qml/Wizard/Pages/30-wifi.qml:166
669639msgid "No available Wi-Fi networks"
670640msgstr "N'eus ket rouedadoù Wi-Fi da gaout"
671641
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−
677642#: qml/Wizard/Pages/40-location.qml:27
678643msgid "Location Services"
679644msgstr "Servijoù lec'hiañ"
@@ -704,13 +669,13 @@ msgstr "Arabat implijout ma lec'h"
704669
705670#: qml/Wizard/Pages/40-location.qml:260
706671msgid "You can change it later in System Settings."
707−msgstr ""
672+msgstr "Gallout a rit cheñch se diwezhatoc'h en arventennoù ar reizhiad."
708673
709−#: qml/Wizard/Pages/50-timezone.qml:29
674+#: qml/Wizard/Pages/50-timezone.qml:30
710675msgid "Time Zone"
711676msgstr "Gwerzhid-eur"
712677
713−#: qml/Wizard/Pages/50-timezone.qml:181
678+#: qml/Wizard/Pages/50-timezone.qml:182
714679msgid "Enter your city"
715680msgstr "Skrivit ho kêr"
716681
@@ -722,21 +687,21 @@ msgstr "Personelaat ho penveg"
722687msgid "Preferred Name"
723688msgstr ""
724689
725−#: qml/Wizard/Pages/70-passwd-type.qml:39
690+#: qml/Wizard/Pages/70-passwd-type.qml:40
726691msgid "Lock Screen"
727692msgstr "Prennañ ar skramm"
728693
729−#: qml/Wizard/Pages/70-passwd-type.qml:101
694+#: qml/Wizard/Pages/70-passwd-type.qml:102
730695msgctxt "Label: Type of security method"
731696msgid "Create new password"
732697msgstr "Krouiñ ur ger-tremen nevez"
733698
734−#: qml/Wizard/Pages/70-passwd-type.qml:103
699+#: qml/Wizard/Pages/70-passwd-type.qml:104
735700msgctxt "Label: Type of security method"
736701msgid "Create passcode (numbers only)"
737702msgstr "Krouiñ ur c'hod (difroù hepken)"
738703
739−#: qml/Wizard/Pages/70-passwd-type.qml:105
704+#: qml/Wizard/Pages/70-passwd-type.qml:106
740705msgctxt "Label: Type of security method"
741706msgid "No lock code"
742707msgstr "N'eus kod prennañ ebet"
@@ -757,6 +722,35 @@ msgstr ""
757722msgid "Privacy policy"
758723msgstr "Reolennoù buhez prevez"
759724
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+
760754#: qml/Wizard/Pages/80-finished.qml:89
761755msgid "Welcome to Ubuntu"
762756msgstr "Donemat en Ubuntu"
@@ -800,7 +794,7 @@ msgid "Service Terms"
800794msgstr "Divizoù servij"
801795
802796#: qml/Wizard/Pages/passcode-confirm.qml:43
803−#: qml/Wizard/Pages/passcode-desktop.qml:96
797+#: qml/Wizard/Pages/passcode-desktop.qml:97
804798msgid "Confirm passcode"
805799msgstr "Kadarnaat ar c'hod-tremen"
806800
@@ -813,28 +807,28 @@ msgctxt "Enter the passcode again"
813807msgid "Please re-enter."
814808msgstr "Skrivit adarre, mar plij."
815809
816−#: qml/Wizard/Pages/passcode-desktop.qml:30
810+#: qml/Wizard/Pages/passcode-desktop.qml:31
817811msgid "Lock Screen Passcode"
818812msgstr "Kod da brennañ ar skramm"
819813
820−#: qml/Wizard/Pages/passcode-desktop.qml:60
814+#: qml/Wizard/Pages/passcode-desktop.qml:61
821815msgid "Enter 4 numbers to setup your passcode"
822816msgstr "Skrivit 4 sifr evit lakaat ho kod"
823817
824−#: qml/Wizard/Pages/passcode-desktop.qml:76
818+#: qml/Wizard/Pages/passcode-desktop.qml:77
825819#: qml/Wizard/Pages/passcode-set.qml:54
826820msgid "Choose passcode"
827821msgstr "Choaz ur c'hod"
828822
829−#: qml/Wizard/Pages/passcode-desktop.qml:126
823+#: qml/Wizard/Pages/passcode-desktop.qml:127
830824msgid "Passcode too short"
831825msgstr "Kod re verr"
832826
833−#: qml/Wizard/Pages/passcode-desktop.qml:128
827+#: qml/Wizard/Pages/passcode-desktop.qml:129
834828msgid "Passcodes match"
835829msgstr "klotañ a ra ar c'hodoù an eil gant egile"
836830
837−#: qml/Wizard/Pages/passcode-desktop.qml:130
831+#: qml/Wizard/Pages/passcode-desktop.qml:131
838832msgid "Passcodes do not match"
839833msgstr "Ne glot ket ar c'hodoù an eil gant egile"
840834
@@ -842,19 +836,19 @@ msgstr "Ne glot ket ar c'hodoù an eil gant egile"
842836msgid "Passcode must be 4 characters long"
843837msgstr "4 arouezenn a rank bezañ ar c'hod"
844838
845−#: qml/Wizard/Pages/password-set.qml:30
839+#: qml/Wizard/Pages/password-set.qml:31
846840msgid "Lock Screen Password"
847841msgstr "Ger-tremen da brennañ ar skramm"
848842
849−#: qml/Wizard/Pages/password-set.qml:61
843+#: qml/Wizard/Pages/password-set.qml:62
850844msgid "Enter at least 8 characters"
851845msgstr "Skrivit 8 arouezenn da vihanañ"
852846
853−#: qml/Wizard/Pages/password-set.qml:73
847+#: qml/Wizard/Pages/password-set.qml:74
854848msgid "Choose password"
855849msgstr "Choaz ur ger-tremen"
856850
857−#: qml/Wizard/Pages/password-set.qml:103
851+#: qml/Wizard/Pages/password-set.qml:104
858852msgid "Confirm password"
859853msgstr "Kadarnaat ar ger-tremen"
860854
@@ -868,7 +862,7 @@ msgstr "Lakaet ez eus bet ur gartenn SIM"
868862
869863#: qml/Wizard/Pages/sim.qml:55
870864msgid "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."
872866
873867#: qml/Wizard/Pages/sim.qml:59
874868msgid "Restart"
@@ -876,7 +870,7 @@ msgstr "Adloc'hañ"
876870
877871#: qml/Wizard/Pages/sim.qml:78
878872msgid "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."
880874
881875#: qml/Wizard/Pages/sim.qml:90
882876msgid "To proceed with no SIM tap Skip."
@@ -884,7 +878,7 @@ msgstr ""
884878
885879#: qml/Wizard/PasswordMeter.qml:87
886880msgid "Password too short"
887−msgstr ""
881+msgstr "Re verr eo ar ger-tremen"
888882
889883#: qml/Wizard/PasswordMeter.qml:89
890884msgid "Passwords match"
@@ -985,6 +979,9 @@ msgstr "Ger-tremen diasur-kenañ"
985979#~ msgid "Done"
986980#~ msgstr "Graet eo"
987981
982+#~ msgid "Sorry, incorrect passphrase"
983+#~ msgstr "Siwazh, frazenn-dremen direizh"
984+
988985#~ msgid "All"
989986#~ msgstr "An holl anezho"
990987
@@ -997,6 +994,33 @@ msgstr "Ger-tremen diasur-kenañ"
997994#~ msgid "Favorites"
998995#~ msgstr "Gwellañ deuet"
999996
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+
10001024#~ msgid "Power"
10011025#~ msgstr "Tredan"
10021026
@@ -1015,12 +1039,25 @@ msgstr "Ger-tremen diasur-kenañ"
10151039#~ msgid "Settings"
10161040#~ msgstr "Arventennoù"
10171041
1042+#~ msgid "Sorry, incorrect passcode"
1043+#~ msgstr "Digarezit, kod-tremen direizh"
1044+
10181045#~ msgid "Manage Scopes"
10191046#~ msgstr "Merañ ar c'hefluskerioù enklask"
10201047
1048+#, qt-format
1049+#~ msgid "Enter %1"
1050+#~ msgstr "Merkañ %1"
1051+
1052+#~ msgid "Enter passphrase"
1053+#~ msgstr "Merkañ ar frazenn-dremen"
1054+
10211055#~ msgid "Please re-enter"
10221056#~ msgstr "Adverkañ, mar plij"
10231057
1058+#~ msgid "Enter passcode"
1059+#~ msgstr "Merkañ ar c'hod-tremen"
1060+
10241061#~ msgid "Lock security"
10251062#~ msgstr "Surentez ar prennañ"
10261063
@@ -1235,6 +1272,10 @@ msgstr "Ger-tremen diasur-kenañ"
12351272#~ msgid "Tomorrow %H:%M"
12361273#~ msgstr "Warc'hoazh %H:%M"
12371274
1275+#~ msgctxt "passphrase"
1276+#~ msgid "Please re-enter"
1277+#~ msgstr "Adverkañ, mar plij"
1278+
12381279#~ msgid "Call back"
12391280#~ msgstr "Gervel en-dro"
12401281
po/bs.po+212−172
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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"
1111"PO-Revision-Date: 2015-12-01 20:06+0000\n"
1212"Last-Translator: Kenan Gutić <Unknown>\n"
1313"Language-Team: Bosnian <bs@li.org>\n"
@@ -16,94 +16,75 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
1818"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
20−"X-Generator: Launchpad (build 18147)\n"
19+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
20+"X-Generator: Launchpad (build 18282)\n"
2121
2222#: plugins/LightDM/Greeter.cpp:123
2323msgid "Password: "
2424msgstr "Šifra: "
2525
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
2828msgid "Pin shortcut"
2929msgstr "Prikačite prečicu"
3030
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
3232msgid "Quit"
3333msgstr "Napusti"
3434
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
3636msgid "Unpin shortcut"
3737msgstr "Otkačite prečicu"
3838
39−#: qml/Components/DelayedLockscreen.qml:50
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
39+#: qml/Components/Dialogs.qml:149
6040msgctxt "Title: Lock/Log out dialog"
6141msgid "Log out"
6242msgstr "Odjavite se"
6343
64−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
6545msgid "Are you sure you want to log out?"
6646msgstr "Da li ste sigurni da se želite odjaviti?"
6747
68−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
6949msgctxt "Button: Lock the system"
7050msgid "Lock"
7151msgstr "Zaključaj"
7252
73−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
7454msgctxt "Button: Log out from the system"
7555msgid "Log Out"
7656msgstr "Odjavi se"
7757
78−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
79−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
8061#: qml/Wizard/Pages/passcode-set.qml:32
8162msgid "Cancel"
8263msgstr "Otkaži"
8364
84−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
8566msgctxt "Title: Reboot dialog"
8667msgid "Reboot"
8768msgstr "Ponovo pokreni"
8869
89−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
9071msgid "Are you sure you want to reboot?"
9172msgstr "Da li ste sigurni da želite ponovo pokrenuti?"
9273
93−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
9475msgid "No"
9576msgstr "Ne"
9677
97−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
9879msgid "Yes"
9980msgstr "Da"
10081
101−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
10283msgctxt "Title: Power off/Restart dialog"
10384msgid "Power"
10485msgstr "Napajanje"
10586
106−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
10788msgid ""
10889"Are you sure you would like\n"
10990"to power off?"
@@ -111,12 +92,12 @@ msgstr ""
11192"Da li ste sigurni da želite\n"
11293"isključiti?"
11394
114−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
11596msgctxt "Button: Power off the system"
11697msgid "Power off"
11798msgstr "Isključi"
11899
119−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
120101msgctxt "Button: Restart the system"
121102msgid "Restart"
122103msgstr "Restartuj"
@@ -281,15 +262,15 @@ msgstr ""
281262msgid "Closes the current window."
282263msgstr ""
283264
284−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
285266msgid "Return to Call"
286267msgstr "Povratak na Poziv"
287268
288−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
289270msgid "Emergency Call"
290271msgstr "Hitan Poziv"
291272
292−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
293274msgid "OK"
294275msgstr "U redu"
295276
@@ -335,84 +316,84 @@ msgstr "Zatvori sve"
335316msgid "Preview Share Item"
336317msgstr "Pogledaj stavku koja se dijeli"
337318
338−#: qml/Dash/DashPageHeader.qml:333
319+#: qml/Dash/DashPageHeader.qml:361
339320msgctxt "Button: Open the Ubuntu Store"
340321msgid "Store"
341322msgstr "Trgovina"
342323
343−#: qml/Dash/DashPageHeader.qml:340
324+#: qml/Dash/DashPageHeader.qml:368
344325msgctxt "Button: Start a search in the current dash scope"
345326msgid "Search"
346327msgstr "Pretraživanje"
347328
348−#: qml/Dash/DashPageHeader.qml:350
329+#: qml/Dash/DashPageHeader.qml:378
349330msgctxt "Button: Show the current dash scope settings"
350331msgid "Settings"
351332msgstr "Podešavanja"
352333
353−#: qml/Dash/DashPageHeader.qml:357
334+#: qml/Dash/DashPageHeader.qml:385
354335msgid "Remove from Favorites"
355336msgstr "Ukloni iz Omiljenih"
356337
357−#: qml/Dash/DashPageHeader.qml:357
338+#: qml/Dash/DashPageHeader.qml:385
358339msgid "Add to Favorites"
359340msgstr "Dodaj u Omiljene"
360341
361−#: qml/Dash/FiltersPopover.qml:60
342+#: qml/Dash/FiltersPopover.qml:61
362343msgid "Refine your results"
363344msgstr ""
364345
365−#: qml/Dash/FiltersPopover.qml:69
346+#: qml/Dash/FiltersPopover.qml:70
366347msgid "Reset"
367348msgstr ""
368349
369−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
350+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
370351msgid "Show less"
371352msgstr ""
372353
373−#: qml/Dash/GenericScopeView.qml:580
354+#: qml/Dash/GenericScopeView.qml:547
374355msgid "Show all"
375356msgstr ""
376357
377−#: qml/Dash/GenericScopeView.qml:637
358+#: qml/Dash/GenericScopeView.qml:578
378359msgctxt "Label: Hint for dash search line edit"
379360msgid "Search"
380361msgstr "Pretraži"
381362
382−#: qml/Dash/PageHeaderExtraPanel.qml:56
363+#: qml/Dash/PageHeaderExtraPanel.qml:67
383364msgid "Recent Searches"
384365msgstr ""
385366
386−#: qml/Dash/PageHeaderExtraPanel.qml:67
367+#: qml/Dash/PageHeaderExtraPanel.qml:78
387368msgid "Clear All"
388369msgstr ""
389370
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
371+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391372msgid "More..."
392373msgstr "Više..."
393374
394−#: qml/Dash/Previews/PreviewActionCombo.qml:35
375+#: qml/Dash/Previews/PreviewActionCombo.qml:36
395376msgid "Less..."
396377msgstr "Manje..."
397378
398−#: qml/Dash/Previews/PreviewCommentInput.qml:68
399−#: qml/Dash/Previews/PreviewRatingInput.qml:175
379+#: qml/Dash/Previews/PreviewCommentInput.qml:83
380+#: qml/Dash/Previews/PreviewRatingInput.qml:202
400381msgid "Send"
401382msgstr "Pošalji"
402383
403−#: qml/Dash/Previews/PreviewRatingInput.qml:82
384+#: qml/Dash/Previews/PreviewRatingInput.qml:109
404385msgid "Rate this"
405386msgstr "Ocijeni ovo"
406387
407−#: qml/Dash/Previews/PreviewRatingInput.qml:157
388+#: qml/Dash/Previews/PreviewRatingInput.qml:184
408389msgid "Add a review"
409390msgstr "Dodaj recenziju"
410391
411−#: qml/Dash/PullToRefreshScopeStyle.qml:55
392+#: qml/Dash/PullToRefreshScopeStyle.qml:56
412393msgid "Pull to refresh…"
413394msgstr "Povući za osvježavanje..."
414395
415−#: qml/Dash/PullToRefreshScopeStyle.qml:60
396+#: qml/Dash/PullToRefreshScopeStyle.qml:61
416397msgid "Release to refresh…"
417398msgstr "Pustiti za osvježavanje..."
418399
@@ -420,15 +401,15 @@ msgstr "Pustiti za osvježavanje..."
420401msgid "Enable location data"
421402msgstr "Omogućiti podatke o lokaciji"
422403
423−#: qml/Dash/ScopesList.qml:55
404+#: qml/Dash/ScopesList.qml:57
424405msgid "Manage"
425406msgstr "Upravljanje"
426407
427−#: qml/Dash/ScopesList.qml:102
408+#: qml/Dash/ScopesList.qml:104
428409msgid "Home"
429410msgstr "Početna"
430411
431−#: qml/Dash/ScopesList.qml:103
412+#: qml/Dash/ScopesList.qml:105
432413msgid "Also installed"
433414msgstr "Također instalirano"
434415
@@ -442,84 +423,53 @@ msgstr ""
442423msgid "Unlock"
443424msgstr "Otključaj"
444425
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
446447msgid "Try again"
447448msgstr ""
448449
449−#: qml/Greeter/LoginList.qml:63
450+#: qml/Greeter/LoginList.qml:70
450451msgid "Passphrase"
451452msgstr ""
452453
453−#: qml/Greeter/LoginList.qml:64
454+#: qml/Greeter/LoginList.qml:71
454455msgid "Passcode"
455456msgstr ""
456457
457−#: qml/Greeter/LoginList.qml:87
458+#: qml/Greeter/LoginList.qml:98
458459msgid "Retry"
459460msgstr "Ponovi"
460461
461−#: qml/Greeter/LoginList.qml:88
462+#: qml/Greeter/LoginList.qml:99
462463msgid "Log In"
463464msgstr ""
464465
465−#: qml/Greeter/NarrowView.qml:55
466−msgid "Sorry, incorrect passphrase."
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."
466+#: qml/Greeter/NarrowView.qml:252
467+msgid "Emergency"
481468msgstr ""
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."
484469
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."
470+#: qml/Greeter/SessionsList.qml:122
471+msgid "Select desktop environment"
489472msgstr ""
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"
523473
524474#: qml/Notifications/NotificationMenuItemFactory.qml:124
525475msgid "Show password"
@@ -533,11 +483,11 @@ msgstr "Kucnite da uzvratite poziv..."
533483msgid "Conference"
534484msgstr "Savjetovanje"
535485
536−#: qml/Panel/Indicators/MenuItemFactory.qml:762
486+#: qml/Panel/Indicators/MenuItemFactory.qml:847
537487msgid "Nothing is playing"
538488msgstr "Ništa nije pokrenuto"
539489
540−#: qml/Panel/Indicators/MenuItemFactory.qml:891
490+#: qml/Panel/Indicators/MenuItemFactory.qml:975
541491#, qt-format
542492msgid "%1 hour"
543493msgid_plural "%1 hours"
@@ -545,7 +495,7 @@ msgstr[0] "%1 sat"
545495msgstr[1] "%1 sata"
546496msgstr[2] "%1 sati"
547497
548−#: qml/Panel/Indicators/MenuItemFactory.qml:895
498+#: qml/Panel/Indicators/MenuItemFactory.qml:979
549499#, qt-format
550500msgid "%1 minute"
551501msgid_plural "%1 minutes"
@@ -553,7 +503,7 @@ msgstr[0] "%1 minut"
553503msgstr[1] "%1 minuta"
554504msgstr[2] "%1 minuta"
555505
556−#: qml/Panel/Indicators/MenuItemFactory.qml:900
506+#: qml/Panel/Indicators/MenuItemFactory.qml:984
557507#, qt-format
558508msgid "%1 second"
559509msgid_plural "%1 seconds"
@@ -561,37 +511,37 @@ msgstr[0] "%1 sekunda"
561511msgstr[1] "%1 sekunde"
562512msgstr[2] "%1 sekundi"
563513
564−#: qml/Panel/Indicators/MenuItemFactory.qml:903
514+#: qml/Panel/Indicators/MenuItemFactory.qml:987
565515msgid "0 seconds"
566516msgstr "0 sekundi"
567517
568518#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
569−#: qml/Panel/Indicators/MenuItemFactory.qml:905
519+#: qml/Panel/Indicators/MenuItemFactory.qml:989
570520#, qt-format
571521msgid "%1 remaining"
572522msgstr "%1 preostalo"
573523
574−#: qml/Panel/Indicators/MenuItemFactory.qml:911
524+#: qml/Panel/Indicators/MenuItemFactory.qml:995
575525msgid "In queue…"
576526msgstr "U red..."
577527
578−#: qml/Panel/Indicators/MenuItemFactory.qml:915
528+#: qml/Panel/Indicators/MenuItemFactory.qml:999
579529msgid "Downloading"
580530msgstr "Preuzimanje"
581531
582−#: qml/Panel/Indicators/MenuItemFactory.qml:917
532+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
583533msgid "Paused, tap to resume"
584534msgstr "Pauzirano, kucnuti za nastavak"
585535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:919
536+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
587537msgid "Canceled"
588538msgstr "Otkazano"
589539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:921
540+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
591541msgid "Finished"
592542msgstr "Završeno"
593543
594−#: qml/Panel/Indicators/MenuItemFactory.qml:923
544+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
595545msgid "Failed, tap to retry"
596546msgstr "Neuspjelo, kucnuti za ponavljanje"
597547
@@ -611,7 +561,7 @@ msgctxt "Button: Call back on phone"
611561msgid "Call back"
612562msgstr "Uzvrati poziv"
613563
614−#: qml/Stages/SideStage.qml:76
564+#: qml/Stage/SideStage.qml:76
615565msgid "Drag using 3 fingers any application from one window to the other"
616566msgstr ""
617567
@@ -640,40 +590,54 @@ msgctxt "Button: Go back one page in the Wizard"
640590msgid "Back"
641591msgstr "Nazad"
642592
643−#: qml/Wizard/Pages/10-welcome.qml:27
593+#: qml/Wizard/Pages/10-welcome.qml:28
644594msgid "Language"
645595msgstr ""
646596
647−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
648−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
649−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
597+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
600+#: qml/Wizard/Pages/70-passwd-type.qml:145
650601#: qml/Wizard/Pages/75-report-check.qml:84
651−#: qml/Wizard/Pages/passcode-desktop.qml:141
652−#: qml/Wizard/Pages/password-set.qml:141
602+#: qml/Wizard/Pages/passcode-desktop.qml:142
603+#: qml/Wizard/Pages/password-set.qml:142
653604msgid "Next"
654605msgstr ""
655606
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
657626msgid "Connect to Wi‑Fi"
658627msgstr "Povezati na Wi-Fi"
659628
660−#: qml/Wizard/Pages/30-wifi.qml:130
629+#: qml/Wizard/Pages/30-wifi.qml:132
661630msgid "Connected"
662631msgstr ""
663632
664−#: qml/Wizard/Pages/30-wifi.qml:163
633+#: qml/Wizard/Pages/30-wifi.qml:165
665634msgid "Available Wi-Fi networks"
666635msgstr ""
667636
668−#: qml/Wizard/Pages/30-wifi.qml:164
637+#: qml/Wizard/Pages/30-wifi.qml:166
669638msgid "No available Wi-Fi networks"
670639msgstr ""
671640
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−
677641#: qml/Wizard/Pages/40-location.qml:27
678642msgid "Location Services"
679643msgstr ""
@@ -706,11 +670,11 @@ msgstr ""
706670msgid "You can change it later in System Settings."
707671msgstr ""
708672
709−#: qml/Wizard/Pages/50-timezone.qml:29
673+#: qml/Wizard/Pages/50-timezone.qml:30
710674msgid "Time Zone"
711675msgstr ""
712676
713−#: qml/Wizard/Pages/50-timezone.qml:181
677+#: qml/Wizard/Pages/50-timezone.qml:182
714678msgid "Enter your city"
715679msgstr ""
716680
@@ -722,21 +686,21 @@ msgstr ""
722686msgid "Preferred Name"
723687msgstr ""
724688
725−#: qml/Wizard/Pages/70-passwd-type.qml:39
689+#: qml/Wizard/Pages/70-passwd-type.qml:40
726690msgid "Lock Screen"
727691msgstr ""
728692
729−#: qml/Wizard/Pages/70-passwd-type.qml:101
693+#: qml/Wizard/Pages/70-passwd-type.qml:102
730694msgctxt "Label: Type of security method"
731695msgid "Create new password"
732696msgstr ""
733697
734−#: qml/Wizard/Pages/70-passwd-type.qml:103
698+#: qml/Wizard/Pages/70-passwd-type.qml:104
735699msgctxt "Label: Type of security method"
736700msgid "Create passcode (numbers only)"
737701msgstr ""
738702
739−#: qml/Wizard/Pages/70-passwd-type.qml:105
703+#: qml/Wizard/Pages/70-passwd-type.qml:106
740704msgctxt "Label: Type of security method"
741705msgid "No lock code"
742706msgstr ""
@@ -757,6 +721,35 @@ msgstr ""
757721msgid "Privacy policy"
758722msgstr ""
759723
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+
760753#: qml/Wizard/Pages/80-finished.qml:89
761754msgid "Welcome to Ubuntu"
762755msgstr ""
@@ -800,7 +793,7 @@ msgid "Service Terms"
800793msgstr ""
801794
802795#: qml/Wizard/Pages/passcode-confirm.qml:43
803−#: qml/Wizard/Pages/passcode-desktop.qml:96
796+#: qml/Wizard/Pages/passcode-desktop.qml:97
804797msgid "Confirm passcode"
805798msgstr "Potvrdi pristupni kod"
806799
@@ -813,28 +806,28 @@ msgctxt "Enter the passcode again"
813806msgid "Please re-enter."
814807msgstr ""
815808
816−#: qml/Wizard/Pages/passcode-desktop.qml:30
809+#: qml/Wizard/Pages/passcode-desktop.qml:31
817810msgid "Lock Screen Passcode"
818811msgstr ""
819812
820−#: qml/Wizard/Pages/passcode-desktop.qml:60
813+#: qml/Wizard/Pages/passcode-desktop.qml:61
821814msgid "Enter 4 numbers to setup your passcode"
822815msgstr ""
823816
824−#: qml/Wizard/Pages/passcode-desktop.qml:76
817+#: qml/Wizard/Pages/passcode-desktop.qml:77
825818#: qml/Wizard/Pages/passcode-set.qml:54
826819msgid "Choose passcode"
827820msgstr ""
828821
829−#: qml/Wizard/Pages/passcode-desktop.qml:126
822+#: qml/Wizard/Pages/passcode-desktop.qml:127
830823msgid "Passcode too short"
831824msgstr ""
832825
833−#: qml/Wizard/Pages/passcode-desktop.qml:128
826+#: qml/Wizard/Pages/passcode-desktop.qml:129
834827msgid "Passcodes match"
835828msgstr ""
836829
837−#: qml/Wizard/Pages/passcode-desktop.qml:130
830+#: qml/Wizard/Pages/passcode-desktop.qml:131
838831msgid "Passcodes do not match"
839832msgstr ""
840833
@@ -842,19 +835,19 @@ msgstr ""
842835msgid "Passcode must be 4 characters long"
843836msgstr ""
844837
845−#: qml/Wizard/Pages/password-set.qml:30
838+#: qml/Wizard/Pages/password-set.qml:31
846839msgid "Lock Screen Password"
847840msgstr ""
848841
849−#: qml/Wizard/Pages/password-set.qml:61
842+#: qml/Wizard/Pages/password-set.qml:62
850843msgid "Enter at least 8 characters"
851844msgstr ""
852845
853−#: qml/Wizard/Pages/password-set.qml:73
846+#: qml/Wizard/Pages/password-set.qml:74
854847msgid "Choose password"
855848msgstr ""
856849
857−#: qml/Wizard/Pages/password-set.qml:103
850+#: qml/Wizard/Pages/password-set.qml:104
858851msgid "Confirm password"
859852msgstr ""
860853
@@ -938,9 +931,52 @@ msgstr ""
938931#~ msgid "Tap to unlock"
939932#~ msgstr "Kucnite za otključavanje"
940933
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+
941954#~ msgid "Please re-enter"
942955#~ msgstr "Molimo ponovo unesite"
943956
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+
944980#~ msgid "This action does different things for different apps"
945981#~ msgstr "Ova radnja čini različite stvari za različite aplikacije"
946982
@@ -1123,3 +1159,7 @@ msgstr ""
11231159#~ msgctxt "Button: Reboot the system"
11241160#~ msgid "Reboot"
11251161#~ 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 ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
11−"PO-Revision-Date: 2015-07-04 09:48+0000\n"
12−"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11+"PO-Revision-Date: 2016-11-11 06:30+0000\n"
12+"Last-Translator: Walter Garcia-Fontes <walter.garcia@upf.edu>\n"
1313"Language-Team: Catalan <ca@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr "Contrasenya: "
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr "Enganxa la drecera"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr "Surt"
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr "Desenganxa la drecera"
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
6239msgctxt "Title: Lock/Log out dialog"
6340msgid "Log out"
6441msgstr "Surt"
6542
66−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6744msgid "Are you sure you want to log out?"
6845msgstr "Segur que voleu sortir?"
6946
70−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
7148msgctxt "Button: Lock the system"
7249msgid "Lock"
7350msgstr "Bloca"
7451
75−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7653msgctxt "Button: Log out from the system"
7754msgid "Log Out"
7855msgstr "Surt"
7956
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
8260#: qml/Wizard/Pages/passcode-set.qml:32
8361msgid "Cancel"
8462msgstr "Cancel·la"
8563
86−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8765msgctxt "Title: Reboot dialog"
8866msgid "Reboot"
8967msgstr "Reinicia"
9068
91−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
9270msgid "Are you sure you want to reboot?"
9371msgstr "Segur que voleu reiniciar?"
9472
95−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9674msgid "No"
9775msgstr "No"
9876
99−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
10078msgid "Yes"
10179msgstr "Sí"
10280
103−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10482msgctxt "Title: Power off/Restart dialog"
10583msgid "Power"
10684msgstr "Energia"
10785
108−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10987msgid ""
11088"Are you sure you would like\n"
11189"to power off?"
@@ -113,197 +91,197 @@ msgstr ""
11391"Segur que voleu\n"
11492"apagar?"
11593
116−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
11795msgctxt "Button: Power off the system"
11896msgid "Power off"
11997msgstr "Apaga"
12098
121−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
122100msgctxt "Button: Restart the system"
123101msgid "Restart"
124102msgstr "Reinicia"
125103
126104#: qml/Components/KeyboardShortcutsOverlay.qml:41
127105msgid "Keyboard Shortcuts"
128−msgstr ""
106+msgstr "Dreceres de teclat"
129107
130108#: qml/Components/KeyboardShortcutsOverlay.qml:55
131109msgid "Unity 8"
132−msgstr ""
110+msgstr "Unity 8"
133111
134112#: qml/Components/KeyboardShortcutsOverlay.qml:62
135113msgid "PrtScr"
136−msgstr ""
114+msgstr "ImprPant"
137115
138116#: qml/Components/KeyboardShortcutsOverlay.qml:67
139117msgid "Takes a screenshot."
140−msgstr ""
118+msgstr "Crea una captura de pantalla"
141119
142120#: qml/Components/KeyboardShortcutsOverlay.qml:75
143121msgid "Alt + PrtScr"
144−msgstr ""
122+msgstr "Alt + ImprPant"
145123
146124#: qml/Components/KeyboardShortcutsOverlay.qml:80
147125msgid "Takes a screenshot of a window."
148−msgstr ""
126+msgstr "Crea una captura de pantalla d'una finestra"
149127
150128#: qml/Components/KeyboardShortcutsOverlay.qml:88
151129msgid "Super + Space"
152−msgstr ""
130+msgstr "Super + Espai"
153131
154132#: qml/Components/KeyboardShortcutsOverlay.qml:93
155133msgid "Switches to next keyboard layout."
156−msgstr ""
134+msgstr "Canvia a la següent disposició de teclat."
157135
158136#: qml/Components/KeyboardShortcutsOverlay.qml:101
159137msgid "Super + Shift + Space"
160−msgstr ""
138+msgstr "Super + Maj + Espai"
161139
162140#: qml/Components/KeyboardShortcutsOverlay.qml:106
163141msgid "Switches to previous keyboard layout."
164−msgstr ""
142+msgstr "Canvia a la disposició prèvia de teclat."
165143
166144#: qml/Components/KeyboardShortcutsOverlay.qml:118
167145msgid "Launcher"
168−msgstr ""
146+msgstr "Llançador"
169147
170148#: qml/Components/KeyboardShortcutsOverlay.qml:125
171149msgid "Super (Hold)"
172−msgstr ""
150+msgstr "Super (Mantingut)"
173151
174152#: qml/Components/KeyboardShortcutsOverlay.qml:130
175153msgid "Opens the launcher, displays shortcuts."
176−msgstr ""
154+msgstr "Obre el llançador, mostre les dreceres."
177155
178156#: qml/Components/KeyboardShortcutsOverlay.qml:138
179157msgid "Alt + F1"
180−msgstr ""
158+msgstr "Alt + F1"
181159
182160#: qml/Components/KeyboardShortcutsOverlay.qml:143
183161msgid "Opens launcher keyboard navigation mode."
184−msgstr ""
162+msgstr "Obre el mode de navegació de teclat del llançador."
185163
186164#: qml/Components/KeyboardShortcutsOverlay.qml:151
187165msgid "Super + Tab"
188−msgstr ""
166+msgstr "Super + Tab"
189167
190168#: qml/Components/KeyboardShortcutsOverlay.qml:156
191169msgid "Switches applications via the launcher."
192−msgstr ""
170+msgstr "Commuta les aplicacions mitjançant el llançador."
193171
194172#: qml/Components/KeyboardShortcutsOverlay.qml:164
195173msgid "Super + 0 to 9"
196−msgstr ""
174+msgstr "Super + 0 a 9"
197175
198176#: qml/Components/KeyboardShortcutsOverlay.qml:169
199177msgid "Same as clicking on a launcher icon."
200−msgstr ""
178+msgstr "El mateix que clicar sobre una icona del llançador."
201179
202180#: qml/Components/KeyboardShortcutsOverlay.qml:181
203181msgid "Scopes"
204−msgstr ""
182+msgstr "Lents"
205183
206184#: qml/Components/KeyboardShortcutsOverlay.qml:188
207185msgid "Super (Tap)"
208−msgstr ""
186+msgstr "Super (Toc)"
209187
210188#: qml/Components/KeyboardShortcutsOverlay.qml:193
211189msgid "Opens the Scopes home."
212−msgstr ""
190+msgstr "Obre la pàgina d'inici dels lents."
213191
214192#: qml/Components/KeyboardShortcutsOverlay.qml:209
215193msgid "Switching"
216−msgstr ""
194+msgstr "Commutació"
217195
218196#: qml/Components/KeyboardShortcutsOverlay.qml:216
219197msgid "Alt + Tab"
220−msgstr ""
198+msgstr "Alt + Tab"
221199
222200#: qml/Components/KeyboardShortcutsOverlay.qml:221
223201msgid "Switches between applications."
224−msgstr ""
202+msgstr "Commuta entre aplicacions."
225203
226204#: qml/Components/KeyboardShortcutsOverlay.qml:229
227205msgid "Super + W"
228−msgstr ""
206+msgstr "Super + W"
229207
230208#: qml/Components/KeyboardShortcutsOverlay.qml:234
231209msgid "Opens the desktop spread."
232−msgstr ""
210+msgstr "Obre la distribució de l'escriptori."
233211
234212#: qml/Components/KeyboardShortcutsOverlay.qml:242
235213msgid "Cursor Left or Right"
236−msgstr ""
214+msgstr "Cursor dreta o esquerra"
237215
238216#: qml/Components/KeyboardShortcutsOverlay.qml:247
239217msgid "Moves the focus."
240−msgstr ""
218+msgstr "Mou el focus"
241219
242220#: qml/Components/KeyboardShortcutsOverlay.qml:259
243221msgid "Windows"
244−msgstr ""
222+msgstr "Finestres"
245223
246224#: qml/Components/KeyboardShortcutsOverlay.qml:266
247225msgid "Ctrl + Super + D"
248−msgstr ""
226+msgstr "Ctrl + Super + D"
249227
250228#: qml/Components/KeyboardShortcutsOverlay.qml:271
251229msgid "Minimizes all windows."
252−msgstr ""
230+msgstr "Minimitza totes les finestres."
253231
254232#: qml/Components/KeyboardShortcutsOverlay.qml:279
255233msgid "Ctrl + Super + Up"
256−msgstr ""
234+msgstr "Ctrl + Super + Amunt"
257235
258236#: qml/Components/KeyboardShortcutsOverlay.qml:284
259237msgid "Maximizes the current window."
260−msgstr ""
238+msgstr "Maximitza la finestra actual."
261239
262240#: qml/Components/KeyboardShortcutsOverlay.qml:292
263241msgid "Ctrl + Super + Down"
264−msgstr ""
242+msgstr "Ctrl + Super + Avall"
265243
266244#: qml/Components/KeyboardShortcutsOverlay.qml:297
267245msgid "Minimizes or restores the current window."
268−msgstr ""
246+msgstr "Minimitza o restaura la finestra actual."
269247
270248#: qml/Components/KeyboardShortcutsOverlay.qml:305
271249msgid "Ctrl + Super + Left or Right"
272−msgstr ""
250+msgstr "Ctrl + Super + Esquerra o Dreta"
273251
274252#: qml/Components/KeyboardShortcutsOverlay.qml:310
275253msgid "Semi-maximizes the current window."
276−msgstr ""
254+msgstr "Semi-maximitza la finestra actual."
277255
278256#: qml/Components/KeyboardShortcutsOverlay.qml:318
279257msgid "Alt + F4"
280−msgstr ""
258+msgstr "Alt + F4"
281259
282260#: qml/Components/KeyboardShortcutsOverlay.qml:323
283261msgid "Closes the current window."
284−msgstr ""
262+msgstr "Tanca la finestra actual."
285263
286−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287265msgid "Return to Call"
288266msgstr "Torna a la trucada"
289267
290−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
291269msgid "Emergency Call"
292270msgstr "Trucada d'emergència"
293271
294−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
295273msgid "OK"
296274msgstr "D'acord"
297275
298276#: qml/Components/MediaServices/VideoPlayerControls.qml:44
299277#, qt-format
300278msgid "%1:%2:%3"
301−msgstr ""
279+msgstr "%1:%2:%3"
302280
303281#: qml/Components/MediaServices/VideoPlayerControls.qml:49
304282#, qt-format
305283msgid "%1:%2"
306−msgstr ""
284+msgstr "%1:%2"
307285
308286#: qml/Components/ModeSwitchWarningDialog.qml:32
309287msgid "Apps may have unsaved data:"
@@ -337,84 +315,84 @@ msgstr "Tanca-ho tot"
337315msgid "Preview Share Item"
338316msgstr "Previsualitzeu l'element a compartir"
339317
340−#: qml/Dash/DashPageHeader.qml:333
318+#: qml/Dash/DashPageHeader.qml:361
341319msgctxt "Button: Open the Ubuntu Store"
342320msgid "Store"
343321msgstr "Botiga"
344322
345−#: qml/Dash/DashPageHeader.qml:340
323+#: qml/Dash/DashPageHeader.qml:368
346324msgctxt "Button: Start a search in the current dash scope"
347325msgid "Search"
348326msgstr "Cerca"
349327
350−#: qml/Dash/DashPageHeader.qml:350
328+#: qml/Dash/DashPageHeader.qml:378
351329msgctxt "Button: Show the current dash scope settings"
352330msgid "Settings"
353331msgstr "Paràmetres"
354332
355−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
356334msgid "Remove from Favorites"
357335msgstr "Suprimeix dels preferits"
358336
359−#: qml/Dash/DashPageHeader.qml:357
337+#: qml/Dash/DashPageHeader.qml:385
360338msgid "Add to Favorites"
361339msgstr "Afegeix als preferits"
362340
363−#: qml/Dash/FiltersPopover.qml:60
341+#: qml/Dash/FiltersPopover.qml:61
364342msgid "Refine your results"
365343msgstr "Refineu els resultats"
366344
367−#: qml/Dash/FiltersPopover.qml:69
345+#: qml/Dash/FiltersPopover.qml:70
368346msgid "Reset"
369347msgstr "Restableix"
370348
371−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
349+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
372350msgid "Show less"
373−msgstr ""
351+msgstr "Mostra menys"
374352
375−#: qml/Dash/GenericScopeView.qml:580
353+#: qml/Dash/GenericScopeView.qml:547
376354msgid "Show all"
377−msgstr ""
355+msgstr "Mostra-ho tot"
378356
379−#: qml/Dash/GenericScopeView.qml:637
357+#: qml/Dash/GenericScopeView.qml:578
380358msgctxt "Label: Hint for dash search line edit"
381359msgid "Search"
382360msgstr "Cerca"
383361
384−#: qml/Dash/PageHeaderExtraPanel.qml:56
362+#: qml/Dash/PageHeaderExtraPanel.qml:67
385363msgid "Recent Searches"
386364msgstr "Cerques recents"
387365
388−#: qml/Dash/PageHeaderExtraPanel.qml:67
366+#: qml/Dash/PageHeaderExtraPanel.qml:78
389367msgid "Clear All"
390368msgstr "Neteja-ho tot"
391369
392−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
393371msgid "More..."
394372msgstr "Més..."
395373
396−#: qml/Dash/Previews/PreviewActionCombo.qml:35
374+#: qml/Dash/Previews/PreviewActionCombo.qml:36
397375msgid "Less..."
398376msgstr "Menys..."
399377
400−#: qml/Dash/Previews/PreviewCommentInput.qml:68
401−#: qml/Dash/Previews/PreviewRatingInput.qml:175
378+#: qml/Dash/Previews/PreviewCommentInput.qml:83
379+#: qml/Dash/Previews/PreviewRatingInput.qml:202
402380msgid "Send"
403381msgstr "Envia"
404382
405−#: qml/Dash/Previews/PreviewRatingInput.qml:82
383+#: qml/Dash/Previews/PreviewRatingInput.qml:109
406384msgid "Rate this"
407385msgstr "Puntueu-ho"
408386
409−#: qml/Dash/Previews/PreviewRatingInput.qml:157
387+#: qml/Dash/Previews/PreviewRatingInput.qml:184
410388msgid "Add a review"
411389msgstr "Afegiu una ressenya"
412390
413−#: qml/Dash/PullToRefreshScopeStyle.qml:55
391+#: qml/Dash/PullToRefreshScopeStyle.qml:56
414392msgid "Pull to refresh…"
415393msgstr "Estireu per actualitzar..."
416394
417−#: qml/Dash/PullToRefreshScopeStyle.qml:60
395+#: qml/Dash/PullToRefreshScopeStyle.qml:61
418396msgid "Release to refresh…"
419397msgstr "Deixeu anar per actualitzar..."
420398
@@ -422,15 +400,15 @@ msgstr "Deixeu anar per actualitzar..."
422400msgid "Enable location data"
423401msgstr "Habilita les dades d'ubicació"
424402
425−#: qml/Dash/ScopesList.qml:55
403+#: qml/Dash/ScopesList.qml:57
426404msgid "Manage"
427405msgstr "Gestiona"
428406
429−#: qml/Dash/ScopesList.qml:102
407+#: qml/Dash/ScopesList.qml:104
430408msgid "Home"
431409msgstr "Inici"
432410
433−#: qml/Dash/ScopesList.qml:103
411+#: qml/Dash/ScopesList.qml:105
434412msgid "Also installed"
435413msgstr "També instal·lat"
436414
@@ -446,86 +424,56 @@ msgstr ""
446424msgid "Unlock"
447425msgstr "Desbloca"
448426
449−#: qml/Greeter/Greeter.qml:555
450−msgid "Try again"
451−msgstr ""
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."
427+#: qml/Greeter/DelayedLockscreen.qml:43
428+msgid "Device Locked"
429+msgstr "Dispositiu bloquejat"
480430
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."
431+#: qml/Greeter/DelayedLockscreen.qml:58
432+msgid "You have been locked out due to too many failed passphrase attempts."
485433msgstr ""
486−"Si la contrasenya s'introdueix de manera incorrecta, el telèfon es "
487−"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
488−"personals."
434+"Se us ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
435+"d'intents d'introducció de la contrasenya."
489436
490−#: qml/Greeter/NarrowView.qml:60
491−msgid ""
492−"If passcode is entered incorrectly, your phone will conduct a factory reset "
493−"and all personal data will be deleted."
437+#: qml/Greeter/DelayedLockscreen.qml:59
438+msgid "You have been locked out due to too many failed passcode attempts."
494439msgstr ""
495−"Si el codi d'accés s'introdueix de manera incorrecta, el telèfon es "
496−"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
497−"personals."
440+"Se us ha bloquejat l'accés al dispositiu. Heu sobrepassat el nombre "
441+"d'intents d'introducció del codi d'accés."
498442
499−#: qml/Greeter/NarrowView.qml:129
443+#: qml/Greeter/DelayedLockscreen.qml:68
500444#, qt-format
501−msgid "Enter %1"
502−msgstr "Introduïu: %1"
445+msgid "Please wait %1 minute and then try again…"
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..."
503449
504−#: qml/Greeter/NarrowView.qml:130
505−msgid "Enter passphrase"
506−msgstr "Introduïu la contrasenya"
450+#: qml/Greeter/Greeter.qml:596
451+msgid "Try again"
452+msgstr "Torna-ho a provar"
507453
508−#: qml/Greeter/NarrowView.qml:131
509−msgid "Enter passcode"
510−msgstr "Introduïu el codi d'accés"
454+#: qml/Greeter/LoginList.qml:70
455+msgid "Passphrase"
456+msgstr "Contrasenya"
511457
512−#: qml/Greeter/NarrowView.qml:135
513−#, qt-format
514−msgid "Sorry, incorrect %1"
515−msgstr "Incorrecte (%1)"
458+#: qml/Greeter/LoginList.qml:71
459+msgid "Passcode"
460+msgstr "Codi d'accés"
516461
517−#: qml/Greeter/NarrowView.qml:136
518−msgid "Sorry, incorrect passphrase"
519−msgstr "La contrasenya no és correcta"
462+#: qml/Greeter/LoginList.qml:98
463+msgid "Retry"
464+msgstr "Torna-ho a provar"
520465
521−#: qml/Greeter/NarrowView.qml:137
522−msgctxt "passphrase"
523−msgid "Please re-enter"
524−msgstr "Torneu-ho a introduir"
466+#: qml/Greeter/LoginList.qml:99
467+msgid "Log In"
468+msgstr "Inici de sessió"
525469
526−#: qml/Greeter/NarrowView.qml:138
527−msgid "Sorry, incorrect passcode"
528−msgstr "El codi d'accés no és correcte"
470+#: qml/Greeter/NarrowView.qml:252
471+msgid "Emergency"
472+msgstr "Emergència"
473+
474+#: qml/Greeter/SessionsList.qml:122
475+msgid "Select desktop environment"
476+msgstr "Seleccioneu l'entorn d'escriptori"
529477
530478#: qml/Notifications/NotificationMenuItemFactory.qml:124
531479msgid "Show password"
@@ -539,62 +487,62 @@ msgstr "Feu un toc per tornar a la trucada..."
539487msgid "Conference"
540488msgstr "Conferència"
541489
542−#: qml/Panel/Indicators/MenuItemFactory.qml:762
490+#: qml/Panel/Indicators/MenuItemFactory.qml:847
543491msgid "Nothing is playing"
544492msgstr "No s'està reproduint res"
545493
546−#: qml/Panel/Indicators/MenuItemFactory.qml:891
494+#: qml/Panel/Indicators/MenuItemFactory.qml:975
547495#, qt-format
548496msgid "%1 hour"
549497msgid_plural "%1 hours"
550498msgstr[0] "%1 hora"
551499msgstr[1] "%1 hores"
552500
553−#: qml/Panel/Indicators/MenuItemFactory.qml:895
501+#: qml/Panel/Indicators/MenuItemFactory.qml:979
554502#, qt-format
555503msgid "%1 minute"
556504msgid_plural "%1 minutes"
557505msgstr[0] "%1 minut"
558506msgstr[1] "%1 minuts"
559507
560−#: qml/Panel/Indicators/MenuItemFactory.qml:900
508+#: qml/Panel/Indicators/MenuItemFactory.qml:984
561509#, qt-format
562510msgid "%1 second"
563511msgid_plural "%1 seconds"
564512msgstr[0] "%1 segon"
565513msgstr[1] "%1 segons"
566514
567−#: qml/Panel/Indicators/MenuItemFactory.qml:903
515+#: qml/Panel/Indicators/MenuItemFactory.qml:987
568516msgid "0 seconds"
569517msgstr "0 segons"
570518
571519#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
572−#: qml/Panel/Indicators/MenuItemFactory.qml:905
520+#: qml/Panel/Indicators/MenuItemFactory.qml:989
573521#, qt-format
574522msgid "%1 remaining"
575523msgstr "Resta %1"
576524
577−#: qml/Panel/Indicators/MenuItemFactory.qml:911
525+#: qml/Panel/Indicators/MenuItemFactory.qml:995
578526msgid "In queue…"
579527msgstr "A la cua..."
580528
581−#: qml/Panel/Indicators/MenuItemFactory.qml:915
529+#: qml/Panel/Indicators/MenuItemFactory.qml:999
582530msgid "Downloading"
583531msgstr "S'està baixant"
584532
585−#: qml/Panel/Indicators/MenuItemFactory.qml:917
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
586534msgid "Paused, tap to resume"
587535msgstr "En pausa, feu un toc per continuar"
588536
589−#: qml/Panel/Indicators/MenuItemFactory.qml:919
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
590538msgid "Canceled"
591539msgstr "S'ha cancel·lat"
592540
593−#: qml/Panel/Indicators/MenuItemFactory.qml:921
541+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
594542msgid "Finished"
595543msgstr "S'ha finalitzat"
596544
597−#: qml/Panel/Indicators/MenuItemFactory.qml:923
545+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
598546msgid "Failed, tap to retry"
599547msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
600548
@@ -614,7 +562,7 @@ msgctxt "Button: Call back on phone"
614562msgid "Call back"
615563msgstr "Retorna la trucada"
616564
617−#: qml/Stages/SideStage.qml:76
565+#: qml/Stage/SideStage.qml:76
618566msgid "Drag using 3 fingers any application from one window to the other"
619567msgstr ""
620568"Arrossegueu usant 3 dits qualsevol aplicació d'una finestra a una altra"
@@ -627,58 +575,78 @@ msgstr ""
627575#: qml/Tutorial/TutorialLeft.qml:47
628576msgid "Short swipe from the left edge to open the launcher"
629577msgstr ""
578+"Passeu el dit breument des de la vora esquerra per obrir el llançador"
630579
631580#: qml/Tutorial/TutorialRight.qml:55
632581msgid "Push your mouse against the right edge to view your open apps"
633582msgstr ""
583+"Empenyeu el ratolí contra la vora dreta per veure les vostres aplicacions "
584+"obertes"
634585
635586#: qml/Tutorial/TutorialRight.qml:56
636587msgid "Swipe from the right edge to view your open apps"
637588msgstr ""
589+"Passeu el dit des de la vora dreta per veure les vostres aplicacions obertes"
638590
639591#: qml/Tutorial/TutorialTop.qml:53
640592msgid "Swipe from the top edge to access notifications and quick settings"
641593msgstr ""
594+"Passeu el dit des de la vora superior per accedir les notificacions i les "
595+"configuracions ràpides"
642596
643597#: qml/Wizard/Page.qml:54
644598msgctxt "Button: Go back one page in the Wizard"
645599msgid "Back"
646600msgstr "Enrere"
647601
648−#: qml/Wizard/Pages/10-welcome.qml:27
602+#: qml/Wizard/Pages/10-welcome.qml:28
649603msgid "Language"
650604msgstr "Llengua"
651605
652−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
653−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
654−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
606+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
609+#: qml/Wizard/Pages/70-passwd-type.qml:145
655610#: qml/Wizard/Pages/75-report-check.qml:84
656−#: qml/Wizard/Pages/passcode-desktop.qml:141
657−#: qml/Wizard/Pages/password-set.qml:141
611+#: qml/Wizard/Pages/passcode-desktop.qml:142
612+#: qml/Wizard/Pages/password-set.qml:142
658613msgid "Next"
659614msgstr "Següent"
660615
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
662635msgid "Connect to Wi‑Fi"
663636msgstr "Connecta't a la Wi-Fi"
664637
665−#: qml/Wizard/Pages/30-wifi.qml:130
638+#: qml/Wizard/Pages/30-wifi.qml:132
666639msgid "Connected"
667640msgstr "Connectat"
668641
669−#: qml/Wizard/Pages/30-wifi.qml:163
642+#: qml/Wizard/Pages/30-wifi.qml:165
670643msgid "Available Wi-Fi networks"
671644msgstr "Xarxes Wi-Fi disponibles"
672645
673−#: qml/Wizard/Pages/30-wifi.qml:164
646+#: qml/Wizard/Pages/30-wifi.qml:166
674647msgid "No available Wi-Fi networks"
675648msgstr "No hi ha xarxes Wi-Fi disponibles"
676649
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−
682650#: qml/Wizard/Pages/40-location.qml:27
683651msgid "Location Services"
684652msgstr "Serveis d'ubicació"
@@ -713,11 +681,11 @@ msgstr "No usis la meva ubicació"
713681msgid "You can change it later in System Settings."
714682msgstr "Podeu canviar-ho més tard a Paràmetres del sistema."
715683
716−#: qml/Wizard/Pages/50-timezone.qml:29
684+#: qml/Wizard/Pages/50-timezone.qml:30
717685msgid "Time Zone"
718686msgstr "Fus horari"
719687
720−#: qml/Wizard/Pages/50-timezone.qml:181
688+#: qml/Wizard/Pages/50-timezone.qml:182
721689msgid "Enter your city"
722690msgstr "Entreu la vostra ciutat"
723691
@@ -729,21 +697,21 @@ msgstr "Personalitzeu el vostre dispositiu"
729697msgid "Preferred Name"
730698msgstr "Nom preferit"
731699
732−#: qml/Wizard/Pages/70-passwd-type.qml:39
700+#: qml/Wizard/Pages/70-passwd-type.qml:40
733701msgid "Lock Screen"
734702msgstr "Bloca la pantalla"
735703
736−#: qml/Wizard/Pages/70-passwd-type.qml:101
704+#: qml/Wizard/Pages/70-passwd-type.qml:102
737705msgctxt "Label: Type of security method"
738706msgid "Create new password"
739707msgstr "Crea una contrasenya nova"
740708
741−#: qml/Wizard/Pages/70-passwd-type.qml:103
709+#: qml/Wizard/Pages/70-passwd-type.qml:104
742710msgctxt "Label: Type of security method"
743711msgid "Create passcode (numbers only)"
744712msgstr "Creeu un codi d'accés (sols números)"
745713
746−#: qml/Wizard/Pages/70-passwd-type.qml:105
714+#: qml/Wizard/Pages/70-passwd-type.qml:106
747715msgctxt "Label: Type of security method"
748716msgid "No lock code"
749717msgstr "No hi ha codi de bloqueig"
@@ -765,6 +733,37 @@ msgstr ""
765733msgid "Privacy policy"
766734msgstr "Política de privacitat"
767735
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+
768767#: qml/Wizard/Pages/80-finished.qml:89
769768msgid "Welcome to Ubuntu"
770769msgstr "Us donem la benvinguda a l'Ubuntu"
@@ -815,7 +814,7 @@ msgid "Service Terms"
815814msgstr "Termes del servei"
816815
817816#: qml/Wizard/Pages/passcode-confirm.qml:43
818−#: qml/Wizard/Pages/passcode-desktop.qml:96
817+#: qml/Wizard/Pages/passcode-desktop.qml:97
819818msgid "Confirm passcode"
820819msgstr "Confirmeu el codi d'accés"
821820
@@ -828,28 +827,28 @@ msgctxt "Enter the passcode again"
828827msgid "Please re-enter."
829828msgstr "Si us plau torneu a introduir-lo."
830829
831−#: qml/Wizard/Pages/passcode-desktop.qml:30
830+#: qml/Wizard/Pages/passcode-desktop.qml:31
832831msgid "Lock Screen Passcode"
833832msgstr "Codi d'accés al bloqueig de pantalla"
834833
835−#: qml/Wizard/Pages/passcode-desktop.qml:60
834+#: qml/Wizard/Pages/passcode-desktop.qml:61
836835msgid "Enter 4 numbers to setup your passcode"
837836msgstr "Entreu 4 números per establir el codi d'accés"
838837
839−#: qml/Wizard/Pages/passcode-desktop.qml:76
838+#: qml/Wizard/Pages/passcode-desktop.qml:77
840839#: qml/Wizard/Pages/passcode-set.qml:54
841840msgid "Choose passcode"
842841msgstr "Trieu el codi d'accés"
843842
844−#: qml/Wizard/Pages/passcode-desktop.qml:126
843+#: qml/Wizard/Pages/passcode-desktop.qml:127
845844msgid "Passcode too short"
846845msgstr "El codi d'accés és massa curt"
847846
848−#: qml/Wizard/Pages/passcode-desktop.qml:128
847+#: qml/Wizard/Pages/passcode-desktop.qml:129
849848msgid "Passcodes match"
850849msgstr "Els codis d'accés concorden"
851850
852−#: qml/Wizard/Pages/passcode-desktop.qml:130
851+#: qml/Wizard/Pages/passcode-desktop.qml:131
853852msgid "Passcodes do not match"
854853msgstr "Els codis d'accés no concorden"
855854
@@ -857,19 +856,19 @@ msgstr "Els codis d'accés no concorden"
857856msgid "Passcode must be 4 characters long"
858857msgstr "El codi d'accés ha de tenir una longitud de 4 caràcters"
859858
860−#: qml/Wizard/Pages/password-set.qml:30
859+#: qml/Wizard/Pages/password-set.qml:31
861860msgid "Lock Screen Password"
862861msgstr "Contrasenya de bloqueig de pantalla"
863862
864−#: qml/Wizard/Pages/password-set.qml:61
863+#: qml/Wizard/Pages/password-set.qml:62
865864msgid "Enter at least 8 characters"
866865msgstr "Entreu almenys 8 caràcters"
867866
868−#: qml/Wizard/Pages/password-set.qml:73
867+#: qml/Wizard/Pages/password-set.qml:74
869868msgid "Choose password"
870869msgstr "Escolliu la contrasenya"
871870
872−#: qml/Wizard/Pages/password-set.qml:103
871+#: qml/Wizard/Pages/password-set.qml:104
873872msgid "Confirm password"
874873msgstr "Confirmeu la contrasenya"
875874
@@ -899,7 +898,7 @@ msgstr "Per procedir sense cap SIM toqueu Omet."
899898
900899#: qml/Wizard/PasswordMeter.qml:87
901900msgid "Password too short"
902−msgstr ""
901+msgstr "La contrasenya es massa curta"
903902
904903#: qml/Wizard/PasswordMeter.qml:89
905904msgid "Passwords match"
@@ -1004,12 +1003,33 @@ msgstr "La contrasenya és molt dèbil"
10041003#~ msgid "Roaming"
10051004#~ msgstr "Itinerància"
10061005
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+
10071020#~ msgid "Favorites"
10081021#~ msgstr "Preferides"
10091022
10101023#~ msgid "All"
10111024#~ msgstr "Totes"
10121025
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+
10131033#~ msgid "Log out"
10141034#~ msgstr "Surt"
10151035
@@ -1022,6 +1042,9 @@ msgstr "La contrasenya és molt dèbil"
10221042#~ msgid "Power"
10231043#~ msgstr "Energia"
10241044
1045+#~ msgid "Sorry, incorrect passcode"
1046+#~ msgstr "El codi d'accés no és correcte"
1047+
10251048#~ msgid "Power off"
10261049#~ msgstr "Apaga"
10271050
@@ -1031,12 +1054,33 @@ msgstr "La contrasenya és molt dèbil"
10311054#~ msgid "Shut down"
10321055#~ msgstr "Apaga"
10331056
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+
10341071#~ msgid "Please re-enter"
10351072#~ msgstr "Torneu-ho a introduir"
10361073
1074+#~ msgid "Enter passcode"
1075+#~ msgstr "Introduïu el codi d'accés"
1076+
10371077#~ msgid "Manage Scopes"
10381078#~ msgstr "Gestioneu les lents"
10391079
1080+#, qt-format
1081+#~ msgid "Enter %1"
1082+#~ msgstr "Introduïu: %1"
1083+
10401084#~ msgid "Add a SIM card and restart your device"
10411085#~ msgstr "Afegiu una targeta SIM i reinicieu el dispositiu"
10421086
@@ -1252,6 +1296,10 @@ msgstr "La contrasenya és molt dèbil"
12521296#~ msgid "%l:%M %p"
12531297#~ msgstr "%l∶%M %p"
12541298
1299+#~ msgctxt "passphrase"
1300+#~ msgid "Please re-enter"
1301+#~ msgstr "Torneu-ho a introduir"
1302+
12551303#~ msgid "Call back"
12561304#~ msgstr "Retorna la trucada"
12571305
po/ca@valencia.po+214−178
@@ -7,105 +7,83 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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"
1111"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"
1313"Language-Team: Catalan <ca@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:54+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:58+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr "Contrasenya: "
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr "Apega la drecera"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr ""
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr "Desenganxa la drecera"
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
6239msgctxt "Title: Lock/Log out dialog"
6340msgid "Log out"
6441msgstr ""
6542
66−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6744msgid "Are you sure you want to log out?"
6845msgstr "Segur que voleu eixir?"
6946
70−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
7148msgctxt "Button: Lock the system"
7249msgid "Lock"
7350msgstr ""
7451
75−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7653msgctxt "Button: Log out from the system"
7754msgid "Log Out"
7855msgstr ""
7956
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
8260#: qml/Wizard/Pages/passcode-set.qml:32
8361msgid "Cancel"
8462msgstr "Cancel·la"
8563
86−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8765msgctxt "Title: Reboot dialog"
8866msgid "Reboot"
8967msgstr ""
9068
91−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
9270msgid "Are you sure you want to reboot?"
9371msgstr "Segur que voleu reiniciar?"
9472
95−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9674msgid "No"
9775msgstr "No"
9876
99−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
10078msgid "Yes"
10179msgstr "Sí"
10280
103−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10482msgctxt "Title: Power off/Restart dialog"
10583msgid "Power"
10684msgstr ""
10785
108−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10987msgid ""
11088"Are you sure you would like\n"
11189"to power off?"
@@ -113,12 +91,12 @@ msgstr ""
11391"Segur que voleu\n"
11492"apagar?"
11593
116−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
11795msgctxt "Button: Power off the system"
11896msgid "Power off"
11997msgstr ""
12098
121−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
122100msgctxt "Button: Restart the system"
123101msgid "Restart"
124102msgstr ""
@@ -283,15 +261,15 @@ msgstr ""
283261msgid "Closes the current window."
284262msgstr ""
285263
286−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287265msgid "Return to Call"
288266msgstr "Torna a la cridada"
289267
290−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
291269msgid "Emergency Call"
292270msgstr "Cridada d'emergència"
293271
294−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
295273msgid "OK"
296274msgstr "D'acord"
297275
@@ -335,84 +313,84 @@ msgstr ""
335313msgid "Preview Share Item"
336314msgstr ""
337315
338−#: qml/Dash/DashPageHeader.qml:333
316+#: qml/Dash/DashPageHeader.qml:361
339317msgctxt "Button: Open the Ubuntu Store"
340318msgid "Store"
341319msgstr ""
342320
343−#: qml/Dash/DashPageHeader.qml:340
321+#: qml/Dash/DashPageHeader.qml:368
344322msgctxt "Button: Start a search in the current dash scope"
345323msgid "Search"
346324msgstr ""
347325
348−#: qml/Dash/DashPageHeader.qml:350
326+#: qml/Dash/DashPageHeader.qml:378
349327msgctxt "Button: Show the current dash scope settings"
350328msgid "Settings"
351329msgstr ""
352330
353−#: qml/Dash/DashPageHeader.qml:357
331+#: qml/Dash/DashPageHeader.qml:385
354332msgid "Remove from Favorites"
355333msgstr "Suprimeix dels preferits"
356334
357−#: qml/Dash/DashPageHeader.qml:357
335+#: qml/Dash/DashPageHeader.qml:385
358336msgid "Add to Favorites"
359337msgstr "Afig als preferits"
360338
361−#: qml/Dash/FiltersPopover.qml:60
339+#: qml/Dash/FiltersPopover.qml:61
362340msgid "Refine your results"
363341msgstr ""
364342
365−#: qml/Dash/FiltersPopover.qml:69
343+#: qml/Dash/FiltersPopover.qml:70
366344msgid "Reset"
367345msgstr ""
368346
369−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
347+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
370348msgid "Show less"
371349msgstr ""
372350
373−#: qml/Dash/GenericScopeView.qml:580
351+#: qml/Dash/GenericScopeView.qml:547
374352msgid "Show all"
375353msgstr ""
376354
377−#: qml/Dash/GenericScopeView.qml:637
355+#: qml/Dash/GenericScopeView.qml:578
378356msgctxt "Label: Hint for dash search line edit"
379357msgid "Search"
380358msgstr ""
381359
382−#: qml/Dash/PageHeaderExtraPanel.qml:56
360+#: qml/Dash/PageHeaderExtraPanel.qml:67
383361msgid "Recent Searches"
384362msgstr ""
385363
386−#: qml/Dash/PageHeaderExtraPanel.qml:67
364+#: qml/Dash/PageHeaderExtraPanel.qml:78
387365msgid "Clear All"
388366msgstr ""
389367
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
368+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391369msgid "More..."
392370msgstr "Més..."
393371
394−#: qml/Dash/Previews/PreviewActionCombo.qml:35
372+#: qml/Dash/Previews/PreviewActionCombo.qml:36
395373msgid "Less..."
396374msgstr "Menys..."
397375
398−#: qml/Dash/Previews/PreviewCommentInput.qml:68
399−#: qml/Dash/Previews/PreviewRatingInput.qml:175
376+#: qml/Dash/Previews/PreviewCommentInput.qml:83
377+#: qml/Dash/Previews/PreviewRatingInput.qml:202
400378msgid "Send"
401379msgstr "Envia"
402380
403−#: qml/Dash/Previews/PreviewRatingInput.qml:82
381+#: qml/Dash/Previews/PreviewRatingInput.qml:109
404382msgid "Rate this"
405383msgstr "Puntueu-ho"
406384
407−#: qml/Dash/Previews/PreviewRatingInput.qml:157
385+#: qml/Dash/Previews/PreviewRatingInput.qml:184
408386msgid "Add a review"
409387msgstr "Afegiu una ressenya"
410388
411−#: qml/Dash/PullToRefreshScopeStyle.qml:55
389+#: qml/Dash/PullToRefreshScopeStyle.qml:56
412390msgid "Pull to refresh…"
413391msgstr "Estireu per actualitzar..."
414392
415−#: qml/Dash/PullToRefreshScopeStyle.qml:60
393+#: qml/Dash/PullToRefreshScopeStyle.qml:61
416394msgid "Release to refresh…"
417395msgstr "Deixeu anar per actualitzar..."
418396
@@ -420,15 +398,15 @@ msgstr "Deixeu anar per actualitzar..."
420398msgid "Enable location data"
421399msgstr "Habilita les dades d'ubicació"
422400
423−#: qml/Dash/ScopesList.qml:55
401+#: qml/Dash/ScopesList.qml:57
424402msgid "Manage"
425403msgstr "Gestiona"
426404
427−#: qml/Dash/ScopesList.qml:102
405+#: qml/Dash/ScopesList.qml:104
428406msgid "Home"
429407msgstr "Inici"
430408
431−#: qml/Dash/ScopesList.qml:103
409+#: qml/Dash/ScopesList.qml:105
432410msgid "Also installed"
433411msgstr "També instal·lat"
434412
@@ -442,87 +420,57 @@ msgstr ""
442420msgid "Unlock"
443421msgstr "Desbloca"
444422
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
446447msgid "Try again"
447448msgstr ""
448449
449−#: qml/Greeter/LoginList.qml:63
450+#: qml/Greeter/LoginList.qml:70
450451msgid "Passphrase"
451452msgstr ""
452453
453−#: qml/Greeter/LoginList.qml:64
454+#: qml/Greeter/LoginList.qml:71
454455msgid "Passcode"
455456msgstr ""
456457
457−#: qml/Greeter/LoginList.qml:87
458+#: qml/Greeter/LoginList.qml:98
458459msgid "Retry"
459460msgstr ""
460461
461−#: qml/Greeter/LoginList.qml:88
462+#: qml/Greeter/LoginList.qml:99
462463msgid "Log In"
463464msgstr ""
464465
465−#: qml/Greeter/NarrowView.qml:55
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 ""
488−"If passcode is entered incorrectly, your phone will conduct a factory reset "
489−"and all personal data will be deleted."
466+#: qml/Greeter/NarrowView.qml:252
467+msgid "Emergency"
490468msgstr ""
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"
503469
504−#: qml/Greeter/NarrowView.qml:131
505−msgid "Enter passcode"
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"
470+#: qml/Greeter/SessionsList.qml:122
471+msgid "Select desktop environment"
520472msgstr ""
521473
522−#: qml/Greeter/NarrowView.qml:138
523−msgid "Sorry, incorrect passcode"
524−msgstr "El codi d'accés no és correcte"
525−
526474#: qml/Notifications/NotificationMenuItemFactory.qml:124
527475msgid "Show password"
528476msgstr "Mostra la contrasenya"
@@ -535,62 +483,62 @@ msgstr "Feu un toc per tornar a la cridada..."
535483msgid "Conference"
536484msgstr "Conferència"
537485
538−#: qml/Panel/Indicators/MenuItemFactory.qml:762
486+#: qml/Panel/Indicators/MenuItemFactory.qml:847
539487msgid "Nothing is playing"
540488msgstr "No s'està reproduint res"
541489
542−#: qml/Panel/Indicators/MenuItemFactory.qml:891
490+#: qml/Panel/Indicators/MenuItemFactory.qml:975
543491#, qt-format
544492msgid "%1 hour"
545493msgid_plural "%1 hours"
546494msgstr[0] ""
547495msgstr[1] ""
548496
549−#: qml/Panel/Indicators/MenuItemFactory.qml:895
497+#: qml/Panel/Indicators/MenuItemFactory.qml:979
550498#, qt-format
551499msgid "%1 minute"
552500msgid_plural "%1 minutes"
553501msgstr[0] ""
554502msgstr[1] ""
555503
556−#: qml/Panel/Indicators/MenuItemFactory.qml:900
504+#: qml/Panel/Indicators/MenuItemFactory.qml:984
557505#, qt-format
558506msgid "%1 second"
559507msgid_plural "%1 seconds"
560508msgstr[0] ""
561509msgstr[1] ""
562510
563−#: qml/Panel/Indicators/MenuItemFactory.qml:903
511+#: qml/Panel/Indicators/MenuItemFactory.qml:987
564512msgid "0 seconds"
565513msgstr ""
566514
567515#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
568−#: qml/Panel/Indicators/MenuItemFactory.qml:905
516+#: qml/Panel/Indicators/MenuItemFactory.qml:989
569517#, qt-format
570518msgid "%1 remaining"
571519msgstr ""
572520
573−#: qml/Panel/Indicators/MenuItemFactory.qml:911
521+#: qml/Panel/Indicators/MenuItemFactory.qml:995
574522msgid "In queue…"
575523msgstr "A la cua..."
576524
577−#: qml/Panel/Indicators/MenuItemFactory.qml:915
525+#: qml/Panel/Indicators/MenuItemFactory.qml:999
578526msgid "Downloading"
579527msgstr "S'està baixant"
580528
581−#: qml/Panel/Indicators/MenuItemFactory.qml:917
529+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
582530msgid "Paused, tap to resume"
583531msgstr "En pausa, feu un toc per continuar"
584532
585−#: qml/Panel/Indicators/MenuItemFactory.qml:919
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
586534msgid "Canceled"
587535msgstr "S'ha cancel·lat"
588536
589−#: qml/Panel/Indicators/MenuItemFactory.qml:921
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
590538msgid "Finished"
591539msgstr "S'ha finalitzat"
592540
593−#: qml/Panel/Indicators/MenuItemFactory.qml:923
541+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
594542msgid "Failed, tap to retry"
595543msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
596544
@@ -610,7 +558,7 @@ msgctxt "Button: Call back on phone"
610558msgid "Call back"
611559msgstr ""
612560
613−#: qml/Stages/SideStage.qml:76
561+#: qml/Stage/SideStage.qml:76
614562msgid "Drag using 3 fingers any application from one window to the other"
615563msgstr ""
616564
@@ -639,40 +587,54 @@ msgctxt "Button: Go back one page in the Wizard"
639587msgid "Back"
640588msgstr ""
641589
642−#: qml/Wizard/Pages/10-welcome.qml:27
590+#: qml/Wizard/Pages/10-welcome.qml:28
643591msgid "Language"
644592msgstr ""
645593
646−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
647−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
648−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
594+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
597+#: qml/Wizard/Pages/70-passwd-type.qml:145
649598#: qml/Wizard/Pages/75-report-check.qml:84
650−#: qml/Wizard/Pages/passcode-desktop.qml:141
651−#: qml/Wizard/Pages/password-set.qml:141
599+#: qml/Wizard/Pages/passcode-desktop.qml:142
600+#: qml/Wizard/Pages/password-set.qml:142
652601msgid "Next"
653602msgstr ""
654603
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
656623msgid "Connect to Wi‑Fi"
657624msgstr "Connecta't a la Wi-Fi"
658625
659−#: qml/Wizard/Pages/30-wifi.qml:130
626+#: qml/Wizard/Pages/30-wifi.qml:132
660627msgid "Connected"
661628msgstr ""
662629
663−#: qml/Wizard/Pages/30-wifi.qml:163
630+#: qml/Wizard/Pages/30-wifi.qml:165
664631msgid "Available Wi-Fi networks"
665632msgstr ""
666633
667−#: qml/Wizard/Pages/30-wifi.qml:164
634+#: qml/Wizard/Pages/30-wifi.qml:166
668635msgid "No available Wi-Fi networks"
669636msgstr ""
670637
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−
676638#: qml/Wizard/Pages/40-location.qml:27
677639msgid "Location Services"
678640msgstr ""
@@ -705,11 +667,11 @@ msgstr ""
705667msgid "You can change it later in System Settings."
706668msgstr ""
707669
708−#: qml/Wizard/Pages/50-timezone.qml:29
670+#: qml/Wizard/Pages/50-timezone.qml:30
709671msgid "Time Zone"
710672msgstr ""
711673
712−#: qml/Wizard/Pages/50-timezone.qml:181
674+#: qml/Wizard/Pages/50-timezone.qml:182
713675msgid "Enter your city"
714676msgstr ""
715677
@@ -721,21 +683,21 @@ msgstr ""
721683msgid "Preferred Name"
722684msgstr ""
723685
724−#: qml/Wizard/Pages/70-passwd-type.qml:39
686+#: qml/Wizard/Pages/70-passwd-type.qml:40
725687msgid "Lock Screen"
726688msgstr ""
727689
728−#: qml/Wizard/Pages/70-passwd-type.qml:101
690+#: qml/Wizard/Pages/70-passwd-type.qml:102
729691msgctxt "Label: Type of security method"
730692msgid "Create new password"
731693msgstr ""
732694
733−#: qml/Wizard/Pages/70-passwd-type.qml:103
695+#: qml/Wizard/Pages/70-passwd-type.qml:104
734696msgctxt "Label: Type of security method"
735697msgid "Create passcode (numbers only)"
736698msgstr ""
737699
738−#: qml/Wizard/Pages/70-passwd-type.qml:105
700+#: qml/Wizard/Pages/70-passwd-type.qml:106
739701msgctxt "Label: Type of security method"
740702msgid "No lock code"
741703msgstr ""
@@ -756,6 +718,35 @@ msgstr ""
756718msgid "Privacy policy"
757719msgstr ""
758720
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+
759750#: qml/Wizard/Pages/80-finished.qml:89
760751msgid "Welcome to Ubuntu"
761752msgstr ""
@@ -799,7 +790,7 @@ msgid "Service Terms"
799790msgstr ""
800791
801792#: qml/Wizard/Pages/passcode-confirm.qml:43
802−#: qml/Wizard/Pages/passcode-desktop.qml:96
793+#: qml/Wizard/Pages/passcode-desktop.qml:97
803794msgid "Confirm passcode"
804795msgstr "Confirmeu el codi d'accés"
805796
@@ -812,28 +803,28 @@ msgctxt "Enter the passcode again"
812803msgid "Please re-enter."
813804msgstr ""
814805
815−#: qml/Wizard/Pages/passcode-desktop.qml:30
806+#: qml/Wizard/Pages/passcode-desktop.qml:31
816807msgid "Lock Screen Passcode"
817808msgstr ""
818809
819−#: qml/Wizard/Pages/passcode-desktop.qml:60
810+#: qml/Wizard/Pages/passcode-desktop.qml:61
820811msgid "Enter 4 numbers to setup your passcode"
821812msgstr ""
822813
823−#: qml/Wizard/Pages/passcode-desktop.qml:76
814+#: qml/Wizard/Pages/passcode-desktop.qml:77
824815#: qml/Wizard/Pages/passcode-set.qml:54
825816msgid "Choose passcode"
826817msgstr ""
827818
828−#: qml/Wizard/Pages/passcode-desktop.qml:126
819+#: qml/Wizard/Pages/passcode-desktop.qml:127
829820msgid "Passcode too short"
830821msgstr ""
831822
832−#: qml/Wizard/Pages/passcode-desktop.qml:128
823+#: qml/Wizard/Pages/passcode-desktop.qml:129
833824msgid "Passcodes match"
834825msgstr ""
835826
836−#: qml/Wizard/Pages/passcode-desktop.qml:130
827+#: qml/Wizard/Pages/passcode-desktop.qml:131
837828msgid "Passcodes do not match"
838829msgstr ""
839830
@@ -841,19 +832,19 @@ msgstr ""
841832msgid "Passcode must be 4 characters long"
842833msgstr ""
843834
844−#: qml/Wizard/Pages/password-set.qml:30
835+#: qml/Wizard/Pages/password-set.qml:31
845836msgid "Lock Screen Password"
846837msgstr ""
847838
848−#: qml/Wizard/Pages/password-set.qml:61
839+#: qml/Wizard/Pages/password-set.qml:62
849840msgid "Enter at least 8 characters"
850841msgstr ""
851842
852−#: qml/Wizard/Pages/password-set.qml:73
843+#: qml/Wizard/Pages/password-set.qml:74
853844msgid "Choose password"
854845msgstr ""
855846
856−#: qml/Wizard/Pages/password-set.qml:103
847+#: qml/Wizard/Pages/password-set.qml:104
857848msgid "Confirm password"
858849msgstr ""
859850
@@ -1008,9 +999,54 @@ msgstr ""
1008999#~ msgid "Roaming"
10091000#~ msgstr "Itinerància"
10101001
1002+#~ msgid "Enter passphrase"
1003+#~ msgstr "Introduïu la contrasenya"
1004+
1005+#~ msgid "Sorry, incorrect passphrase"
1006+#~ msgstr "La contrasenya no és correcta"
1007+
10111008#~ msgid "Please re-enter"
10121009#~ msgstr "Torneu-ho a introduir"
10131010
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+
10141050#~ msgid "Hi!"
10151051#~ msgstr "Hola!"
10161052
po/ce.po+162−165
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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"
1111"PO-Revision-Date: 2015-02-15 04:01+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Chechen <ce@li.org>\n"
@@ -15,104 +15,86 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr ""
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr ""
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr ""
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr ""
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
5839msgctxt "Title: Lock/Log out dialog"
5940msgid "Log out"
6041msgstr ""
6142
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6344msgid "Are you sure you want to log out?"
6445msgstr ""
6546
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
6748msgctxt "Button: Lock the system"
6849msgid "Lock"
6950msgstr ""
7051
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7253msgctxt "Button: Log out from the system"
7354msgid "Log Out"
7455msgstr ""
7556
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
7860#: qml/Wizard/Pages/passcode-set.qml:32
7961msgid "Cancel"
8062msgstr ""
8163
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8365msgctxt "Title: Reboot dialog"
8466msgid "Reboot"
8567msgstr ""
8668
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
8870msgid "Are you sure you want to reboot?"
8971msgstr ""
9072
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9274msgid "No"
9375msgstr ""
9476
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
9678msgid "Yes"
9779msgstr ""
9880
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10082msgctxt "Title: Power off/Restart dialog"
10183msgid "Power"
10284msgstr ""
10385
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10587msgid ""
10688"Are you sure you would like\n"
10789"to power off?"
10890msgstr ""
10991
110−#: qml/Components/Dialogs.qml:200
92+#: qml/Components/Dialogs.qml:205
11193msgctxt "Button: Power off the system"
11294msgid "Power off"
11395msgstr ""
11496
115−#: qml/Components/Dialogs.qml:209
97+#: qml/Components/Dialogs.qml:214
11698msgctxt "Button: Restart the system"
11799msgid "Restart"
118100msgstr ""
@@ -277,15 +259,15 @@ msgstr ""
277259msgid "Closes the current window."
278260msgstr ""
279261
280−#: qml/Components/Lockscreen.qml:239
262+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
281263msgid "Return to Call"
282264msgstr ""
283265
284−#: qml/Components/Lockscreen.qml:239
266+#: qml/Components/Lockscreen.qml:212
285267msgid "Emergency Call"
286268msgstr ""
287269
288−#: qml/Components/Lockscreen.qml:271
270+#: qml/Components/Lockscreen.qml:244
289271msgid "OK"
290272msgstr ""
291273
@@ -329,84 +311,84 @@ msgstr ""
329311msgid "Preview Share Item"
330312msgstr ""
331313
332−#: qml/Dash/DashPageHeader.qml:333
314+#: qml/Dash/DashPageHeader.qml:361
333315msgctxt "Button: Open the Ubuntu Store"
334316msgid "Store"
335317msgstr ""
336318
337−#: qml/Dash/DashPageHeader.qml:340
319+#: qml/Dash/DashPageHeader.qml:368
338320msgctxt "Button: Start a search in the current dash scope"
339321msgid "Search"
340322msgstr ""
341323
342−#: qml/Dash/DashPageHeader.qml:350
324+#: qml/Dash/DashPageHeader.qml:378
343325msgctxt "Button: Show the current dash scope settings"
344326msgid "Settings"
345327msgstr ""
346328
347−#: qml/Dash/DashPageHeader.qml:357
329+#: qml/Dash/DashPageHeader.qml:385
348330msgid "Remove from Favorites"
349331msgstr ""
350332
351−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
352334msgid "Add to Favorites"
353335msgstr ""
354336
355−#: qml/Dash/FiltersPopover.qml:60
337+#: qml/Dash/FiltersPopover.qml:61
356338msgid "Refine your results"
357339msgstr ""
358340
359−#: qml/Dash/FiltersPopover.qml:69
341+#: qml/Dash/FiltersPopover.qml:70
360342msgid "Reset"
361343msgstr ""
362344
363−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
345+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
364346msgid "Show less"
365347msgstr ""
366348
367−#: qml/Dash/GenericScopeView.qml:580
349+#: qml/Dash/GenericScopeView.qml:547
368350msgid "Show all"
369351msgstr ""
370352
371−#: qml/Dash/GenericScopeView.qml:637
353+#: qml/Dash/GenericScopeView.qml:578
372354msgctxt "Label: Hint for dash search line edit"
373355msgid "Search"
374356msgstr ""
375357
376−#: qml/Dash/PageHeaderExtraPanel.qml:56
358+#: qml/Dash/PageHeaderExtraPanel.qml:67
377359msgid "Recent Searches"
378360msgstr ""
379361
380−#: qml/Dash/PageHeaderExtraPanel.qml:67
362+#: qml/Dash/PageHeaderExtraPanel.qml:78
381363msgid "Clear All"
382364msgstr ""
383365
384−#: qml/Dash/Previews/PreviewActionCombo.qml:35
366+#: qml/Dash/Previews/PreviewActionCombo.qml:36
385367msgid "More..."
386368msgstr ""
387369
388−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
389371msgid "Less..."
390372msgstr ""
391373
392−#: qml/Dash/Previews/PreviewCommentInput.qml:68
393−#: qml/Dash/Previews/PreviewRatingInput.qml:175
374+#: qml/Dash/Previews/PreviewCommentInput.qml:83
375+#: qml/Dash/Previews/PreviewRatingInput.qml:202
394376msgid "Send"
395377msgstr ""
396378
397−#: qml/Dash/Previews/PreviewRatingInput.qml:82
379+#: qml/Dash/Previews/PreviewRatingInput.qml:109
398380msgid "Rate this"
399381msgstr ""
400382
401−#: qml/Dash/Previews/PreviewRatingInput.qml:157
383+#: qml/Dash/Previews/PreviewRatingInput.qml:184
402384msgid "Add a review"
403385msgstr ""
404386
405−#: qml/Dash/PullToRefreshScopeStyle.qml:55
387+#: qml/Dash/PullToRefreshScopeStyle.qml:56
406388msgid "Pull to refresh…"
407389msgstr ""
408390
409−#: qml/Dash/PullToRefreshScopeStyle.qml:60
391+#: qml/Dash/PullToRefreshScopeStyle.qml:61
410392msgid "Release to refresh…"
411393msgstr ""
412394
@@ -414,15 +396,15 @@ msgstr ""
414396msgid "Enable location data"
415397msgstr ""
416398
417−#: qml/Dash/ScopesList.qml:55
399+#: qml/Dash/ScopesList.qml:57
418400msgid "Manage"
419401msgstr ""
420402
421−#: qml/Dash/ScopesList.qml:102
403+#: qml/Dash/ScopesList.qml:104
422404msgid "Home"
423405msgstr ""
424406
425−#: qml/Dash/ScopesList.qml:103
407+#: qml/Dash/ScopesList.qml:105
426408msgid "Also installed"
427409msgstr ""
428410
@@ -436,79 +418,51 @@ msgstr ""
436418msgid "Unlock"
437419msgstr ""
438420
439−#: qml/Greeter/Greeter.qml:555
440−msgid "Try again"
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."
421+#: qml/Greeter/DelayedLockscreen.qml:43
422+msgid "Device Locked"
469423msgstr ""
470424
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."
425+#: qml/Greeter/DelayedLockscreen.qml:58
426+msgid "You have been locked out due to too many failed passphrase attempts."
475427msgstr ""
476428
477−#: qml/Greeter/NarrowView.qml:60
478−msgid ""
479−"If passcode is entered incorrectly, your phone will conduct a factory reset "
480−"and all personal data will be deleted."
429+#: qml/Greeter/DelayedLockscreen.qml:59
430+msgid "You have been locked out due to too many failed passcode attempts."
481431msgstr ""
482432
483−#: qml/Greeter/NarrowView.qml:129
433+#: qml/Greeter/DelayedLockscreen.qml:68
484434#, 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"
486442msgstr ""
487443
488−#: qml/Greeter/NarrowView.qml:130
489−msgid "Enter passphrase"
444+#: qml/Greeter/LoginList.qml:70
445+msgid "Passphrase"
490446msgstr ""
491447
492−#: qml/Greeter/NarrowView.qml:131
493−msgid "Enter passcode"
448+#: qml/Greeter/LoginList.qml:71
449+msgid "Passcode"
494450msgstr ""
495451
496−#: qml/Greeter/NarrowView.qml:135
497−#, qt-format
498−msgid "Sorry, incorrect %1"
452+#: qml/Greeter/LoginList.qml:98
453+msgid "Retry"
499454msgstr ""
500455
501−#: qml/Greeter/NarrowView.qml:136
502−msgid "Sorry, incorrect passphrase"
456+#: qml/Greeter/LoginList.qml:99
457+msgid "Log In"
503458msgstr ""
504459
505−#: qml/Greeter/NarrowView.qml:137
506−msgctxt "passphrase"
507−msgid "Please re-enter"
460+#: qml/Greeter/NarrowView.qml:252
461+msgid "Emergency"
508462msgstr ""
509463
510−#: qml/Greeter/NarrowView.qml:138
511−msgid "Sorry, incorrect passcode"
464+#: qml/Greeter/SessionsList.qml:122
465+msgid "Select desktop environment"
512466msgstr ""
513467
514468#: qml/Notifications/NotificationMenuItemFactory.qml:124
@@ -523,62 +477,62 @@ msgstr ""
523477msgid "Conference"
524478msgstr ""
525479
526−#: qml/Panel/Indicators/MenuItemFactory.qml:762
480+#: qml/Panel/Indicators/MenuItemFactory.qml:847
527481msgid "Nothing is playing"
528482msgstr ""
529483
530−#: qml/Panel/Indicators/MenuItemFactory.qml:891
484+#: qml/Panel/Indicators/MenuItemFactory.qml:975
531485#, qt-format
532486msgid "%1 hour"
533487msgid_plural "%1 hours"
534488msgstr[0] ""
535489msgstr[1] ""
536490
537−#: qml/Panel/Indicators/MenuItemFactory.qml:895
491+#: qml/Panel/Indicators/MenuItemFactory.qml:979
538492#, qt-format
539493msgid "%1 minute"
540494msgid_plural "%1 minutes"
541495msgstr[0] ""
542496msgstr[1] ""
543497
544−#: qml/Panel/Indicators/MenuItemFactory.qml:900
498+#: qml/Panel/Indicators/MenuItemFactory.qml:984
545499#, qt-format
546500msgid "%1 second"
547501msgid_plural "%1 seconds"
548502msgstr[0] ""
549503msgstr[1] ""
550504
551−#: qml/Panel/Indicators/MenuItemFactory.qml:903
505+#: qml/Panel/Indicators/MenuItemFactory.qml:987
552506msgid "0 seconds"
553507msgstr ""
554508
555509#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
556−#: qml/Panel/Indicators/MenuItemFactory.qml:905
510+#: qml/Panel/Indicators/MenuItemFactory.qml:989
557511#, qt-format
558512msgid "%1 remaining"
559513msgstr ""
560514
561−#: qml/Panel/Indicators/MenuItemFactory.qml:911
515+#: qml/Panel/Indicators/MenuItemFactory.qml:995
562516msgid "In queue…"
563517msgstr ""
564518
565−#: qml/Panel/Indicators/MenuItemFactory.qml:915
519+#: qml/Panel/Indicators/MenuItemFactory.qml:999
566520msgid "Downloading"
567521msgstr ""
568522
569−#: qml/Panel/Indicators/MenuItemFactory.qml:917
523+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
570524msgid "Paused, tap to resume"
571525msgstr ""
572526
573−#: qml/Panel/Indicators/MenuItemFactory.qml:919
527+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
574528msgid "Canceled"
575529msgstr ""
576530
577−#: qml/Panel/Indicators/MenuItemFactory.qml:921
531+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
578532msgid "Finished"
579533msgstr ""
580534
581−#: qml/Panel/Indicators/MenuItemFactory.qml:923
535+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
582536msgid "Failed, tap to retry"
583537msgstr ""
584538
@@ -598,7 +552,7 @@ msgctxt "Button: Call back on phone"
598552msgid "Call back"
599553msgstr ""
600554
601−#: qml/Stages/SideStage.qml:76
555+#: qml/Stage/SideStage.qml:76
602556msgid "Drag using 3 fingers any application from one window to the other"
603557msgstr ""
604558
@@ -627,40 +581,54 @@ msgctxt "Button: Go back one page in the Wizard"
627581msgid "Back"
628582msgstr ""
629583
630−#: qml/Wizard/Pages/10-welcome.qml:27
584+#: qml/Wizard/Pages/10-welcome.qml:28
631585msgid "Language"
632586msgstr ""
633587
634−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
635−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
636−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
588+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
591+#: qml/Wizard/Pages/70-passwd-type.qml:145
637592#: qml/Wizard/Pages/75-report-check.qml:84
638−#: qml/Wizard/Pages/passcode-desktop.qml:141
639−#: qml/Wizard/Pages/password-set.qml:141
593+#: qml/Wizard/Pages/passcode-desktop.qml:142
594+#: qml/Wizard/Pages/password-set.qml:142
640595msgid "Next"
641596msgstr ""
642597
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
644617msgid "Connect to Wi‑Fi"
645618msgstr ""
646619
647−#: qml/Wizard/Pages/30-wifi.qml:130
620+#: qml/Wizard/Pages/30-wifi.qml:132
648621msgid "Connected"
649622msgstr ""
650623
651−#: qml/Wizard/Pages/30-wifi.qml:163
624+#: qml/Wizard/Pages/30-wifi.qml:165
652625msgid "Available Wi-Fi networks"
653626msgstr ""
654627
655−#: qml/Wizard/Pages/30-wifi.qml:164
628+#: qml/Wizard/Pages/30-wifi.qml:166
656629msgid "No available Wi-Fi networks"
657630msgstr ""
658631
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−
664632#: qml/Wizard/Pages/40-location.qml:27
665633msgid "Location Services"
666634msgstr ""
@@ -693,11 +661,11 @@ msgstr ""
693661msgid "You can change it later in System Settings."
694662msgstr ""
695663
696−#: qml/Wizard/Pages/50-timezone.qml:29
664+#: qml/Wizard/Pages/50-timezone.qml:30
697665msgid "Time Zone"
698666msgstr ""
699667
700−#: qml/Wizard/Pages/50-timezone.qml:181
668+#: qml/Wizard/Pages/50-timezone.qml:182
701669msgid "Enter your city"
702670msgstr ""
703671
@@ -709,21 +677,21 @@ msgstr ""
709677msgid "Preferred Name"
710678msgstr ""
711679
712−#: qml/Wizard/Pages/70-passwd-type.qml:39
680+#: qml/Wizard/Pages/70-passwd-type.qml:40
713681msgid "Lock Screen"
714682msgstr ""
715683
716−#: qml/Wizard/Pages/70-passwd-type.qml:101
684+#: qml/Wizard/Pages/70-passwd-type.qml:102
717685msgctxt "Label: Type of security method"
718686msgid "Create new password"
719687msgstr ""
720688
721−#: qml/Wizard/Pages/70-passwd-type.qml:103
689+#: qml/Wizard/Pages/70-passwd-type.qml:104
722690msgctxt "Label: Type of security method"
723691msgid "Create passcode (numbers only)"
724692msgstr ""
725693
726−#: qml/Wizard/Pages/70-passwd-type.qml:105
694+#: qml/Wizard/Pages/70-passwd-type.qml:106
727695msgctxt "Label: Type of security method"
728696msgid "No lock code"
729697msgstr ""
@@ -744,6 +712,35 @@ msgstr ""
744712msgid "Privacy policy"
745713msgstr ""
746714
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+
747744#: qml/Wizard/Pages/80-finished.qml:89
748745msgid "Welcome to Ubuntu"
749746msgstr ""
@@ -787,7 +784,7 @@ msgid "Service Terms"
787784msgstr ""
788785
789786#: qml/Wizard/Pages/passcode-confirm.qml:43
790−#: qml/Wizard/Pages/passcode-desktop.qml:96
787+#: qml/Wizard/Pages/passcode-desktop.qml:97
791788msgid "Confirm passcode"
792789msgstr ""
793790
@@ -800,28 +797,28 @@ msgctxt "Enter the passcode again"
800797msgid "Please re-enter."
801798msgstr ""
802799
803−#: qml/Wizard/Pages/passcode-desktop.qml:30
800+#: qml/Wizard/Pages/passcode-desktop.qml:31
804801msgid "Lock Screen Passcode"
805802msgstr ""
806803
807−#: qml/Wizard/Pages/passcode-desktop.qml:60
804+#: qml/Wizard/Pages/passcode-desktop.qml:61
808805msgid "Enter 4 numbers to setup your passcode"
809806msgstr ""
810807
811−#: qml/Wizard/Pages/passcode-desktop.qml:76
808+#: qml/Wizard/Pages/passcode-desktop.qml:77
812809#: qml/Wizard/Pages/passcode-set.qml:54
813810msgid "Choose passcode"
814811msgstr ""
815812
816−#: qml/Wizard/Pages/passcode-desktop.qml:126
813+#: qml/Wizard/Pages/passcode-desktop.qml:127
817814msgid "Passcode too short"
818815msgstr ""
819816
820−#: qml/Wizard/Pages/passcode-desktop.qml:128
817+#: qml/Wizard/Pages/passcode-desktop.qml:129
821818msgid "Passcodes match"
822819msgstr ""
823820
824−#: qml/Wizard/Pages/passcode-desktop.qml:130
821+#: qml/Wizard/Pages/passcode-desktop.qml:131
825822msgid "Passcodes do not match"
826823msgstr ""
827824
@@ -829,19 +826,19 @@ msgstr ""
829826msgid "Passcode must be 4 characters long"
830827msgstr ""
831828
832−#: qml/Wizard/Pages/password-set.qml:30
829+#: qml/Wizard/Pages/password-set.qml:31
833830msgid "Lock Screen Password"
834831msgstr ""
835832
836−#: qml/Wizard/Pages/password-set.qml:61
833+#: qml/Wizard/Pages/password-set.qml:62
837834msgid "Enter at least 8 characters"
838835msgstr ""
839836
840−#: qml/Wizard/Pages/password-set.qml:73
837+#: qml/Wizard/Pages/password-set.qml:74
841838msgid "Choose password"
842839msgstr ""
843840
844−#: qml/Wizard/Pages/password-set.qml:103
841+#: qml/Wizard/Pages/password-set.qml:104
845842msgid "Confirm password"
846843msgstr ""
847844
po/ckb.po+162−165
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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"
1111"PO-Revision-Date: 2014-01-21 11:05+0000\n"
1212"Last-Translator: Aras <aras.noori@gmail.com>\n"
1313"Language-Team: Kurdish (Sorani) <ckb@li.org>\n"
@@ -15,104 +15,86 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:54+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:58+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr ""
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr ""
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr ""
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr ""
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
5839msgctxt "Title: Lock/Log out dialog"
5940msgid "Log out"
6041msgstr ""
6142
62−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6344msgid "Are you sure you want to log out?"
6445msgstr ""
6546
66−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
6748msgctxt "Button: Lock the system"
6849msgid "Lock"
6950msgstr ""
7051
71−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7253msgctxt "Button: Log out from the system"
7354msgid "Log Out"
7455msgstr ""
7556
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
77−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
7860#: qml/Wizard/Pages/passcode-set.qml:32
7961msgid "Cancel"
8062msgstr ""
8163
82−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8365msgctxt "Title: Reboot dialog"
8466msgid "Reboot"
8567msgstr ""
8668
87−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
8870msgid "Are you sure you want to reboot?"
8971msgstr ""
9072
91−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9274msgid "No"
9375msgstr ""
9476
95−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
9678msgid "Yes"
9779msgstr ""
9880
99−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10082msgctxt "Title: Power off/Restart dialog"
10183msgid "Power"
10284msgstr ""
10385
104−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10587msgid ""
10688"Are you sure you would like\n"
10789"to power off?"
10890msgstr ""
10991
110−#: qml/Components/Dialogs.qml:200
92+#: qml/Components/Dialogs.qml:205
11193msgctxt "Button: Power off the system"
11294msgid "Power off"
11395msgstr ""
11496
115−#: qml/Components/Dialogs.qml:209
97+#: qml/Components/Dialogs.qml:214
11698msgctxt "Button: Restart the system"
11799msgid "Restart"
118100msgstr ""
@@ -277,15 +259,15 @@ msgstr ""
277259msgid "Closes the current window."
278260msgstr ""
279261
280−#: qml/Components/Lockscreen.qml:239
262+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
281263msgid "Return to Call"
282264msgstr ""
283265
284−#: qml/Components/Lockscreen.qml:239
266+#: qml/Components/Lockscreen.qml:212
285267msgid "Emergency Call"
286268msgstr "هێڵی فریاگوزاری"
287269
288−#: qml/Components/Lockscreen.qml:271
270+#: qml/Components/Lockscreen.qml:244
289271msgid "OK"
290272msgstr ""
291273
@@ -329,84 +311,84 @@ msgstr ""
329311msgid "Preview Share Item"
330312msgstr ""
331313
332−#: qml/Dash/DashPageHeader.qml:333
314+#: qml/Dash/DashPageHeader.qml:361
333315msgctxt "Button: Open the Ubuntu Store"
334316msgid "Store"
335317msgstr ""
336318
337−#: qml/Dash/DashPageHeader.qml:340
319+#: qml/Dash/DashPageHeader.qml:368
338320msgctxt "Button: Start a search in the current dash scope"
339321msgid "Search"
340322msgstr ""
341323
342−#: qml/Dash/DashPageHeader.qml:350
324+#: qml/Dash/DashPageHeader.qml:378
343325msgctxt "Button: Show the current dash scope settings"
344326msgid "Settings"
345327msgstr ""
346328
347−#: qml/Dash/DashPageHeader.qml:357
329+#: qml/Dash/DashPageHeader.qml:385
348330msgid "Remove from Favorites"
349331msgstr ""
350332
351−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
352334msgid "Add to Favorites"
353335msgstr ""
354336
355−#: qml/Dash/FiltersPopover.qml:60
337+#: qml/Dash/FiltersPopover.qml:61
356338msgid "Refine your results"
357339msgstr ""
358340
359−#: qml/Dash/FiltersPopover.qml:69
341+#: qml/Dash/FiltersPopover.qml:70
360342msgid "Reset"
361343msgstr ""
362344
363−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
345+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
364346msgid "Show less"
365347msgstr ""
366348
367−#: qml/Dash/GenericScopeView.qml:580
349+#: qml/Dash/GenericScopeView.qml:547
368350msgid "Show all"
369351msgstr ""
370352
371−#: qml/Dash/GenericScopeView.qml:637
353+#: qml/Dash/GenericScopeView.qml:578
372354msgctxt "Label: Hint for dash search line edit"
373355msgid "Search"
374356msgstr ""
375357
376−#: qml/Dash/PageHeaderExtraPanel.qml:56
358+#: qml/Dash/PageHeaderExtraPanel.qml:67
377359msgid "Recent Searches"
378360msgstr ""
379361
380−#: qml/Dash/PageHeaderExtraPanel.qml:67
362+#: qml/Dash/PageHeaderExtraPanel.qml:78
381363msgid "Clear All"
382364msgstr ""
383365
384−#: qml/Dash/Previews/PreviewActionCombo.qml:35
366+#: qml/Dash/Previews/PreviewActionCombo.qml:36
385367msgid "More..."
386368msgstr ""
387369
388−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
389371msgid "Less..."
390372msgstr ""
391373
392−#: qml/Dash/Previews/PreviewCommentInput.qml:68
393−#: qml/Dash/Previews/PreviewRatingInput.qml:175
374+#: qml/Dash/Previews/PreviewCommentInput.qml:83
375+#: qml/Dash/Previews/PreviewRatingInput.qml:202
394376msgid "Send"
395377msgstr "ناردن"
396378
397−#: qml/Dash/Previews/PreviewRatingInput.qml:82
379+#: qml/Dash/Previews/PreviewRatingInput.qml:109
398380msgid "Rate this"
399381msgstr "پلە دابنی بۆی"
400382
401−#: qml/Dash/Previews/PreviewRatingInput.qml:157
383+#: qml/Dash/Previews/PreviewRatingInput.qml:184
402384msgid "Add a review"
403385msgstr "پێداچوونەوە زۆر بکە"
404386
405−#: qml/Dash/PullToRefreshScopeStyle.qml:55
387+#: qml/Dash/PullToRefreshScopeStyle.qml:56
406388msgid "Pull to refresh…"
407389msgstr ""
408390
409−#: qml/Dash/PullToRefreshScopeStyle.qml:60
391+#: qml/Dash/PullToRefreshScopeStyle.qml:61
410392msgid "Release to refresh…"
411393msgstr ""
412394
@@ -414,15 +396,15 @@ msgstr ""
414396msgid "Enable location data"
415397msgstr ""
416398
417−#: qml/Dash/ScopesList.qml:55
399+#: qml/Dash/ScopesList.qml:57
418400msgid "Manage"
419401msgstr ""
420402
421−#: qml/Dash/ScopesList.qml:102
403+#: qml/Dash/ScopesList.qml:104
422404msgid "Home"
423405msgstr ""
424406
425−#: qml/Dash/ScopesList.qml:103
407+#: qml/Dash/ScopesList.qml:105
426408msgid "Also installed"
427409msgstr ""
428410
@@ -436,79 +418,51 @@ msgstr ""
436418msgid "Unlock"
437419msgstr ""
438420
439−#: qml/Greeter/Greeter.qml:555
440−msgid "Try again"
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."
421+#: qml/Greeter/DelayedLockscreen.qml:43
422+msgid "Device Locked"
469423msgstr ""
470424
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."
425+#: qml/Greeter/DelayedLockscreen.qml:58
426+msgid "You have been locked out due to too many failed passphrase attempts."
475427msgstr ""
476428
477−#: qml/Greeter/NarrowView.qml:60
478−msgid ""
479−"If passcode is entered incorrectly, your phone will conduct a factory reset "
480−"and all personal data will be deleted."
429+#: qml/Greeter/DelayedLockscreen.qml:59
430+msgid "You have been locked out due to too many failed passcode attempts."
481431msgstr ""
482432
483−#: qml/Greeter/NarrowView.qml:129
433+#: qml/Greeter/DelayedLockscreen.qml:68
484434#, 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"
486442msgstr ""
487443
488−#: qml/Greeter/NarrowView.qml:130
489−msgid "Enter passphrase"
444+#: qml/Greeter/LoginList.qml:70
445+msgid "Passphrase"
490446msgstr ""
491447
492−#: qml/Greeter/NarrowView.qml:131
493−msgid "Enter passcode"
448+#: qml/Greeter/LoginList.qml:71
449+msgid "Passcode"
494450msgstr ""
495451
496−#: qml/Greeter/NarrowView.qml:135
497−#, qt-format
498−msgid "Sorry, incorrect %1"
452+#: qml/Greeter/LoginList.qml:98
453+msgid "Retry"
499454msgstr ""
500455
501−#: qml/Greeter/NarrowView.qml:136
502−msgid "Sorry, incorrect passphrase"
456+#: qml/Greeter/LoginList.qml:99
457+msgid "Log In"
503458msgstr ""
504459
505−#: qml/Greeter/NarrowView.qml:137
506−msgctxt "passphrase"
507−msgid "Please re-enter"
460+#: qml/Greeter/NarrowView.qml:252
461+msgid "Emergency"
508462msgstr ""
509463
510−#: qml/Greeter/NarrowView.qml:138
511−msgid "Sorry, incorrect passcode"
464+#: qml/Greeter/SessionsList.qml:122
465+msgid "Select desktop environment"
512466msgstr ""
513467
514468#: qml/Notifications/NotificationMenuItemFactory.qml:124
@@ -523,62 +477,62 @@ msgstr ""
523477msgid "Conference"
524478msgstr ""
525479
526−#: qml/Panel/Indicators/MenuItemFactory.qml:762
480+#: qml/Panel/Indicators/MenuItemFactory.qml:847
527481msgid "Nothing is playing"
528482msgstr ""
529483
530−#: qml/Panel/Indicators/MenuItemFactory.qml:891
484+#: qml/Panel/Indicators/MenuItemFactory.qml:975
531485#, qt-format
532486msgid "%1 hour"
533487msgid_plural "%1 hours"
534488msgstr[0] ""
535489msgstr[1] ""
536490
537−#: qml/Panel/Indicators/MenuItemFactory.qml:895
491+#: qml/Panel/Indicators/MenuItemFactory.qml:979
538492#, qt-format
539493msgid "%1 minute"
540494msgid_plural "%1 minutes"
541495msgstr[0] ""
542496msgstr[1] ""
543497
544−#: qml/Panel/Indicators/MenuItemFactory.qml:900
498+#: qml/Panel/Indicators/MenuItemFactory.qml:984
545499#, qt-format
546500msgid "%1 second"
547501msgid_plural "%1 seconds"
548502msgstr[0] ""
549503msgstr[1] ""
550504
551−#: qml/Panel/Indicators/MenuItemFactory.qml:903
505+#: qml/Panel/Indicators/MenuItemFactory.qml:987
552506msgid "0 seconds"
553507msgstr ""
554508
555509#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
556−#: qml/Panel/Indicators/MenuItemFactory.qml:905
510+#: qml/Panel/Indicators/MenuItemFactory.qml:989
557511#, qt-format
558512msgid "%1 remaining"
559513msgstr ""
560514
561−#: qml/Panel/Indicators/MenuItemFactory.qml:911
515+#: qml/Panel/Indicators/MenuItemFactory.qml:995
562516msgid "In queue…"
563517msgstr ""
564518
565−#: qml/Panel/Indicators/MenuItemFactory.qml:915
519+#: qml/Panel/Indicators/MenuItemFactory.qml:999
566520msgid "Downloading"
567521msgstr ""
568522
569−#: qml/Panel/Indicators/MenuItemFactory.qml:917
523+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
570524msgid "Paused, tap to resume"
571525msgstr ""
572526
573−#: qml/Panel/Indicators/MenuItemFactory.qml:919
527+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
574528msgid "Canceled"
575529msgstr ""
576530
577−#: qml/Panel/Indicators/MenuItemFactory.qml:921
531+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
578532msgid "Finished"
579533msgstr ""
580534
581−#: qml/Panel/Indicators/MenuItemFactory.qml:923
535+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
582536msgid "Failed, tap to retry"
583537msgstr ""
584538
@@ -598,7 +552,7 @@ msgctxt "Button: Call back on phone"
598552msgid "Call back"
599553msgstr ""
600554
601−#: qml/Stages/SideStage.qml:76
555+#: qml/Stage/SideStage.qml:76
602556msgid "Drag using 3 fingers any application from one window to the other"
603557msgstr ""
604558
@@ -627,40 +581,54 @@ msgctxt "Button: Go back one page in the Wizard"
627581msgid "Back"
628582msgstr ""
629583
630−#: qml/Wizard/Pages/10-welcome.qml:27
584+#: qml/Wizard/Pages/10-welcome.qml:28
631585msgid "Language"
632586msgstr ""
633587
634−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
635−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
636−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
588+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
591+#: qml/Wizard/Pages/70-passwd-type.qml:145
637592#: qml/Wizard/Pages/75-report-check.qml:84
638−#: qml/Wizard/Pages/passcode-desktop.qml:141
639−#: qml/Wizard/Pages/password-set.qml:141
593+#: qml/Wizard/Pages/passcode-desktop.qml:142
594+#: qml/Wizard/Pages/password-set.qml:142
640595msgid "Next"
641596msgstr ""
642597
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
644617msgid "Connect to Wi‑Fi"
645618msgstr ""
646619
647−#: qml/Wizard/Pages/30-wifi.qml:130
620+#: qml/Wizard/Pages/30-wifi.qml:132
648621msgid "Connected"
649622msgstr ""
650623
651−#: qml/Wizard/Pages/30-wifi.qml:163
624+#: qml/Wizard/Pages/30-wifi.qml:165
652625msgid "Available Wi-Fi networks"
653626msgstr ""
654627
655−#: qml/Wizard/Pages/30-wifi.qml:164
628+#: qml/Wizard/Pages/30-wifi.qml:166
656629msgid "No available Wi-Fi networks"
657630msgstr ""
658631
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−
664632#: qml/Wizard/Pages/40-location.qml:27
665633msgid "Location Services"
666634msgstr ""
@@ -693,11 +661,11 @@ msgstr ""
693661msgid "You can change it later in System Settings."
694662msgstr ""
695663
696−#: qml/Wizard/Pages/50-timezone.qml:29
664+#: qml/Wizard/Pages/50-timezone.qml:30
697665msgid "Time Zone"
698666msgstr ""
699667
700−#: qml/Wizard/Pages/50-timezone.qml:181
668+#: qml/Wizard/Pages/50-timezone.qml:182
701669msgid "Enter your city"
702670msgstr ""
703671
@@ -709,21 +677,21 @@ msgstr ""
709677msgid "Preferred Name"
710678msgstr ""
711679
712−#: qml/Wizard/Pages/70-passwd-type.qml:39
680+#: qml/Wizard/Pages/70-passwd-type.qml:40
713681msgid "Lock Screen"
714682msgstr ""
715683
716−#: qml/Wizard/Pages/70-passwd-type.qml:101
684+#: qml/Wizard/Pages/70-passwd-type.qml:102
717685msgctxt "Label: Type of security method"
718686msgid "Create new password"
719687msgstr ""
720688
721−#: qml/Wizard/Pages/70-passwd-type.qml:103
689+#: qml/Wizard/Pages/70-passwd-type.qml:104
722690msgctxt "Label: Type of security method"
723691msgid "Create passcode (numbers only)"
724692msgstr ""
725693
726−#: qml/Wizard/Pages/70-passwd-type.qml:105
694+#: qml/Wizard/Pages/70-passwd-type.qml:106
727695msgctxt "Label: Type of security method"
728696msgid "No lock code"
729697msgstr ""
@@ -744,6 +712,35 @@ msgstr ""
744712msgid "Privacy policy"
745713msgstr ""
746714
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+
747744#: qml/Wizard/Pages/80-finished.qml:89
748745msgid "Welcome to Ubuntu"
749746msgstr ""
@@ -787,7 +784,7 @@ msgid "Service Terms"
787784msgstr ""
788785
789786#: qml/Wizard/Pages/passcode-confirm.qml:43
790−#: qml/Wizard/Pages/passcode-desktop.qml:96
787+#: qml/Wizard/Pages/passcode-desktop.qml:97
791788msgid "Confirm passcode"
792789msgstr ""
793790
@@ -800,28 +797,28 @@ msgctxt "Enter the passcode again"
800797msgid "Please re-enter."
801798msgstr ""
802799
803−#: qml/Wizard/Pages/passcode-desktop.qml:30
800+#: qml/Wizard/Pages/passcode-desktop.qml:31
804801msgid "Lock Screen Passcode"
805802msgstr ""
806803
807−#: qml/Wizard/Pages/passcode-desktop.qml:60
804+#: qml/Wizard/Pages/passcode-desktop.qml:61
808805msgid "Enter 4 numbers to setup your passcode"
809806msgstr ""
810807
811−#: qml/Wizard/Pages/passcode-desktop.qml:76
808+#: qml/Wizard/Pages/passcode-desktop.qml:77
812809#: qml/Wizard/Pages/passcode-set.qml:54
813810msgid "Choose passcode"
814811msgstr ""
815812
816−#: qml/Wizard/Pages/passcode-desktop.qml:126
813+#: qml/Wizard/Pages/passcode-desktop.qml:127
817814msgid "Passcode too short"
818815msgstr ""
819816
820−#: qml/Wizard/Pages/passcode-desktop.qml:128
817+#: qml/Wizard/Pages/passcode-desktop.qml:129
821818msgid "Passcodes match"
822819msgstr ""
823820
824−#: qml/Wizard/Pages/passcode-desktop.qml:130
821+#: qml/Wizard/Pages/passcode-desktop.qml:131
825822msgid "Passcodes do not match"
826823msgstr ""
827824
@@ -829,19 +826,19 @@ msgstr ""
829826msgid "Passcode must be 4 characters long"
830827msgstr ""
831828
832−#: qml/Wizard/Pages/password-set.qml:30
829+#: qml/Wizard/Pages/password-set.qml:31
833830msgid "Lock Screen Password"
834831msgstr ""
835832
836−#: qml/Wizard/Pages/password-set.qml:61
833+#: qml/Wizard/Pages/password-set.qml:62
837834msgid "Enter at least 8 characters"
838835msgstr ""
839836
840−#: qml/Wizard/Pages/password-set.qml:73
837+#: qml/Wizard/Pages/password-set.qml:74
841838msgid "Choose password"
842839msgstr ""
843840
844−#: qml/Wizard/Pages/password-set.qml:103
841+#: qml/Wizard/Pages/password-set.qml:104
845842msgid "Confirm password"
846843msgstr ""
847844
po/co.po+215−175
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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"
1111"PO-Revision-Date: 2016-05-24 10:40+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Corsican <co@li.org>\n"
@@ -15,97 +15,75 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr "Parolla d'ordine: "
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr "Fissà l'accurtatoghju"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr "Abbandunà"
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr "Toglie l'accurtatoghju"
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
6239msgctxt "Title: Lock/Log out dialog"
6340msgid "Log out"
6441msgstr "Escì"
6542
66−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6744msgid "Are you sure you want to log out?"
6845msgstr "Site sicuri di vulè escì?"
6946
70−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
7148msgctxt "Button: Lock the system"
7249msgid "Lock"
7350msgstr "Bluccà"
7451
75−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7653msgctxt "Button: Log out from the system"
7754msgid "Log Out"
7855msgstr "Escì"
7956
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
8260#: qml/Wizard/Pages/passcode-set.qml:32
8361msgid "Cancel"
8462msgstr "Annullà"
8563
86−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8765msgctxt "Title: Reboot dialog"
8866msgid "Reboot"
8967msgstr "Turnà ad avvià"
9068
91−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
9270msgid "Are you sure you want to reboot?"
9371msgstr "Site sicuri di vulè turnà ad avvià?"
9472
95−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9674msgid "No"
9775msgstr "Nò"
9876
99−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
10078msgid "Yes"
10179msgstr "Iè"
10280
103−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10482msgctxt "Title: Power off/Restart dialog"
10583msgid "Power"
10684msgstr "Alimentazione"
10785
108−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10987msgid ""
11088"Are you sure you would like\n"
11189"to power off?"
@@ -113,12 +91,12 @@ msgstr ""
11391"Site sicuri di vulè\n"
11492"spenghje?"
11593
116−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
11795msgctxt "Button: Power off the system"
11896msgid "Power off"
11997msgstr "Spenghje"
12098
121−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
122100msgctxt "Button: Restart the system"
123101msgid "Restart"
124102msgstr "Turnà ad avvià"
@@ -283,15 +261,15 @@ msgstr ""
283261msgid "Closes the current window."
284262msgstr ""
285263
286−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287265msgid "Return to Call"
288266msgstr "Turnà à a Chjamata"
289267
290−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
291269msgid "Emergency Call"
292270msgstr "Chjamata d'emergenza"
293271
294−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
295273msgid "OK"
296274msgstr "OK"
297275
@@ -337,84 +315,84 @@ msgstr "Chjode tuttu"
337315msgid "Preview Share Item"
338316msgstr "Anteprima elementi da sparte"
339317
340−#: qml/Dash/DashPageHeader.qml:333
318+#: qml/Dash/DashPageHeader.qml:361
341319msgctxt "Button: Open the Ubuntu Store"
342320msgid "Store"
343321msgstr "Buttega"
344322
345−#: qml/Dash/DashPageHeader.qml:340
323+#: qml/Dash/DashPageHeader.qml:368
346324msgctxt "Button: Start a search in the current dash scope"
347325msgid "Search"
348326msgstr "Circà"
349327
350−#: qml/Dash/DashPageHeader.qml:350
328+#: qml/Dash/DashPageHeader.qml:378
351329msgctxt "Button: Show the current dash scope settings"
352330msgid "Settings"
353331msgstr "Parametri"
354332
355−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
356334msgid "Remove from Favorites"
357335msgstr "Toglie da i Favuriti"
358336
359−#: qml/Dash/DashPageHeader.qml:357
337+#: qml/Dash/DashPageHeader.qml:385
360338msgid "Add to Favorites"
361339msgstr "Aghjustà à i Favuriti"
362340
363−#: qml/Dash/FiltersPopover.qml:60
341+#: qml/Dash/FiltersPopover.qml:61
364342msgid "Refine your results"
365343msgstr "Raffinà i risultati"
366344
367−#: qml/Dash/FiltersPopover.qml:69
345+#: qml/Dash/FiltersPopover.qml:70
368346msgid "Reset"
369347msgstr "Re-inizializzà"
370348
371−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
349+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
372350msgid "Show less"
373351msgstr ""
374352
375−#: qml/Dash/GenericScopeView.qml:580
353+#: qml/Dash/GenericScopeView.qml:547
376354msgid "Show all"
377355msgstr ""
378356
379−#: qml/Dash/GenericScopeView.qml:637
357+#: qml/Dash/GenericScopeView.qml:578
380358msgctxt "Label: Hint for dash search line edit"
381359msgid "Search"
382360msgstr "Circà"
383361
384−#: qml/Dash/PageHeaderExtraPanel.qml:56
362+#: qml/Dash/PageHeaderExtraPanel.qml:67
385363msgid "Recent Searches"
386364msgstr "Ricerche recente"
387365
388−#: qml/Dash/PageHeaderExtraPanel.qml:67
366+#: qml/Dash/PageHeaderExtraPanel.qml:78
389367msgid "Clear All"
390368msgstr "Squassà tuttu"
391369
392−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
393371msgid "More..."
394372msgstr "Di più..."
395373
396−#: qml/Dash/Previews/PreviewActionCombo.qml:35
374+#: qml/Dash/Previews/PreviewActionCombo.qml:36
397375msgid "Less..."
398376msgstr "Menu..."
399377
400−#: qml/Dash/Previews/PreviewCommentInput.qml:68
401−#: qml/Dash/Previews/PreviewRatingInput.qml:175
378+#: qml/Dash/Previews/PreviewCommentInput.qml:83
379+#: qml/Dash/Previews/PreviewRatingInput.qml:202
402380msgid "Send"
403381msgstr "Mandà"
404382
405−#: qml/Dash/Previews/PreviewRatingInput.qml:82
383+#: qml/Dash/Previews/PreviewRatingInput.qml:109
406384msgid "Rate this"
407385msgstr "Ghjudicà questu"
408386
409−#: qml/Dash/Previews/PreviewRatingInput.qml:157
387+#: qml/Dash/Previews/PreviewRatingInput.qml:184
410388msgid "Add a review"
411389msgstr "Aghjustà una recensione"
412390
413−#: qml/Dash/PullToRefreshScopeStyle.qml:55
391+#: qml/Dash/PullToRefreshScopeStyle.qml:56
414392msgid "Pull to refresh…"
415393msgstr "Tirà per rinnuvà..."
416394
417−#: qml/Dash/PullToRefreshScopeStyle.qml:60
395+#: qml/Dash/PullToRefreshScopeStyle.qml:61
418396msgid "Release to refresh…"
419397msgstr "Lascià andà per rinnuvà..."
420398
@@ -422,15 +400,15 @@ msgstr "Lascià andà per rinnuvà..."
422400msgid "Enable location data"
423401msgstr "Abilità i dati nant'à u locu"
424402
425−#: qml/Dash/ScopesList.qml:55
403+#: qml/Dash/ScopesList.qml:57
426404msgid "Manage"
427405msgstr "Gestì"
428406
429−#: qml/Dash/ScopesList.qml:102
407+#: qml/Dash/ScopesList.qml:104
430408msgid "Home"
431409msgstr "Accolta"
432410
433−#: qml/Dash/ScopesList.qml:103
411+#: qml/Dash/ScopesList.qml:105
434412msgid "Also installed"
435413msgstr "Anu dinù installatu..."
436414
@@ -446,84 +424,56 @@ msgstr ""
446424msgid "Unlock"
447425msgstr "Sbluccà"
448426
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
450451msgid "Try again"
451452msgstr ""
452453
453−#: qml/Greeter/LoginList.qml:63
454+#: qml/Greeter/LoginList.qml:70
454455msgid "Passphrase"
455456msgstr ""
456457
457−#: qml/Greeter/LoginList.qml:64
458+#: qml/Greeter/LoginList.qml:71
458459msgid "Passcode"
459460msgstr ""
460461
461−#: qml/Greeter/LoginList.qml:87
462+#: qml/Greeter/LoginList.qml:98
462463msgid "Retry"
463464msgstr "Turnà à pruvà"
464465
465−#: qml/Greeter/LoginList.qml:88
466+#: qml/Greeter/LoginList.qml:99
466467msgid "Log In"
467468msgstr ""
468469
469−#: qml/Greeter/NarrowView.qml:55
470−msgid "Sorry, incorrect passphrase."
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."
470+#: qml/Greeter/NarrowView.qml:252
471+msgid "Emergency"
485472msgstr ""
486−"Si a frasa d'ordine hè errata, u telefunu serà reinizializatu, è tutti i "
487−"dati persunali serannu perduti."
488473
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."
474+#: qml/Greeter/SessionsList.qml:122
475+msgid "Select desktop environment"
493476msgstr ""
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"
527477
528478#: qml/Notifications/NotificationMenuItemFactory.qml:124
529479msgid "Show password"
@@ -537,62 +487,62 @@ msgstr "Tuccà per riturnà à a chjamata..."
537487msgid "Conference"
538488msgstr "Cunferenza"
539489
540−#: qml/Panel/Indicators/MenuItemFactory.qml:762
490+#: qml/Panel/Indicators/MenuItemFactory.qml:847
541491msgid "Nothing is playing"
542492msgstr "Nunda in ripruduzione..."
543493
544−#: qml/Panel/Indicators/MenuItemFactory.qml:891
494+#: qml/Panel/Indicators/MenuItemFactory.qml:975
545495#, qt-format
546496msgid "%1 hour"
547497msgid_plural "%1 hours"
548498msgstr[0] "%1 ora"
549499msgstr[1] "%1 ore"
550500
551−#: qml/Panel/Indicators/MenuItemFactory.qml:895
501+#: qml/Panel/Indicators/MenuItemFactory.qml:979
552502#, qt-format
553503msgid "%1 minute"
554504msgid_plural "%1 minutes"
555505msgstr[0] "%1 minutu"
556506msgstr[1] "%1 minuti"
557507
558−#: qml/Panel/Indicators/MenuItemFactory.qml:900
508+#: qml/Panel/Indicators/MenuItemFactory.qml:984
559509#, qt-format
560510msgid "%1 second"
561511msgid_plural "%1 seconds"
562512msgstr[0] "%1 seconda"
563513msgstr[1] "%1 seconde"
564514
565−#: qml/Panel/Indicators/MenuItemFactory.qml:903
515+#: qml/Panel/Indicators/MenuItemFactory.qml:987
566516msgid "0 seconds"
567517msgstr "0 seconde"
568518
569519#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
570−#: qml/Panel/Indicators/MenuItemFactory.qml:905
520+#: qml/Panel/Indicators/MenuItemFactory.qml:989
571521#, qt-format
572522msgid "%1 remaining"
573523msgstr "%1 rimanente"
574524
575−#: qml/Panel/Indicators/MenuItemFactory.qml:911
525+#: qml/Panel/Indicators/MenuItemFactory.qml:995
576526msgid "In queue…"
577527msgstr "In coda..."
578528
579−#: qml/Panel/Indicators/MenuItemFactory.qml:915
529+#: qml/Panel/Indicators/MenuItemFactory.qml:999
580530msgid "Downloading"
581531msgstr "Scaricamentu..."
582532
583−#: qml/Panel/Indicators/MenuItemFactory.qml:917
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
584534msgid "Paused, tap to resume"
585535msgstr "In sosta, tuccà pè riprende"
586536
587−#: qml/Panel/Indicators/MenuItemFactory.qml:919
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
588538msgid "Canceled"
589539msgstr "Annullatu"
590540
591−#: qml/Panel/Indicators/MenuItemFactory.qml:921
541+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
592542msgid "Finished"
593543msgstr "Cumpletu"
594544
595−#: qml/Panel/Indicators/MenuItemFactory.qml:923
545+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
596546msgid "Failed, tap to retry"
597547msgstr "Fallatu, tocca per turnà à pruvà"
598548
@@ -612,7 +562,7 @@ msgctxt "Button: Call back on phone"
612562msgid "Call back"
613563msgstr "Richjamà"
614564
615−#: qml/Stages/SideStage.qml:76
565+#: qml/Stage/SideStage.qml:76
616566msgid "Drag using 3 fingers any application from one window to the other"
617567msgstr ""
618568"Trascinà cù 3 dite qualichissia applicazione da una finestra à un'antra"
@@ -642,40 +592,54 @@ msgctxt "Button: Go back one page in the Wizard"
642592msgid "Back"
643593msgstr "Riturnà"
644594
645−#: qml/Wizard/Pages/10-welcome.qml:27
595+#: qml/Wizard/Pages/10-welcome.qml:28
646596msgid "Language"
647597msgstr "Lingua"
648598
649−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
650−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
651−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
599+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
602+#: qml/Wizard/Pages/70-passwd-type.qml:145
652603#: qml/Wizard/Pages/75-report-check.qml:84
653−#: qml/Wizard/Pages/passcode-desktop.qml:141
654−#: qml/Wizard/Pages/password-set.qml:141
604+#: qml/Wizard/Pages/passcode-desktop.qml:142
605+#: qml/Wizard/Pages/password-set.qml:142
655606msgid "Next"
656607msgstr "Prossimu"
657608
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
659628msgid "Connect to Wi‑Fi"
660629msgstr "Cunnettesi à u Wi-Fi"
661630
662−#: qml/Wizard/Pages/30-wifi.qml:130
631+#: qml/Wizard/Pages/30-wifi.qml:132
663632msgid "Connected"
664633msgstr "Cunnessu"
665634
666−#: qml/Wizard/Pages/30-wifi.qml:163
635+#: qml/Wizard/Pages/30-wifi.qml:165
667636msgid "Available Wi-Fi networks"
668637msgstr "Rete Wi-Fi dispunibili"
669638
670−#: qml/Wizard/Pages/30-wifi.qml:164
639+#: qml/Wizard/Pages/30-wifi.qml:166
671640msgid "No available Wi-Fi networks"
672641msgstr "Nisuna reta Wi-Fi hè dispunibile"
673642
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−
679643#: qml/Wizard/Pages/40-location.qml:27
680644msgid "Location Services"
681645msgstr "Servizi di lucalizazione"
@@ -710,11 +674,11 @@ msgstr "Miccà usà u mo locu"
710674msgid "You can change it later in System Settings."
711675msgstr "A pudite cambià successivamente ind'i Parametri di Sistema"
712676
713−#: qml/Wizard/Pages/50-timezone.qml:29
677+#: qml/Wizard/Pages/50-timezone.qml:30
714678msgid "Time Zone"
715679msgstr "Fusu orariu"
716680
717−#: qml/Wizard/Pages/50-timezone.qml:181
681+#: qml/Wizard/Pages/50-timezone.qml:182
718682msgid "Enter your city"
719683msgstr "Inserì a vostra cità"
720684
@@ -726,21 +690,21 @@ msgstr "Persunalizà u vostru dispusitivu"
726690msgid "Preferred Name"
727691msgstr "Nome preferitu"
728692
729−#: qml/Wizard/Pages/70-passwd-type.qml:39
693+#: qml/Wizard/Pages/70-passwd-type.qml:40
730694msgid "Lock Screen"
731695msgstr "Bluccà u screnu"
732696
733−#: qml/Wizard/Pages/70-passwd-type.qml:101
697+#: qml/Wizard/Pages/70-passwd-type.qml:102
734698msgctxt "Label: Type of security method"
735699msgid "Create new password"
736700msgstr "Creà una nova parolla d'ordine"
737701
738−#: qml/Wizard/Pages/70-passwd-type.qml:103
702+#: qml/Wizard/Pages/70-passwd-type.qml:104
739703msgctxt "Label: Type of security method"
740704msgid "Create passcode (numbers only)"
741705msgstr "Creà un codice d'accessu (sulamente numeri)"
742706
743−#: qml/Wizard/Pages/70-passwd-type.qml:105
707+#: qml/Wizard/Pages/70-passwd-type.qml:106
744708msgctxt "Label: Type of security method"
745709msgid "No lock code"
746710msgstr "Nisun codice di bloccu"
@@ -763,6 +727,35 @@ msgstr ""
763727msgid "Privacy policy"
764728msgstr "Pulitica di Riservatezza"
765729
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+
766759#: qml/Wizard/Pages/80-finished.qml:89
767760msgid "Welcome to Ubuntu"
768761msgstr "Benvenuti in Ubuntu"
@@ -811,7 +804,7 @@ msgid "Service Terms"
811804msgstr "Termini di u serviziu"
812805
813806#: qml/Wizard/Pages/passcode-confirm.qml:43
814−#: qml/Wizard/Pages/passcode-desktop.qml:96
807+#: qml/Wizard/Pages/passcode-desktop.qml:97
815808msgid "Confirm passcode"
816809msgstr "Cunfirmà u codice d'accessu"
817810
@@ -824,28 +817,28 @@ msgctxt "Enter the passcode again"
824817msgid "Please re-enter."
825818msgstr "Ripete l'inserimentu."
826819
827−#: qml/Wizard/Pages/passcode-desktop.qml:30
820+#: qml/Wizard/Pages/passcode-desktop.qml:31
828821msgid "Lock Screen Passcode"
829822msgstr "Codice bloccu screnu"
830823
831−#: qml/Wizard/Pages/passcode-desktop.qml:60
824+#: qml/Wizard/Pages/passcode-desktop.qml:61
832825msgid "Enter 4 numbers to setup your passcode"
833826msgstr "Inserì 4 numeri per creà u vostru codice d'accessu"
834827
835−#: qml/Wizard/Pages/passcode-desktop.qml:76
828+#: qml/Wizard/Pages/passcode-desktop.qml:77
836829#: qml/Wizard/Pages/passcode-set.qml:54
837830msgid "Choose passcode"
838831msgstr "Sceglie u codice d'accessu"
839832
840−#: qml/Wizard/Pages/passcode-desktop.qml:126
833+#: qml/Wizard/Pages/passcode-desktop.qml:127
841834msgid "Passcode too short"
842835msgstr "Codice d'accessu troppu cortu"
843836
844−#: qml/Wizard/Pages/passcode-desktop.qml:128
837+#: qml/Wizard/Pages/passcode-desktop.qml:129
845838msgid "Passcodes match"
846839msgstr "I codici currispondenu."
847840
848−#: qml/Wizard/Pages/passcode-desktop.qml:130
841+#: qml/Wizard/Pages/passcode-desktop.qml:131
849842msgid "Passcodes do not match"
850843msgstr "I codici ùn currispondenu micca."
851844
@@ -853,19 +846,19 @@ msgstr "I codici ùn currispondenu micca."
853846msgid "Passcode must be 4 characters long"
854847msgstr "U codice d'accessu hà da esse longu almenu 4 caratteri"
855848
856−#: qml/Wizard/Pages/password-set.qml:30
849+#: qml/Wizard/Pages/password-set.qml:31
857850msgid "Lock Screen Password"
858851msgstr "Parolla d'ordine per bloccu screnu"
859852
860−#: qml/Wizard/Pages/password-set.qml:61
853+#: qml/Wizard/Pages/password-set.qml:62
861854msgid "Enter at least 8 characters"
862855msgstr "Inserì almenu 8 caratteri"
863856
864−#: qml/Wizard/Pages/password-set.qml:73
857+#: qml/Wizard/Pages/password-set.qml:74
865858msgid "Choose password"
866859msgstr "Sceglie a parolla d'ordine"
867860
868−#: qml/Wizard/Pages/password-set.qml:103
861+#: qml/Wizard/Pages/password-set.qml:104
869862msgid "Confirm password"
870863msgstr "Cunfirmà parolla d'ordine"
871864
@@ -928,9 +921,21 @@ msgstr "Parolla d'ordine moltu debule"
928921#~ msgid "Tap to unlock"
929922#~ msgstr "Tuccà per sbluccà"
930923
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+
931930#~ msgid "See less"
932931#~ msgstr "Vede menu"
933932
933+#~ msgid "Enter passphrase"
934+#~ msgstr "Inserì a frasa d'ordine"
935+
936+#~ msgid "Enter passcode"
937+#~ msgstr "Inserì u codice d'accessu"
938+
934939#~ msgid "Swipe from the left edge to open the launcher"
935940#~ msgstr "Scorre da mancina versu diritta per aprì u launcher"
936941
@@ -953,6 +958,20 @@ msgstr "Parolla d'ordine moltu debule"
953958#~ msgstr ""
954959#~ "Scorre cortu o longu da diritta versu mancina per vede e applicazioni aperte"
955960
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+
956975#~ msgid "Swipe from the top right edge to open the notification bar"
957976#~ msgstr "Scorre da l'altu à diritta per aprì a barra di e nutificazione"
958977
@@ -962,3 +981,24 @@ msgstr "Parolla d'ordine moltu debule"
962981#~ msgid "Hover your mouse on the right edge to view your open apps"
963982#~ msgstr ""
964983#~ "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 ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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"
1111"PO-Revision-Date: 2015-07-07 10:44+0000\n"
1212"Last-Translator: Vojtěch Daněk <vdanek@outlook.com>\n"
1313"Language-Team: Czech <cs@li.org>\n"
@@ -15,97 +15,76 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"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"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020"Language: cs\n"
2121
2222#: plugins/LightDM/Greeter.cpp:123
2323msgid "Password: "
2424msgstr "Heslo: "
2525
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
2828msgid "Pin shortcut"
2929msgstr "Připíchnout zkratku"
3030
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
3232msgid "Quit"
3333msgstr ""
3434
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
3636msgid "Unpin shortcut"
3737msgstr "Odpíchnout zkratku"
3838
39−#: qml/Components/DelayedLockscreen.qml:50
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
39+#: qml/Components/Dialogs.qml:149
6240msgctxt "Title: Lock/Log out dialog"
6341msgid "Log out"
6442msgstr "Odhlásit se"
6543
66−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
6745msgid "Are you sure you want to log out?"
6846msgstr "Jste si jistí, že se chcete odhlásit?"
6947
70−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
7149msgctxt "Button: Lock the system"
7250msgid "Lock"
7351msgstr "Uzamknout"
7452
75−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
7654msgctxt "Button: Log out from the system"
7755msgid "Log Out"
7856msgstr "Odhlásit"
7957
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
8261#: qml/Wizard/Pages/passcode-set.qml:32
8362msgid "Cancel"
8463msgstr "Zrušit"
8564
86−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
8766msgctxt "Title: Reboot dialog"
8867msgid "Reboot"
8968msgstr "Restartovat"
9069
91−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
9271msgid "Are you sure you want to reboot?"
9372msgstr "Jste si jistí, že chcete zařízení restartovat?"
9473
95−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
9675msgid "No"
9776msgstr "Ne"
9877
99−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
10079msgid "Yes"
10180msgstr "Ano"
10281
103−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
10483msgctxt "Title: Power off/Restart dialog"
10584msgid "Power"
10685msgstr "Vypnutí"
10786
108−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
10988msgid ""
11089"Are you sure you would like\n"
11190"to power off?"
@@ -113,12 +92,12 @@ msgstr ""
11392"Jste si jistí, že chcete\n"
11493"telefon vypnout?"
11594
116−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
11796msgctxt "Button: Power off the system"
11897msgid "Power off"
11998msgstr "Vypnutí"
12099
121−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
122101msgctxt "Button: Restart the system"
123102msgid "Restart"
124103msgstr "Reboot"
@@ -283,15 +262,15 @@ msgstr ""
283262msgid "Closes the current window."
284263msgstr ""
285264
286−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287266msgid "Return to Call"
288267msgstr "Vrátit se k hovoru"
289268
290−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
291270msgid "Emergency Call"
292271msgstr "Tísňové volání"
293272
294−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
295274msgid "OK"
296275msgstr "OK"
297276
@@ -335,84 +314,84 @@ msgstr ""
335314msgid "Preview Share Item"
336315msgstr ""
337316
338−#: qml/Dash/DashPageHeader.qml:333
317+#: qml/Dash/DashPageHeader.qml:361
339318msgctxt "Button: Open the Ubuntu Store"
340319msgid "Store"
341320msgstr "Obchod"
342321
343−#: qml/Dash/DashPageHeader.qml:340
322+#: qml/Dash/DashPageHeader.qml:368
344323msgctxt "Button: Start a search in the current dash scope"
345324msgid "Search"
346325msgstr "Hledat"
347326
348−#: qml/Dash/DashPageHeader.qml:350
327+#: qml/Dash/DashPageHeader.qml:378
349328msgctxt "Button: Show the current dash scope settings"
350329msgid "Settings"
351330msgstr "Nastavení"
352331
353−#: qml/Dash/DashPageHeader.qml:357
332+#: qml/Dash/DashPageHeader.qml:385
354333msgid "Remove from Favorites"
355334msgstr "Odstranit z oblíbených"
356335
357−#: qml/Dash/DashPageHeader.qml:357
336+#: qml/Dash/DashPageHeader.qml:385
358337msgid "Add to Favorites"
359338msgstr "Přidat do oblíbených"
360339
361−#: qml/Dash/FiltersPopover.qml:60
340+#: qml/Dash/FiltersPopover.qml:61
362341msgid "Refine your results"
363342msgstr ""
364343
365−#: qml/Dash/FiltersPopover.qml:69
344+#: qml/Dash/FiltersPopover.qml:70
366345msgid "Reset"
367346msgstr ""
368347
369−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
348+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
370349msgid "Show less"
371350msgstr ""
372351
373−#: qml/Dash/GenericScopeView.qml:580
352+#: qml/Dash/GenericScopeView.qml:547
374353msgid "Show all"
375354msgstr ""
376355
377−#: qml/Dash/GenericScopeView.qml:637
356+#: qml/Dash/GenericScopeView.qml:578
378357msgctxt "Label: Hint for dash search line edit"
379358msgid "Search"
380359msgstr "Hledat"
381360
382−#: qml/Dash/PageHeaderExtraPanel.qml:56
361+#: qml/Dash/PageHeaderExtraPanel.qml:67
383362msgid "Recent Searches"
384363msgstr ""
385364
386−#: qml/Dash/PageHeaderExtraPanel.qml:67
365+#: qml/Dash/PageHeaderExtraPanel.qml:78
387366msgid "Clear All"
388367msgstr ""
389368
390−#: qml/Dash/Previews/PreviewActionCombo.qml:35
369+#: qml/Dash/Previews/PreviewActionCombo.qml:36
391370msgid "More..."
392371msgstr "Více..."
393372
394−#: qml/Dash/Previews/PreviewActionCombo.qml:35
373+#: qml/Dash/Previews/PreviewActionCombo.qml:36
395374msgid "Less..."
396375msgstr "Méně..."
397376
398−#: qml/Dash/Previews/PreviewCommentInput.qml:68
399−#: qml/Dash/Previews/PreviewRatingInput.qml:175
377+#: qml/Dash/Previews/PreviewCommentInput.qml:83
378+#: qml/Dash/Previews/PreviewRatingInput.qml:202
400379msgid "Send"
401380msgstr "Odeslat"
402381
403−#: qml/Dash/Previews/PreviewRatingInput.qml:82
382+#: qml/Dash/Previews/PreviewRatingInput.qml:109
404383msgid "Rate this"
405384msgstr "Ohodnoťte to"
406385
407−#: qml/Dash/Previews/PreviewRatingInput.qml:157
386+#: qml/Dash/Previews/PreviewRatingInput.qml:184
408387msgid "Add a review"
409388msgstr "Přidat recenzi"
410389
411−#: qml/Dash/PullToRefreshScopeStyle.qml:55
390+#: qml/Dash/PullToRefreshScopeStyle.qml:56
412391msgid "Pull to refresh…"
413392msgstr "Vytáhněte pro obnovení..."
414393
415−#: qml/Dash/PullToRefreshScopeStyle.qml:60
394+#: qml/Dash/PullToRefreshScopeStyle.qml:61
416395msgid "Release to refresh…"
417396msgstr "Pusťte pro obnovení..."
418397
@@ -420,15 +399,15 @@ msgstr "Pusťte pro obnovení..."
420399msgid "Enable location data"
421400msgstr "Povolit údaje umístění"
422401
423−#: qml/Dash/ScopesList.qml:55
402+#: qml/Dash/ScopesList.qml:57
424403msgid "Manage"
425404msgstr "Spravovat"
426405
427−#: qml/Dash/ScopesList.qml:102
406+#: qml/Dash/ScopesList.qml:104
428407msgid "Home"
429408msgstr "Domů"
430409
431−#: qml/Dash/ScopesList.qml:103
410+#: qml/Dash/ScopesList.qml:105
432411msgid "Also installed"
433412msgstr "Také nainstalováno"
434413
@@ -442,85 +421,56 @@ msgstr ""
442421msgid "Unlock"
443422msgstr "Odemknout"
444423
445−#: qml/Greeter/Greeter.qml:555
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+
446+#: qml/Greeter/Greeter.qml:596
446447msgid "Try again"
447448msgstr ""
448449
449−#: qml/Greeter/LoginList.qml:63
450+#: qml/Greeter/LoginList.qml:70
450451msgid "Passphrase"
451452msgstr ""
452453
453−#: qml/Greeter/LoginList.qml:64
454+#: qml/Greeter/LoginList.qml:71
454455msgid "Passcode"
455456msgstr ""
456457
457−#: qml/Greeter/LoginList.qml:87
458+#: qml/Greeter/LoginList.qml:98
458459msgid "Retry"
459460msgstr "Znovu"
460461
461−#: qml/Greeter/LoginList.qml:88
462+#: qml/Greeter/LoginList.qml:99
462463msgid "Log In"
463464msgstr ""
464465
465−#: qml/Greeter/NarrowView.qml:55
466−msgid "Sorry, incorrect passphrase."
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."
466+#: qml/Greeter/NarrowView.qml:252
467+msgid "Emergency"
489468msgstr ""
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"
505469
506−#: qml/Greeter/NarrowView.qml:135
507−#, qt-format
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"
470+#: qml/Greeter/SessionsList.qml:122
471+msgid "Select desktop environment"
518472msgstr ""
519473
520−#: qml/Greeter/NarrowView.qml:138
521−msgid "Sorry, incorrect passcode"
522−msgstr "Špatné heslo"
523−
524474#: qml/Notifications/NotificationMenuItemFactory.qml:124
525475msgid "Show password"
526476msgstr "Zobrazit heslo"
@@ -533,11 +483,11 @@ msgstr "Klepnutím se vrátíte k hovoru..."
533483msgid "Conference"
534484msgstr "Konferenční hovor"
535485
536−#: qml/Panel/Indicators/MenuItemFactory.qml:762
486+#: qml/Panel/Indicators/MenuItemFactory.qml:847
537487msgid "Nothing is playing"
538488msgstr "Nic se nepřehrává"
539489
540−#: qml/Panel/Indicators/MenuItemFactory.qml:891
490+#: qml/Panel/Indicators/MenuItemFactory.qml:975
541491#, qt-format
542492msgid "%1 hour"
543493msgid_plural "%1 hours"
@@ -545,7 +495,7 @@ msgstr[0] "%1 hodina"
545495msgstr[1] "%1 hodiny"
546496msgstr[2] "%1 hodin"
547497
548−#: qml/Panel/Indicators/MenuItemFactory.qml:895
498+#: qml/Panel/Indicators/MenuItemFactory.qml:979
549499#, qt-format
550500msgid "%1 minute"
551501msgid_plural "%1 minutes"
@@ -553,7 +503,7 @@ msgstr[0] "%1 minuta"
553503msgstr[1] "%1 minuty"
554504msgstr[2] "%1 minut"
555505
556−#: qml/Panel/Indicators/MenuItemFactory.qml:900
506+#: qml/Panel/Indicators/MenuItemFactory.qml:984
557507#, qt-format
558508msgid "%1 second"
559509msgid_plural "%1 seconds"
@@ -561,37 +511,37 @@ msgstr[0] "%1 sekunda"
561511msgstr[1] "%1 sekundy"
562512msgstr[2] "%1 sekund"
563513
564−#: qml/Panel/Indicators/MenuItemFactory.qml:903
514+#: qml/Panel/Indicators/MenuItemFactory.qml:987
565515msgid "0 seconds"
566516msgstr "0 sekund"
567517
568518#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
569−#: qml/Panel/Indicators/MenuItemFactory.qml:905
519+#: qml/Panel/Indicators/MenuItemFactory.qml:989
570520#, qt-format
571521msgid "%1 remaining"
572522msgstr "Zbývá %1"
573523
574−#: qml/Panel/Indicators/MenuItemFactory.qml:911
524+#: qml/Panel/Indicators/MenuItemFactory.qml:995
575525msgid "In queue…"
576526msgstr "Ve frontě..."
577527
578−#: qml/Panel/Indicators/MenuItemFactory.qml:915
528+#: qml/Panel/Indicators/MenuItemFactory.qml:999
579529msgid "Downloading"
580530msgstr "Stahování"
581531
582−#: qml/Panel/Indicators/MenuItemFactory.qml:917
532+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
583533msgid "Paused, tap to resume"
584534msgstr "Pauza, pro pokračování klepněte"
585535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:919
536+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
587537msgid "Canceled"
588538msgstr "Zrušeno"
589539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:921
540+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
591541msgid "Finished"
592542msgstr "Dokončeno"
593543
594−#: qml/Panel/Indicators/MenuItemFactory.qml:923
544+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
595545msgid "Failed, tap to retry"
596546msgstr "Nezdařilo se, opakujte klepnutím"
597547
@@ -611,7 +561,7 @@ msgctxt "Button: Call back on phone"
611561msgid "Call back"
612562msgstr ""
613563
614−#: qml/Stages/SideStage.qml:76
564+#: qml/Stage/SideStage.qml:76
615565msgid "Drag using 3 fingers any application from one window to the other"
616566msgstr ""
617567
@@ -640,40 +590,54 @@ msgctxt "Button: Go back one page in the Wizard"
640590msgid "Back"
641591msgstr "Zpět"
642592
643−#: qml/Wizard/Pages/10-welcome.qml:27
593+#: qml/Wizard/Pages/10-welcome.qml:28
644594msgid "Language"
645595msgstr ""
646596
647−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
648−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
649−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
597+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
600+#: qml/Wizard/Pages/70-passwd-type.qml:145
650601#: qml/Wizard/Pages/75-report-check.qml:84
651−#: qml/Wizard/Pages/passcode-desktop.qml:141
652−#: qml/Wizard/Pages/password-set.qml:141
602+#: qml/Wizard/Pages/passcode-desktop.qml:142
603+#: qml/Wizard/Pages/password-set.qml:142
653604msgid "Next"
654605msgstr ""
655606
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
657626msgid "Connect to Wi‑Fi"
658627msgstr "Připojte se k Wi-Fi"
659628
660−#: qml/Wizard/Pages/30-wifi.qml:130
629+#: qml/Wizard/Pages/30-wifi.qml:132
661630msgid "Connected"
662631msgstr ""
663632
664−#: qml/Wizard/Pages/30-wifi.qml:163
633+#: qml/Wizard/Pages/30-wifi.qml:165
665634msgid "Available Wi-Fi networks"
666635msgstr ""
667636
668−#: qml/Wizard/Pages/30-wifi.qml:164
637+#: qml/Wizard/Pages/30-wifi.qml:166
669638msgid "No available Wi-Fi networks"
670639msgstr ""
671640
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−
677641#: qml/Wizard/Pages/40-location.qml:27
678642msgid "Location Services"
679643msgstr ""
@@ -706,11 +670,11 @@ msgstr ""
706670msgid "You can change it later in System Settings."
707671msgstr ""
708672
709−#: qml/Wizard/Pages/50-timezone.qml:29
673+#: qml/Wizard/Pages/50-timezone.qml:30
710674msgid "Time Zone"
711675msgstr ""
712676
713−#: qml/Wizard/Pages/50-timezone.qml:181
677+#: qml/Wizard/Pages/50-timezone.qml:182
714678msgid "Enter your city"
715679msgstr ""
716680
@@ -722,21 +686,21 @@ msgstr ""
722686msgid "Preferred Name"
723687msgstr ""
724688
725−#: qml/Wizard/Pages/70-passwd-type.qml:39
689+#: qml/Wizard/Pages/70-passwd-type.qml:40
726690msgid "Lock Screen"
727691msgstr ""
728692
729−#: qml/Wizard/Pages/70-passwd-type.qml:101
693+#: qml/Wizard/Pages/70-passwd-type.qml:102
730694msgctxt "Label: Type of security method"
731695msgid "Create new password"
732696msgstr ""
733697
734−#: qml/Wizard/Pages/70-passwd-type.qml:103
698+#: qml/Wizard/Pages/70-passwd-type.qml:104
735699msgctxt "Label: Type of security method"
736700msgid "Create passcode (numbers only)"
737701msgstr ""
738702
739−#: qml/Wizard/Pages/70-passwd-type.qml:105
703+#: qml/Wizard/Pages/70-passwd-type.qml:106
740704msgctxt "Label: Type of security method"
741705msgid "No lock code"
742706msgstr ""
@@ -757,6 +721,35 @@ msgstr ""
757721msgid "Privacy policy"
758722msgstr ""
759723
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+
760753#: qml/Wizard/Pages/80-finished.qml:89
761754msgid "Welcome to Ubuntu"
762755msgstr ""
@@ -800,7 +793,7 @@ msgid "Service Terms"
800793msgstr ""
801794
802795#: qml/Wizard/Pages/passcode-confirm.qml:43
803−#: qml/Wizard/Pages/passcode-desktop.qml:96
796+#: qml/Wizard/Pages/passcode-desktop.qml:97
804797msgid "Confirm passcode"
805798msgstr "Potvrdit číselné heslo"
806799
@@ -813,28 +806,28 @@ msgctxt "Enter the passcode again"
813806msgid "Please re-enter."
814807msgstr ""
815808
816−#: qml/Wizard/Pages/passcode-desktop.qml:30
809+#: qml/Wizard/Pages/passcode-desktop.qml:31
817810msgid "Lock Screen Passcode"
818811msgstr ""
819812
820−#: qml/Wizard/Pages/passcode-desktop.qml:60
813+#: qml/Wizard/Pages/passcode-desktop.qml:61
821814msgid "Enter 4 numbers to setup your passcode"
822815msgstr ""
823816
824−#: qml/Wizard/Pages/passcode-desktop.qml:76
817+#: qml/Wizard/Pages/passcode-desktop.qml:77
825818#: qml/Wizard/Pages/passcode-set.qml:54
826819msgid "Choose passcode"
827820msgstr ""
828821
829−#: qml/Wizard/Pages/passcode-desktop.qml:126
822+#: qml/Wizard/Pages/passcode-desktop.qml:127
830823msgid "Passcode too short"
831824msgstr ""
832825
833−#: qml/Wizard/Pages/passcode-desktop.qml:128
826+#: qml/Wizard/Pages/passcode-desktop.qml:129
834827msgid "Passcodes match"
835828msgstr ""
836829
837−#: qml/Wizard/Pages/passcode-desktop.qml:130
830+#: qml/Wizard/Pages/passcode-desktop.qml:131
838831msgid "Passcodes do not match"
839832msgstr ""
840833
@@ -842,19 +835,19 @@ msgstr ""
842835msgid "Passcode must be 4 characters long"
843836msgstr ""
844837
845−#: qml/Wizard/Pages/password-set.qml:30
838+#: qml/Wizard/Pages/password-set.qml:31
846839msgid "Lock Screen Password"
847840msgstr ""
848841
849−#: qml/Wizard/Pages/password-set.qml:61
842+#: qml/Wizard/Pages/password-set.qml:62
850843msgid "Enter at least 8 characters"
851844msgstr ""
852845
853−#: qml/Wizard/Pages/password-set.qml:73
846+#: qml/Wizard/Pages/password-set.qml:74
854847msgid "Choose password"
855848msgstr ""
856849
857−#: qml/Wizard/Pages/password-set.qml:103
850+#: qml/Wizard/Pages/password-set.qml:104
858851msgid "Confirm password"
859852msgstr ""
860853
@@ -964,9 +957,16 @@ msgstr ""
964957#~ msgid "See less"
965958#~ msgstr "Zobrazit méně"
966959
960+#~ msgid "This will be your last attempt."
961+#~ msgstr "Toto je váš poslední pokus."
962+
967963#~ msgid "Store"
968964#~ msgstr "Obchod"
969965
966+#, qt-format
967+#~ msgid "Enter %1"
968+#~ msgstr "Vložte %1"
969+
970970#~ msgctxt "Title: Reboot/Shut down dialog"
971971#~ msgid "Shut down"
972972#~ msgstr "Vypnout"
@@ -985,9 +985,45 @@ msgstr ""
985985#~ msgid "Tap to unlock"
986986#~ msgstr "Klepnout pro odemčení"
987987
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+
9881021#~ msgid "Please re-enter"
9891022#~ msgstr "Vložte znovu"
9901023
1024+#~ msgid "Sorry, incorrect passcode"
1025+#~ msgstr "Špatné heslo"
1026+
9911027#~ msgid "Unlock SIM"
9921028#~ msgstr "Odemknout SIM"
9931029
po/cy.po+215−175
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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"
1111"PO-Revision-Date: 2015-07-31 13:21+0000\n"
1212"Last-Translator: Owen Llywelyn <owen.llywelyn@gmail.com>\n"
1313"Language-Team: Welsh <cy@li.org>\n"
@@ -16,97 +16,75 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
1818"2 : 3;\n"
19−"X-Launchpad-Export-Date: 2016-07-22 05:54+0000\n"
20−"X-Generator: Launchpad (build 18147)\n"
19+"X-Launchpad-Export-Date: 2016-12-01 04:58+0000\n"
20+"X-Generator: Launchpad (build 18282)\n"
2121
2222#: plugins/LightDM/Greeter.cpp:123
2323msgid "Password: "
2424msgstr "Cyfrinair: "
2525
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
2828msgid "Pin shortcut"
2929msgstr "Pinio llwybr byr"
3030
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
3232msgid "Quit"
3333msgstr ""
3434
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
3636msgid "Unpin shortcut"
3737msgstr "Dadbinio llwybr byr"
3838
39−#: qml/Components/DelayedLockscreen.qml:50
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
39+#: qml/Components/Dialogs.qml:149
6340msgctxt "Title: Lock/Log out dialog"
6441msgid "Log out"
6542msgstr "Allgofnodi"
6643
67−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
6845msgid "Are you sure you want to log out?"
6946msgstr "Ydych chi'n sicr eich bod am allgofnodi?"
7047
71−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
7249msgctxt "Button: Lock the system"
7350msgid "Lock"
7451msgstr "Cloi"
7552
76−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
7754msgctxt "Button: Log out from the system"
7855msgid "Log Out"
7956msgstr "Allgofnodi"
8057
81−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
82−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
8361#: qml/Wizard/Pages/passcode-set.qml:32
8462msgid "Cancel"
8563msgstr "Diddymu"
8664
87−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
8866msgctxt "Title: Reboot dialog"
8967msgid "Reboot"
9068msgstr "Ailgychwyn"
9169
92−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
9371msgid "Are you sure you want to reboot?"
9472msgstr "Ydych chi'n sicr eich bod am ailgychwyn?"
9573
96−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
9775msgid "No"
9876msgstr "Na"
9977
100−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
10179msgid "Yes"
10280msgstr "Ydw"
10381
104−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
10583msgctxt "Title: Power off/Restart dialog"
10684msgid "Power"
10785msgstr "Pŵer"
10886
109−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
11088msgid ""
11189"Are you sure you would like\n"
11290"to power off?"
@@ -114,12 +92,12 @@ msgstr ""
11492"Ydych chi'n sicr eich bod am\n"
11593"ddiffodd y pŵer?"
11694
117−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
11896msgctxt "Button: Power off the system"
11997msgid "Power off"
12098msgstr "Diffodd y pŵer"
12199
122−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
123101msgctxt "Button: Restart the system"
124102msgid "Restart"
125103msgstr "Ailgychwyn"
@@ -284,15 +262,15 @@ msgstr ""
284262msgid "Closes the current window."
285263msgstr ""
286264
287−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
288266msgid "Return to Call"
289267msgstr "Nôl i'r alwad"
290268
291−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
292270msgid "Emergency Call"
293271msgstr "Galwad Frys"
294272
295−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
296274msgid "OK"
297275msgstr "Iawn"
298276
@@ -336,84 +314,84 @@ msgstr ""
336314msgid "Preview Share Item"
337315msgstr ""
338316
339−#: qml/Dash/DashPageHeader.qml:333
317+#: qml/Dash/DashPageHeader.qml:361
340318msgctxt "Button: Open the Ubuntu Store"
341319msgid "Store"
342320msgstr "Marchnad"
343321
344−#: qml/Dash/DashPageHeader.qml:340
322+#: qml/Dash/DashPageHeader.qml:368
345323msgctxt "Button: Start a search in the current dash scope"
346324msgid "Search"
347325msgstr "Chwilio"
348326
349−#: qml/Dash/DashPageHeader.qml:350
327+#: qml/Dash/DashPageHeader.qml:378
350328msgctxt "Button: Show the current dash scope settings"
351329msgid "Settings"
352330msgstr "Gosodiadau"
353331
354−#: qml/Dash/DashPageHeader.qml:357
332+#: qml/Dash/DashPageHeader.qml:385
355333msgid "Remove from Favorites"
356334msgstr "Tynnu o Ffefrynnau"
357335
358−#: qml/Dash/DashPageHeader.qml:357
336+#: qml/Dash/DashPageHeader.qml:385
359337msgid "Add to Favorites"
360338msgstr "Ychwanegu at Ffefrynnau"
361339
362−#: qml/Dash/FiltersPopover.qml:60
340+#: qml/Dash/FiltersPopover.qml:61
363341msgid "Refine your results"
364342msgstr ""
365343
366−#: qml/Dash/FiltersPopover.qml:69
344+#: qml/Dash/FiltersPopover.qml:70
367345msgid "Reset"
368346msgstr ""
369347
370−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
348+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
371349msgid "Show less"
372350msgstr ""
373351
374−#: qml/Dash/GenericScopeView.qml:580
352+#: qml/Dash/GenericScopeView.qml:547
375353msgid "Show all"
376354msgstr ""
377355
378−#: qml/Dash/GenericScopeView.qml:637
356+#: qml/Dash/GenericScopeView.qml:578
379357msgctxt "Label: Hint for dash search line edit"
380358msgid "Search"
381359msgstr "Chwilio"
382360
383−#: qml/Dash/PageHeaderExtraPanel.qml:56
361+#: qml/Dash/PageHeaderExtraPanel.qml:67
384362msgid "Recent Searches"
385363msgstr ""
386364
387−#: qml/Dash/PageHeaderExtraPanel.qml:67
365+#: qml/Dash/PageHeaderExtraPanel.qml:78
388366msgid "Clear All"
389367msgstr ""
390368
391−#: qml/Dash/Previews/PreviewActionCombo.qml:35
369+#: qml/Dash/Previews/PreviewActionCombo.qml:36
392370msgid "More..."
393371msgstr "Mwy..."
394372
395−#: qml/Dash/Previews/PreviewActionCombo.qml:35
373+#: qml/Dash/Previews/PreviewActionCombo.qml:36
396374msgid "Less..."
397375msgstr "Llai..."
398376
399−#: qml/Dash/Previews/PreviewCommentInput.qml:68
400−#: qml/Dash/Previews/PreviewRatingInput.qml:175
377+#: qml/Dash/Previews/PreviewCommentInput.qml:83
378+#: qml/Dash/Previews/PreviewRatingInput.qml:202
401379msgid "Send"
402380msgstr "Anfon"
403381
404−#: qml/Dash/Previews/PreviewRatingInput.qml:82
382+#: qml/Dash/Previews/PreviewRatingInput.qml:109
405383msgid "Rate this"
406384msgstr "Graddio hwn"
407385
408−#: qml/Dash/Previews/PreviewRatingInput.qml:157
386+#: qml/Dash/Previews/PreviewRatingInput.qml:184
409387msgid "Add a review"
410388msgstr "Ychwanegu adolygiad"
411389
412−#: qml/Dash/PullToRefreshScopeStyle.qml:55
390+#: qml/Dash/PullToRefreshScopeStyle.qml:56
413391msgid "Pull to refresh…"
414392msgstr "Tynnwch i adnewyddu..."
415393
416−#: qml/Dash/PullToRefreshScopeStyle.qml:60
394+#: qml/Dash/PullToRefreshScopeStyle.qml:61
417395msgid "Release to refresh…"
418396msgstr "Rhyddhewch i adnewyddu..."
419397
@@ -421,15 +399,15 @@ msgstr "Rhyddhewch i adnewyddu..."
421399msgid "Enable location data"
422400msgstr "Galluogi data lleoliad"
423401
424−#: qml/Dash/ScopesList.qml:55
402+#: qml/Dash/ScopesList.qml:57
425403msgid "Manage"
426404msgstr "Rheoli"
427405
428−#: qml/Dash/ScopesList.qml:102
406+#: qml/Dash/ScopesList.qml:104
429407msgid "Home"
430408msgstr "Cartref"
431409
432−#: qml/Dash/ScopesList.qml:103
410+#: qml/Dash/ScopesList.qml:105
433411msgid "Also installed"
434412msgstr "Hefyd wedi gosod"
435413
@@ -443,84 +421,56 @@ msgstr ""
443421msgid "Unlock"
444422msgstr "Datgloi"
445423
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
447448msgid "Try again"
448449msgstr ""
449450
450−#: qml/Greeter/LoginList.qml:63
451+#: qml/Greeter/LoginList.qml:70
451452msgid "Passphrase"
452453msgstr ""
453454
454−#: qml/Greeter/LoginList.qml:64
455+#: qml/Greeter/LoginList.qml:71
455456msgid "Passcode"
456457msgstr ""
457458
458−#: qml/Greeter/LoginList.qml:87
459+#: qml/Greeter/LoginList.qml:98
459460msgid "Retry"
460461msgstr "Ailgynnig"
461462
462−#: qml/Greeter/LoginList.qml:88
463+#: qml/Greeter/LoginList.qml:99
463464msgid "Log In"
464465msgstr ""
465466
466−#: qml/Greeter/NarrowView.qml:55
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 ""
480−"If passphrase is entered incorrectly, your phone will conduct a factory "
481−"reset and all personal data will be deleted."
467+#: qml/Greeter/NarrowView.qml:252
468+msgid "Emergency"
482469msgstr ""
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."
485470
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."
471+#: qml/Greeter/SessionsList.qml:122
472+msgid "Select desktop environment"
490473msgstr ""
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"
524474
525475#: qml/Notifications/NotificationMenuItemFactory.qml:124
526476msgid "Show password"
@@ -534,11 +484,11 @@ msgstr "Tapiwch i ffonio nôl"
534484msgid "Conference"
535485msgstr "Cydalwad"
536486
537−#: qml/Panel/Indicators/MenuItemFactory.qml:762
487+#: qml/Panel/Indicators/MenuItemFactory.qml:847
538488msgid "Nothing is playing"
539489msgstr "Dim byd yn chwarae"
540490
541−#: qml/Panel/Indicators/MenuItemFactory.qml:891
491+#: qml/Panel/Indicators/MenuItemFactory.qml:975
542492#, qt-format
543493msgid "%1 hour"
544494msgid_plural "%1 hours"
@@ -547,7 +497,7 @@ msgstr[1] "%1 awr"
547497msgstr[2] "%1 awr"
548498msgstr[3] "%1 awr"
549499
550−#: qml/Panel/Indicators/MenuItemFactory.qml:895
500+#: qml/Panel/Indicators/MenuItemFactory.qml:979
551501#, qt-format
552502msgid "%1 minute"
553503msgid_plural "%1 minutes"
@@ -556,7 +506,7 @@ msgstr[1] "%1 munud"
556506msgstr[2] "%1 munud"
557507msgstr[3] "%1 munud"
558508
559−#: qml/Panel/Indicators/MenuItemFactory.qml:900
509+#: qml/Panel/Indicators/MenuItemFactory.qml:984
560510#, qt-format
561511msgid "%1 second"
562512msgid_plural "%1 seconds"
@@ -565,37 +515,37 @@ msgstr[1] "%1 eiliad"
565515msgstr[2] "%1 eiliad"
566516msgstr[3] "%1 eiliad"
567517
568−#: qml/Panel/Indicators/MenuItemFactory.qml:903
518+#: qml/Panel/Indicators/MenuItemFactory.qml:987
569519msgid "0 seconds"
570520msgstr "0 eiliad"
571521
572522#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
573−#: qml/Panel/Indicators/MenuItemFactory.qml:905
523+#: qml/Panel/Indicators/MenuItemFactory.qml:989
574524#, qt-format
575525msgid "%1 remaining"
576526msgstr "%1 yn weddill"
577527
578−#: qml/Panel/Indicators/MenuItemFactory.qml:911
528+#: qml/Panel/Indicators/MenuItemFactory.qml:995
579529msgid "In queue…"
580530msgstr "Mewn ciw..."
581531
582−#: qml/Panel/Indicators/MenuItemFactory.qml:915
532+#: qml/Panel/Indicators/MenuItemFactory.qml:999
583533msgid "Downloading"
584534msgstr "Yn llwytho i lawr"
585535
586−#: qml/Panel/Indicators/MenuItemFactory.qml:917
536+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
587537msgid "Paused, tap to resume"
588538msgstr "Seibiwyd, tapiwch i ailafael ynddi"
589539
590−#: qml/Panel/Indicators/MenuItemFactory.qml:919
540+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
591541msgid "Canceled"
592542msgstr "Diddymwyd"
593543
594−#: qml/Panel/Indicators/MenuItemFactory.qml:921
544+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
595545msgid "Finished"
596546msgstr "Wedi gorffen"
597547
598−#: qml/Panel/Indicators/MenuItemFactory.qml:923
548+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
599549msgid "Failed, tap to retry"
600550msgstr "Methwyd, tapiwch i geisio eto"
601551
@@ -615,7 +565,7 @@ msgctxt "Button: Call back on phone"
615565msgid "Call back"
616566msgstr ""
617567
618−#: qml/Stages/SideStage.qml:76
568+#: qml/Stage/SideStage.qml:76
619569msgid "Drag using 3 fingers any application from one window to the other"
620570msgstr ""
621571
@@ -644,40 +594,54 @@ msgctxt "Button: Go back one page in the Wizard"
644594msgid "Back"
645595msgstr "Nôl"
646596
647−#: qml/Wizard/Pages/10-welcome.qml:27
597+#: qml/Wizard/Pages/10-welcome.qml:28
648598msgid "Language"
649599msgstr ""
650600
651−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
652−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
653−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
601+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
604+#: qml/Wizard/Pages/70-passwd-type.qml:145
654605#: qml/Wizard/Pages/75-report-check.qml:84
655−#: qml/Wizard/Pages/passcode-desktop.qml:141
656−#: qml/Wizard/Pages/password-set.qml:141
606+#: qml/Wizard/Pages/passcode-desktop.qml:142
607+#: qml/Wizard/Pages/password-set.qml:142
657608msgid "Next"
658609msgstr ""
659610
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
661630msgid "Connect to Wi‑Fi"
662631msgstr "Cysylltu â diwifr"
663632
664−#: qml/Wizard/Pages/30-wifi.qml:130
633+#: qml/Wizard/Pages/30-wifi.qml:132
665634msgid "Connected"
666635msgstr ""
667636
668−#: qml/Wizard/Pages/30-wifi.qml:163
637+#: qml/Wizard/Pages/30-wifi.qml:165
669638msgid "Available Wi-Fi networks"
670639msgstr ""
671640
672−#: qml/Wizard/Pages/30-wifi.qml:164
641+#: qml/Wizard/Pages/30-wifi.qml:166
673642msgid "No available Wi-Fi networks"
674643msgstr ""
675644
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−
681645#: qml/Wizard/Pages/40-location.qml:27
682646msgid "Location Services"
683647msgstr ""
@@ -710,11 +674,11 @@ msgstr ""
710674msgid "You can change it later in System Settings."
711675msgstr ""
712676
713−#: qml/Wizard/Pages/50-timezone.qml:29
677+#: qml/Wizard/Pages/50-timezone.qml:30
714678msgid "Time Zone"
715679msgstr ""
716680
717−#: qml/Wizard/Pages/50-timezone.qml:181
681+#: qml/Wizard/Pages/50-timezone.qml:182
718682msgid "Enter your city"
719683msgstr ""
720684
@@ -726,21 +690,21 @@ msgstr ""
726690msgid "Preferred Name"
727691msgstr ""
728692
729−#: qml/Wizard/Pages/70-passwd-type.qml:39
693+#: qml/Wizard/Pages/70-passwd-type.qml:40
730694msgid "Lock Screen"
731695msgstr ""
732696
733−#: qml/Wizard/Pages/70-passwd-type.qml:101
697+#: qml/Wizard/Pages/70-passwd-type.qml:102
734698msgctxt "Label: Type of security method"
735699msgid "Create new password"
736700msgstr ""
737701
738−#: qml/Wizard/Pages/70-passwd-type.qml:103
702+#: qml/Wizard/Pages/70-passwd-type.qml:104
739703msgctxt "Label: Type of security method"
740704msgid "Create passcode (numbers only)"
741705msgstr ""
742706
743−#: qml/Wizard/Pages/70-passwd-type.qml:105
707+#: qml/Wizard/Pages/70-passwd-type.qml:106
744708msgctxt "Label: Type of security method"
745709msgid "No lock code"
746710msgstr ""
@@ -761,6 +725,35 @@ msgstr ""
761725msgid "Privacy policy"
762726msgstr ""
763727
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+
764757#: qml/Wizard/Pages/80-finished.qml:89
765758msgid "Welcome to Ubuntu"
766759msgstr ""
@@ -804,7 +797,7 @@ msgid "Service Terms"
804797msgstr ""
805798
806799#: qml/Wizard/Pages/passcode-confirm.qml:43
807−#: qml/Wizard/Pages/passcode-desktop.qml:96
800+#: qml/Wizard/Pages/passcode-desktop.qml:97
808801msgid "Confirm passcode"
809802msgstr "Cadarnhau cod cyfrinachol"
810803
@@ -817,28 +810,28 @@ msgctxt "Enter the passcode again"
817810msgid "Please re-enter."
818811msgstr ""
819812
820−#: qml/Wizard/Pages/passcode-desktop.qml:30
813+#: qml/Wizard/Pages/passcode-desktop.qml:31
821814msgid "Lock Screen Passcode"
822815msgstr ""
823816
824−#: qml/Wizard/Pages/passcode-desktop.qml:60
817+#: qml/Wizard/Pages/passcode-desktop.qml:61
825818msgid "Enter 4 numbers to setup your passcode"
826819msgstr ""
827820
828−#: qml/Wizard/Pages/passcode-desktop.qml:76
821+#: qml/Wizard/Pages/passcode-desktop.qml:77
829822#: qml/Wizard/Pages/passcode-set.qml:54
830823msgid "Choose passcode"
831824msgstr ""
832825
833−#: qml/Wizard/Pages/passcode-desktop.qml:126
826+#: qml/Wizard/Pages/passcode-desktop.qml:127
834827msgid "Passcode too short"
835828msgstr ""
836829
837−#: qml/Wizard/Pages/passcode-desktop.qml:128
830+#: qml/Wizard/Pages/passcode-desktop.qml:129
838831msgid "Passcodes match"
839832msgstr ""
840833
841−#: qml/Wizard/Pages/passcode-desktop.qml:130
834+#: qml/Wizard/Pages/passcode-desktop.qml:131
842835msgid "Passcodes do not match"
843836msgstr ""
844837
@@ -846,19 +839,19 @@ msgstr ""
846839msgid "Passcode must be 4 characters long"
847840msgstr ""
848841
849−#: qml/Wizard/Pages/password-set.qml:30
842+#: qml/Wizard/Pages/password-set.qml:31
850843msgid "Lock Screen Password"
851844msgstr ""
852845
853−#: qml/Wizard/Pages/password-set.qml:61
846+#: qml/Wizard/Pages/password-set.qml:62
854847msgid "Enter at least 8 characters"
855848msgstr ""
856849
857−#: qml/Wizard/Pages/password-set.qml:73
850+#: qml/Wizard/Pages/password-set.qml:74
858851msgid "Choose password"
859852msgstr ""
860853
861−#: qml/Wizard/Pages/password-set.qml:103
854+#: qml/Wizard/Pages/password-set.qml:104
862855msgid "Confirm password"
863856msgstr ""
864857
@@ -968,6 +961,53 @@ msgstr ""
968961#~ msgid "Tap to unlock"
969962#~ msgstr "Tapiwch i ddatgloi"
970963
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+
9711011#~ msgid "This action does different things for different apps"
9721012#~ msgstr "Mae'r weithred hon yn gwneud pethau gwahanol mewn apiau gwahanol"
9731013
po/da.po+211−175
@@ -8,7 +8,7 @@ msgid ""
88msgstr ""
99"Project-Id-Version: unity8\n"
1010"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"
1212"PO-Revision-Date: 2015-07-06 12:05+0000\n"
1313"Last-Translator: Folmer Fredslund <Unknown>\n"
1414"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -16,97 +16,75 @@ msgstr ""
1616"Content-Type: text/plain; charset=UTF-8\n"
1717"Content-Transfer-Encoding: 8bit\n"
1818"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2016-07-22 05:53+0000\n"
20−"X-Generator: Launchpad (build 18147)\n"
19+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
20+"X-Generator: Launchpad (build 18282)\n"
2121
2222#: plugins/LightDM/Greeter.cpp:123
2323msgid "Password: "
2424msgstr "Adgangskode: "
2525
26−#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:108
26+#: plugins/Unity/Launcher/launcheritem.cpp:50
27+#: plugins/Unity/Launcher/launcheritem.cpp:109
2828msgid "Pin shortcut"
2929msgstr "Fastgør genvej"
3030
31−#: plugins/Unity/Launcher/launcheritem.cpp:54
31+#: plugins/Unity/Launcher/launcheritem.cpp:55
3232msgid "Quit"
3333msgstr ""
3434
35−#: plugins/Unity/Launcher/launcheritem.cpp:108
35+#: plugins/Unity/Launcher/launcheritem.cpp:109
3636msgid "Unpin shortcut"
3737msgstr "Gør genvej flytbar"
3838
39−#: qml/Components/DelayedLockscreen.qml:50
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
39+#: qml/Components/Dialogs.qml:149
6340msgctxt "Title: Lock/Log out dialog"
6441msgid "Log out"
6542msgstr "Log af"
6643
67−#: qml/Components/Dialogs.qml:145
44+#: qml/Components/Dialogs.qml:150
6845msgid "Are you sure you want to log out?"
6946msgstr "Vil du logge ud?"
7047
71−#: qml/Components/Dialogs.qml:147
48+#: qml/Components/Dialogs.qml:152
7249msgctxt "Button: Lock the system"
7350msgid "Lock"
7451msgstr "Lås"
7552
76−#: qml/Components/Dialogs.qml:154
53+#: qml/Components/Dialogs.qml:159
7754msgctxt "Button: Log out from the system"
7855msgid "Log Out"
7956msgstr "Log af"
8057
81−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
82−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
58+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
59+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
60+#: qml/Wizard/Pages/passcode-confirm.qml:32
8361#: qml/Wizard/Pages/passcode-set.qml:32
8462msgid "Cancel"
8563msgstr "Annullér"
8664
87−#: qml/Components/Dialogs.qml:173
65+#: qml/Components/Dialogs.qml:178
8866msgctxt "Title: Reboot dialog"
8967msgid "Reboot"
9068msgstr "Genstart"
9169
92−#: qml/Components/Dialogs.qml:174
70+#: qml/Components/Dialogs.qml:179
9371msgid "Are you sure you want to reboot?"
9472msgstr "Er du sikker på du vil genstarte?"
9573
96−#: qml/Components/Dialogs.qml:176
74+#: qml/Components/Dialogs.qml:181
9775msgid "No"
9876msgstr "Nej"
9977
100−#: qml/Components/Dialogs.qml:182
78+#: qml/Components/Dialogs.qml:187
10179msgid "Yes"
10280msgstr "Ja"
10381
104−#: qml/Components/Dialogs.qml:197
82+#: qml/Components/Dialogs.qml:202
10583msgctxt "Title: Power off/Restart dialog"
10684msgid "Power"
10785msgstr "Sluk/genstart"
10886
109−#: qml/Components/Dialogs.qml:198
87+#: qml/Components/Dialogs.qml:203
11088msgid ""
11189"Are you sure you would like\n"
11290"to power off?"
@@ -114,12 +92,12 @@ msgstr ""
11492"Er du sikker på at du vil\n"
11593"slukke enheden?"
11694
117−#: qml/Components/Dialogs.qml:200
95+#: qml/Components/Dialogs.qml:205
11896msgctxt "Button: Power off the system"
11997msgid "Power off"
12098msgstr "Luk ned"
12199
122−#: qml/Components/Dialogs.qml:209
100+#: qml/Components/Dialogs.qml:214
123101msgctxt "Button: Restart the system"
124102msgid "Restart"
125103msgstr "Genstart"
@@ -284,15 +262,15 @@ msgstr ""
284262msgid "Closes the current window."
285263msgstr ""
286264
287−#: qml/Components/Lockscreen.qml:239
265+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
288266msgid "Return to Call"
289267msgstr "Vend tilbage til opkald"
290268
291−#: qml/Components/Lockscreen.qml:239
269+#: qml/Components/Lockscreen.qml:212
292270msgid "Emergency Call"
293271msgstr "Nødopkald"
294272
295−#: qml/Components/Lockscreen.qml:271
273+#: qml/Components/Lockscreen.qml:244
296274msgid "OK"
297275msgstr "Ok"
298276
@@ -336,84 +314,84 @@ msgstr ""
336314msgid "Preview Share Item"
337315msgstr ""
338316
339−#: qml/Dash/DashPageHeader.qml:333
317+#: qml/Dash/DashPageHeader.qml:361
340318msgctxt "Button: Open the Ubuntu Store"
341319msgid "Store"
342320msgstr "Butik"
343321
344−#: qml/Dash/DashPageHeader.qml:340
322+#: qml/Dash/DashPageHeader.qml:368
345323msgctxt "Button: Start a search in the current dash scope"
346324msgid "Search"
347325msgstr "Søg"
348326
349−#: qml/Dash/DashPageHeader.qml:350
327+#: qml/Dash/DashPageHeader.qml:378
350328msgctxt "Button: Show the current dash scope settings"
351329msgid "Settings"
352330msgstr "Indstillinger"
353331
354−#: qml/Dash/DashPageHeader.qml:357
332+#: qml/Dash/DashPageHeader.qml:385
355333msgid "Remove from Favorites"
356334msgstr "Fjern fra Favoritter"
357335
358−#: qml/Dash/DashPageHeader.qml:357
336+#: qml/Dash/DashPageHeader.qml:385
359337msgid "Add to Favorites"
360338msgstr "Tilføj til Favoritter"
361339
362−#: qml/Dash/FiltersPopover.qml:60
340+#: qml/Dash/FiltersPopover.qml:61
363341msgid "Refine your results"
364342msgstr ""
365343
366−#: qml/Dash/FiltersPopover.qml:69
344+#: qml/Dash/FiltersPopover.qml:70
367345msgid "Reset"
368346msgstr ""
369347
370−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
348+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
371349msgid "Show less"
372350msgstr ""
373351
374−#: qml/Dash/GenericScopeView.qml:580
352+#: qml/Dash/GenericScopeView.qml:547
375353msgid "Show all"
376354msgstr ""
377355
378−#: qml/Dash/GenericScopeView.qml:637
356+#: qml/Dash/GenericScopeView.qml:578
379357msgctxt "Label: Hint for dash search line edit"
380358msgid "Search"
381359msgstr "Søg"
382360
383−#: qml/Dash/PageHeaderExtraPanel.qml:56
361+#: qml/Dash/PageHeaderExtraPanel.qml:67
384362msgid "Recent Searches"
385363msgstr ""
386364
387−#: qml/Dash/PageHeaderExtraPanel.qml:67
365+#: qml/Dash/PageHeaderExtraPanel.qml:78
388366msgid "Clear All"
389367msgstr ""
390368
391−#: qml/Dash/Previews/PreviewActionCombo.qml:35
369+#: qml/Dash/Previews/PreviewActionCombo.qml:36
392370msgid "More..."
393371msgstr "Mere..."
394372
395−#: qml/Dash/Previews/PreviewActionCombo.qml:35
373+#: qml/Dash/Previews/PreviewActionCombo.qml:36
396374msgid "Less..."
397375msgstr "Mindre..."
398376
399−#: qml/Dash/Previews/PreviewCommentInput.qml:68
400−#: qml/Dash/Previews/PreviewRatingInput.qml:175
377+#: qml/Dash/Previews/PreviewCommentInput.qml:83
378+#: qml/Dash/Previews/PreviewRatingInput.qml:202
401379msgid "Send"
402380msgstr "Send"
403381
404−#: qml/Dash/Previews/PreviewRatingInput.qml:82
382+#: qml/Dash/Previews/PreviewRatingInput.qml:109
405383msgid "Rate this"
406384msgstr "Bedøm dette"
407385
408−#: qml/Dash/Previews/PreviewRatingInput.qml:157
386+#: qml/Dash/Previews/PreviewRatingInput.qml:184
409387msgid "Add a review"
410388msgstr "Tilføj en anmeldelse"
411389
412−#: qml/Dash/PullToRefreshScopeStyle.qml:55
390+#: qml/Dash/PullToRefreshScopeStyle.qml:56
413391msgid "Pull to refresh…"
414392msgstr "Træk ned for at genindlæse..."
415393
416−#: qml/Dash/PullToRefreshScopeStyle.qml:60
394+#: qml/Dash/PullToRefreshScopeStyle.qml:61
417395msgid "Release to refresh…"
418396msgstr "Giv slip for at genindlæse..."
419397
@@ -421,15 +399,15 @@ msgstr "Giv slip for at genindlæse..."
421399msgid "Enable location data"
422400msgstr "Aktivér lokationsdata"
423401
424−#: qml/Dash/ScopesList.qml:55
402+#: qml/Dash/ScopesList.qml:57
425403msgid "Manage"
426404msgstr "Administrér"
427405
428−#: qml/Dash/ScopesList.qml:102
406+#: qml/Dash/ScopesList.qml:104
429407msgid "Home"
430408msgstr "Hjem"
431409
432−#: qml/Dash/ScopesList.qml:103
410+#: qml/Dash/ScopesList.qml:105
433411msgid "Also installed"
434412msgstr "Også installeret"
435413
@@ -443,85 +421,57 @@ msgstr ""
443421msgid "Unlock"
444422msgstr "Lås op"
445423
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
447448msgid "Try again"
448449msgstr ""
449450
450−#: qml/Greeter/LoginList.qml:63
451+#: qml/Greeter/LoginList.qml:70
451452msgid "Passphrase"
452453msgstr ""
453454
454−#: qml/Greeter/LoginList.qml:64
455+#: qml/Greeter/LoginList.qml:71
455456msgid "Passcode"
456457msgstr ""
457458
458−#: qml/Greeter/LoginList.qml:87
459+#: qml/Greeter/LoginList.qml:98
459460msgid "Retry"
460461msgstr "Forsøg igen"
461462
462−#: qml/Greeter/LoginList.qml:88
463+#: qml/Greeter/LoginList.qml:99
463464msgid "Log In"
464465msgstr ""
465466
466−#: qml/Greeter/NarrowView.qml:55
467−msgid "Sorry, incorrect passphrase."
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."
467+#: qml/Greeter/NarrowView.qml:252
468+msgid "Emergency"
490469msgstr ""
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"
502470
503−#: qml/Greeter/NarrowView.qml:131
504−msgid "Enter passcode"
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"
471+#: qml/Greeter/SessionsList.qml:122
472+msgid "Select desktop environment"
519473msgstr ""
520474
521−#: qml/Greeter/NarrowView.qml:138
522−msgid "Sorry, incorrect passcode"
523−msgstr "Beklager, forkert adgangskode"
524−
525475#: qml/Notifications/NotificationMenuItemFactory.qml:124
526476msgid "Show password"
527477msgstr "Vis adgangskode"
@@ -534,62 +484,62 @@ msgstr "Tryk for at vende tilbage til opkaldet..."
534484msgid "Conference"
535485msgstr "Konference"
536486
537−#: qml/Panel/Indicators/MenuItemFactory.qml:762
487+#: qml/Panel/Indicators/MenuItemFactory.qml:847
538488msgid "Nothing is playing"
539489msgstr "Intet afspilles"
540490
541−#: qml/Panel/Indicators/MenuItemFactory.qml:891
491+#: qml/Panel/Indicators/MenuItemFactory.qml:975
542492#, qt-format
543493msgid "%1 hour"
544494msgid_plural "%1 hours"
545495msgstr[0] "%1 time"
546496msgstr[1] "%1 timer"
547497
548−#: qml/Panel/Indicators/MenuItemFactory.qml:895
498+#: qml/Panel/Indicators/MenuItemFactory.qml:979
549499#, qt-format
550500msgid "%1 minute"
551501msgid_plural "%1 minutes"
552502msgstr[0] "%1 minut"
553503msgstr[1] "%1 minutter"
554504
555−#: qml/Panel/Indicators/MenuItemFactory.qml:900
505+#: qml/Panel/Indicators/MenuItemFactory.qml:984
556506#, qt-format
557507msgid "%1 second"
558508msgid_plural "%1 seconds"
559509msgstr[0] "%1 sekund"
560510msgstr[1] "%1 sekunder"
561511
562−#: qml/Panel/Indicators/MenuItemFactory.qml:903
512+#: qml/Panel/Indicators/MenuItemFactory.qml:987
563513msgid "0 seconds"
564514msgstr "0 sekunder"
565515
566516#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
567−#: qml/Panel/Indicators/MenuItemFactory.qml:905
517+#: qml/Panel/Indicators/MenuItemFactory.qml:989
568518#, qt-format
569519msgid "%1 remaining"
570520msgstr "%1 tilbage"
571521
572−#: qml/Panel/Indicators/MenuItemFactory.qml:911
522+#: qml/Panel/Indicators/MenuItemFactory.qml:995
573523msgid "In queue…"
574524msgstr "I kø…"
575525
576−#: qml/Panel/Indicators/MenuItemFactory.qml:915
526+#: qml/Panel/Indicators/MenuItemFactory.qml:999
577527msgid "Downloading"
578528msgstr "Henter"
579529
580−#: qml/Panel/Indicators/MenuItemFactory.qml:917
530+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
581531msgid "Paused, tap to resume"
582532msgstr "På pause - tryk for at fortsætte"
583533
584−#: qml/Panel/Indicators/MenuItemFactory.qml:919
534+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
585535msgid "Canceled"
586536msgstr "Annulleret"
587537
588−#: qml/Panel/Indicators/MenuItemFactory.qml:921
538+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
589539msgid "Finished"
590540msgstr "Færdig"
591541
592−#: qml/Panel/Indicators/MenuItemFactory.qml:923
542+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
593543msgid "Failed, tap to retry"
594544msgstr "Mislykkedes - tryk for at prøve igen"
595545
@@ -609,7 +559,7 @@ msgctxt "Button: Call back on phone"
609559msgid "Call back"
610560msgstr ""
611561
612−#: qml/Stages/SideStage.qml:76
562+#: qml/Stage/SideStage.qml:76
613563msgid "Drag using 3 fingers any application from one window to the other"
614564msgstr ""
615565
@@ -638,40 +588,54 @@ msgctxt "Button: Go back one page in the Wizard"
638588msgid "Back"
639589msgstr "Tilbage"
640590
641−#: qml/Wizard/Pages/10-welcome.qml:27
591+#: qml/Wizard/Pages/10-welcome.qml:28
642592msgid "Language"
643593msgstr ""
644594
645−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
646−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
647−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
595+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
598+#: qml/Wizard/Pages/70-passwd-type.qml:145
648599#: qml/Wizard/Pages/75-report-check.qml:84
649−#: qml/Wizard/Pages/passcode-desktop.qml:141
650−#: qml/Wizard/Pages/password-set.qml:141
600+#: qml/Wizard/Pages/passcode-desktop.qml:142
601+#: qml/Wizard/Pages/password-set.qml:142
651602msgid "Next"
652603msgstr ""
653604
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
655624msgid "Connect to Wi‑Fi"
656625msgstr "Tilslut til Wi-Fi"
657626
658−#: qml/Wizard/Pages/30-wifi.qml:130
627+#: qml/Wizard/Pages/30-wifi.qml:132
659628msgid "Connected"
660629msgstr ""
661630
662−#: qml/Wizard/Pages/30-wifi.qml:163
631+#: qml/Wizard/Pages/30-wifi.qml:165
663632msgid "Available Wi-Fi networks"
664633msgstr ""
665634
666−#: qml/Wizard/Pages/30-wifi.qml:164
635+#: qml/Wizard/Pages/30-wifi.qml:166
667636msgid "No available Wi-Fi networks"
668637msgstr ""
669638
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−
675639#: qml/Wizard/Pages/40-location.qml:27
676640msgid "Location Services"
677641msgstr ""
@@ -704,11 +668,11 @@ msgstr ""
704668msgid "You can change it later in System Settings."
705669msgstr ""
706670
707−#: qml/Wizard/Pages/50-timezone.qml:29
671+#: qml/Wizard/Pages/50-timezone.qml:30
708672msgid "Time Zone"
709673msgstr ""
710674
711−#: qml/Wizard/Pages/50-timezone.qml:181
675+#: qml/Wizard/Pages/50-timezone.qml:182
712676msgid "Enter your city"
713677msgstr ""
714678
@@ -720,21 +684,21 @@ msgstr ""
720684msgid "Preferred Name"
721685msgstr ""
722686
723−#: qml/Wizard/Pages/70-passwd-type.qml:39
687+#: qml/Wizard/Pages/70-passwd-type.qml:40
724688msgid "Lock Screen"
725689msgstr ""
726690
727−#: qml/Wizard/Pages/70-passwd-type.qml:101
691+#: qml/Wizard/Pages/70-passwd-type.qml:102
728692msgctxt "Label: Type of security method"
729693msgid "Create new password"
730694msgstr ""
731695
732−#: qml/Wizard/Pages/70-passwd-type.qml:103
696+#: qml/Wizard/Pages/70-passwd-type.qml:104
733697msgctxt "Label: Type of security method"
734698msgid "Create passcode (numbers only)"
735699msgstr ""
736700
737−#: qml/Wizard/Pages/70-passwd-type.qml:105
701+#: qml/Wizard/Pages/70-passwd-type.qml:106
738702msgctxt "Label: Type of security method"
739703msgid "No lock code"
740704msgstr ""
@@ -755,6 +719,35 @@ msgstr ""
755719msgid "Privacy policy"
756720msgstr ""
757721
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+
758751#: qml/Wizard/Pages/80-finished.qml:89
759752msgid "Welcome to Ubuntu"
760753msgstr ""
@@ -798,7 +791,7 @@ msgid "Service Terms"
798791msgstr ""
799792
800793#: qml/Wizard/Pages/passcode-confirm.qml:43
801−#: qml/Wizard/Pages/passcode-desktop.qml:96
794+#: qml/Wizard/Pages/passcode-desktop.qml:97
802795msgid "Confirm passcode"
803796msgstr "Bekræft adgangskode"
804797
@@ -811,28 +804,28 @@ msgctxt "Enter the passcode again"
811804msgid "Please re-enter."
812805msgstr ""
813806
814−#: qml/Wizard/Pages/passcode-desktop.qml:30
807+#: qml/Wizard/Pages/passcode-desktop.qml:31
815808msgid "Lock Screen Passcode"
816809msgstr ""
817810
818−#: qml/Wizard/Pages/passcode-desktop.qml:60
811+#: qml/Wizard/Pages/passcode-desktop.qml:61
819812msgid "Enter 4 numbers to setup your passcode"
820813msgstr ""
821814
822−#: qml/Wizard/Pages/passcode-desktop.qml:76
815+#: qml/Wizard/Pages/passcode-desktop.qml:77
823816#: qml/Wizard/Pages/passcode-set.qml:54
824817msgid "Choose passcode"
825818msgstr ""
826819
827−#: qml/Wizard/Pages/passcode-desktop.qml:126
820+#: qml/Wizard/Pages/passcode-desktop.qml:127
828821msgid "Passcode too short"
829822msgstr ""
830823
831−#: qml/Wizard/Pages/passcode-desktop.qml:128
824+#: qml/Wizard/Pages/passcode-desktop.qml:129
832825msgid "Passcodes match"
833826msgstr ""
834827
835−#: qml/Wizard/Pages/passcode-desktop.qml:130
828+#: qml/Wizard/Pages/passcode-desktop.qml:131
836829msgid "Passcodes do not match"
837830msgstr ""
838831
@@ -840,19 +833,19 @@ msgstr ""
840833msgid "Passcode must be 4 characters long"
841834msgstr ""
842835
843−#: qml/Wizard/Pages/password-set.qml:30
836+#: qml/Wizard/Pages/password-set.qml:31
844837msgid "Lock Screen Password"
845838msgstr ""
846839
847−#: qml/Wizard/Pages/password-set.qml:61
840+#: qml/Wizard/Pages/password-set.qml:62
848841msgid "Enter at least 8 characters"
849842msgstr ""
850843
851−#: qml/Wizard/Pages/password-set.qml:73
844+#: qml/Wizard/Pages/password-set.qml:74
852845msgid "Choose password"
853846msgstr ""
854847
855−#: qml/Wizard/Pages/password-set.qml:103
848+#: qml/Wizard/Pages/password-set.qml:104
856849msgid "Confirm password"
857850msgstr ""
858851
@@ -975,12 +968,43 @@ msgstr ""
975968#~ msgid "Unlock SIM"
976969#~ msgstr "Lås SIM-kort op"
977970
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+
978985#~ msgid "This action does different things for different apps"
979986#~ msgstr "Denne handling gør forskellige ting i forskellige apps"
980987
981988#~ msgid "Please re-enter"
982989#~ msgstr "Vær venlig at genindtaste"
983990
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+
9841008#~ msgid "To view open apps"
9851009#~ msgstr "For at se åbne apps"
9861010
@@ -1043,6 +1067,15 @@ msgstr ""
10431067#~ msgid "〈 %1"
10441068#~ msgstr "〈 %1"
10451069
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+
10461079#~ msgid "Swipe up from the bottom edge."
10471080#~ msgstr "Swipe op fra den nedre kant."
10481081
@@ -1110,6 +1143,9 @@ msgstr ""
11101143#~ msgid "Roaming"
11111144#~ msgstr "Roaming"
11121145
1146+#~ msgid "Enter passphrase"
1147+#~ msgstr "Angiv adgangsfrase"
1148+
11131149#~ msgctxt "Label: Type of security method"
11141150#~ msgid "Passcode"
11151151#~ msgstr "Adgangskode"
po/de.po+240−198
@@ -7,105 +7,83 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-07-14 07:09+0000\n"
11−"PO-Revision-Date: 2016-07-24 11:38+0000\n"
10+"POT-Creation-Date: 2016-11-29 09:43+0000\n"
11+"PO-Revision-Date: 2016-09-29 12:06+0000\n"
1212"Last-Translator: Matthias Seidel <matthias.seidel@hamburg.de>\n"
1313"Language-Team: German <de@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-07-25 05:34+0000\n"
19−"X-Generator: Launchpad (build 18147)\n"
18+"X-Launchpad-Export-Date: 2016-12-01 04:57+0000\n"
19+"X-Generator: Launchpad (build 18282)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
2222msgid "Password: "
2323msgstr "Passwort: "
2424
25−#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:108
25+#: plugins/Unity/Launcher/launcheritem.cpp:50
26+#: plugins/Unity/Launcher/launcheritem.cpp:109
2727msgid "Pin shortcut"
2828msgstr "Verknüpfung anheften"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:54
30+#: plugins/Unity/Launcher/launcheritem.cpp:55
3131msgid "Quit"
3232msgstr "Beenden"
3333
34−#: plugins/Unity/Launcher/launcheritem.cpp:108
34+#: plugins/Unity/Launcher/launcheritem.cpp:109
3535msgid "Unpin shortcut"
3636msgstr "Verknüpfung entfernen"
3737
38−#: qml/Components/DelayedLockscreen.qml:50
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
38+#: qml/Components/Dialogs.qml:149
6239msgctxt "Title: Lock/Log out dialog"
6340msgid "Log out"
6441msgstr "Abmelden"
6542
66−#: qml/Components/Dialogs.qml:145
43+#: qml/Components/Dialogs.qml:150
6744msgid "Are you sure you want to log out?"
6845msgstr "Sind Sie sicher, dass Sie sich abmelden wollen?"
6946
70−#: qml/Components/Dialogs.qml:147
47+#: qml/Components/Dialogs.qml:152
7148msgctxt "Button: Lock the system"
7249msgid "Lock"
7350msgstr "Sperren"
7451
75−#: qml/Components/Dialogs.qml:154
52+#: qml/Components/Dialogs.qml:159
7653msgctxt "Button: Log out from the system"
7754msgid "Log Out"
7855msgstr "Abmelden"
7956
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
81−#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
57+#: qml/Components/Dialogs.qml:166 qml/Components/Dialogs.qml:222
58+#: qml/Dash/DashPageHeader.qml:324 qml/Greeter/NarrowView.qml:232
59+#: qml/Wizard/Pages/passcode-confirm.qml:32
8260#: qml/Wizard/Pages/passcode-set.qml:32
8361msgid "Cancel"
8462msgstr "Abbrechen"
8563
86−#: qml/Components/Dialogs.qml:173
64+#: qml/Components/Dialogs.qml:178
8765msgctxt "Title: Reboot dialog"
8866msgid "Reboot"
8967msgstr "Neustarten"
9068
91−#: qml/Components/Dialogs.qml:174
69+#: qml/Components/Dialogs.qml:179
9270msgid "Are you sure you want to reboot?"
9371msgstr "Sind Sie sicher, dass Sie neu starten wollen?"
9472
95−#: qml/Components/Dialogs.qml:176
73+#: qml/Components/Dialogs.qml:181
9674msgid "No"
9775msgstr "Nein"
9876
99−#: qml/Components/Dialogs.qml:182
77+#: qml/Components/Dialogs.qml:187
10078msgid "Yes"
10179msgstr "Ja"
10280
103−#: qml/Components/Dialogs.qml:197
81+#: qml/Components/Dialogs.qml:202
10482msgctxt "Title: Power off/Restart dialog"
10583msgid "Power"
10684msgstr "Ausschalten"
10785
108−#: qml/Components/Dialogs.qml:198
86+#: qml/Components/Dialogs.qml:203
10987msgid ""
11088"Are you sure you would like\n"
11189"to power off?"
@@ -113,12 +91,12 @@ msgstr ""
11391"Sind Sie sicher, dass Sie das\n"
11492"Gerät ausschalten wollen?"
11593
116−#: qml/Components/Dialogs.qml:200
94+#: qml/Components/Dialogs.qml:205
11795msgctxt "Button: Power off the system"
11896msgid "Power off"
11997msgstr "Ausschalten"
12098
121−#: qml/Components/Dialogs.qml:209
99+#: qml/Components/Dialogs.qml:214
122100msgctxt "Button: Restart the system"
123101msgid "Restart"
124102msgstr "Neustarten"
@@ -153,7 +131,7 @@ msgstr "Super + Leertaste"
153131
154132#: qml/Components/KeyboardShortcutsOverlay.qml:93
155133msgid "Switches to next keyboard layout."
156−msgstr "Zum nächsten Tastaturlayout umschalten"
134+msgstr "Wechselt zur nächsten Tastaturbelegung."
157135
158136#: qml/Components/KeyboardShortcutsOverlay.qml:101
159137msgid "Super + Shift + Space"
@@ -161,7 +139,7 @@ msgstr "Super + Hochstell + Leertaste"
161139
162140#: qml/Components/KeyboardShortcutsOverlay.qml:106
163141msgid "Switches to previous keyboard layout."
164−msgstr "Zum vorherigen Tastaturlayout umschalten"
142+msgstr "Wechselt zur vorherigen Tastaturbelegung."
165143
166144#: qml/Components/KeyboardShortcutsOverlay.qml:118
167145msgid "Launcher"
@@ -283,15 +261,15 @@ msgstr "Alt + F4"
283261msgid "Closes the current window."
284262msgstr "Schließt das aktive Fenster."
285263
286−#: qml/Components/Lockscreen.qml:239
264+#: qml/Components/Lockscreen.qml:212 qml/Greeter/NarrowView.qml:252
287265msgid "Return to Call"
288266msgstr "Zu Anruf zurückkehren"
289267
290−#: qml/Components/Lockscreen.qml:239
268+#: qml/Components/Lockscreen.qml:212
291269msgid "Emergency Call"
292270msgstr "Notruf"
293271
294−#: qml/Components/Lockscreen.qml:271
272+#: qml/Components/Lockscreen.qml:244
295273msgid "OK"
296274msgstr "OK"
297275
@@ -337,84 +315,84 @@ msgstr "Alle schließen"
337315msgid "Preview Share Item"
338316msgstr "Vorschau für zu teilendes Element"
339317
340−#: qml/Dash/DashPageHeader.qml:333
318+#: qml/Dash/DashPageHeader.qml:361
341319msgctxt "Button: Open the Ubuntu Store"
342320msgid "Store"
343321msgstr "Speichern"
344322
345−#: qml/Dash/DashPageHeader.qml:340
323+#: qml/Dash/DashPageHeader.qml:368
346324msgctxt "Button: Start a search in the current dash scope"
347325msgid "Search"
348326msgstr "Suchen"
349327
350−#: qml/Dash/DashPageHeader.qml:350
328+#: qml/Dash/DashPageHeader.qml:378
351329msgctxt "Button: Show the current dash scope settings"
352330msgid "Settings"
353331msgstr "Einstellungen"
354332
355−#: qml/Dash/DashPageHeader.qml:357
333+#: qml/Dash/DashPageHeader.qml:385
356334msgid "Remove from Favorites"
357335msgstr "Aus den Favoriten entfernen"
358336
359−#: qml/Dash/DashPageHeader.qml:357
337+#: qml/Dash/DashPageHeader.qml:385
360338msgid "Add to Favorites"
361339msgstr "Zu Favoriten hinzufügen"
362340
363−#: qml/Dash/FiltersPopover.qml:60
341+#: qml/Dash/FiltersPopover.qml:61
364342msgid "Refine your results"
365343msgstr "Ergebnisse verfeinern"
366344
367−#: qml/Dash/FiltersPopover.qml:69
345+#: qml/Dash/FiltersPopover.qml:70
368346msgid "Reset"
369347msgstr "Zurücksetzen"
370348
371−#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
349+#: qml/Dash/GenericScopeView.qml:547 qml/Dash/GenericScopeView.qml:718
372350msgid "Show less"
373351msgstr "Weniger anzeigen"
374352
375−#: qml/Dash/GenericScopeView.qml:580
353+#: qml/Dash/GenericScopeView.qml:547
376354msgid "Show all"
377355msgstr "Alle anzeigen"
378356
379−#: qml/Dash/GenericScopeView.qml:637
357+#: qml/Dash/GenericScopeView.qml:578
380358msgctxt "Label: Hint for dash search line edit"
381359msgid "Search"
382360msgstr "Suchen"
383361
384−#: qml/Dash/PageHeaderExtraPanel.qml:56
362+#: qml/Dash/PageHeaderExtraPanel.qml:67
385363msgid "Recent Searches"
386364msgstr "Letzte Suchanfragen"
387365
388−#: qml/Dash/PageHeaderExtraPanel.qml:67
366+#: qml/Dash/PageHeaderExtraPanel.qml:78
389367msgid "Clear All"
390368msgstr "Alle zurücksetzen"
391369
392−#: qml/Dash/Previews/PreviewActionCombo.qml:35
370+#: qml/Dash/Previews/PreviewActionCombo.qml:36
393371msgid "More..."
394372msgstr "Mehr …"
395373
396−#: qml/Dash/Previews/PreviewActionCombo.qml:35
374+#: qml/Dash/Previews/PreviewActionCombo.qml:36
397375msgid "Less..."
398376msgstr "Weniger …"
399377
400−#: qml/Dash/Previews/PreviewCommentInput.qml:68
401−#: qml/Dash/Previews/PreviewRatingInput.qml:175
378+#: qml/Dash/Previews/PreviewCommentInput.qml:83
379+#: qml/Dash/Previews/PreviewRatingInput.qml:202
402380msgid "Send"
403381msgstr "Senden"
404382
405−#: qml/Dash/Previews/PreviewRatingInput.qml:82
383+#: qml/Dash/Previews/PreviewRatingInput.qml:109
406384msgid "Rate this"
407385msgstr "Bewerten"
408386
409−#: qml/Dash/Previews/PreviewRatingInput.qml:157
387+#: qml/Dash/Previews/PreviewRatingInput.qml:184
410388msgid "Add a review"
411389msgstr "Bewertung hinzufügen"
412390
413−#: qml/Dash/PullToRefreshScopeStyle.qml:55
391+#: qml/Dash/PullToRefreshScopeStyle.qml:56
414392msgid "Pull to refresh…"
415393msgstr "Zum Aktualisieren ziehen …"
416394
417−#: qml/Dash/PullToRefreshScopeStyle.qml:60
395+#: qml/Dash/PullToRefreshScopeStyle.qml:61
418396msgid "Release to refresh…"
419397msgstr "Zum Aktualisieren loslassen …"
420398
@@ -422,15 +400,15 @@ msgstr "Zum Aktualisieren loslassen …"
422400msgid "Enable location data"
423401msgstr "Standortdaten aktivieren"
424402
425−#: qml/Dash/ScopesList.qml:55
403+#: qml/Dash/ScopesList.qml:57
426404msgid "Manage"
427405msgstr "Verwalten"
428406
429−#: qml/Dash/ScopesList.qml:102
407+#: qml/Dash/ScopesList.qml:104
430408msgid "Home"
431409msgstr "Startseite"
432410
433−#: qml/Dash/ScopesList.qml:103
411+#: qml/Dash/ScopesList.qml:105
434412msgid "Also installed"
435413msgstr "Ebenfalls installiert"
436414
@@ -446,84 +424,56 @@ msgstr ""
446424msgid "Unlock"
447425msgstr "Entsperren"
448426
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
450451msgid "Try again"
451452msgstr "Erneut versuchen"
452453
453−#: qml/Greeter/LoginList.qml:63
454+#: qml/Greeter/LoginList.qml:70
454455msgid "Passphrase"
455456msgstr "Passwort"
456457
457−#: qml/Greeter/LoginList.qml:64
458+#: qml/Greeter/LoginList.qml:71
458459msgid "Passcode"
459460msgstr "PIN"
460461
461−#: qml/Greeter/LoginList.qml:87
462+#: qml/Greeter/LoginList.qml:98
462463msgid "Retry"
463464msgstr "Erneut versuchen"
464465
465−#: qml/Greeter/LoginList.qml:88
466+#: qml/Greeter/LoginList.qml:99
466467msgid "Log In"
467468msgstr "Anmelden"
468469
469−#: qml/Greeter/NarrowView.qml:55
470−msgid "Sorry, incorrect passphrase."
471−msgstr "Entschuldigung, falsches Passwort."
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"
470+#: qml/Greeter/NarrowView.qml:252
471+msgid "Emergency"
472+msgstr "Notruf"
523473
524−#: qml/Greeter/NarrowView.qml:138
525−msgid "Sorry, incorrect passcode"
526−msgstr "Falsches Passwort"
474+#: qml/Greeter/SessionsList.qml:122
475+msgid "Select desktop environment"
476+msgstr "Arbeitsumgebung auswählen"
527477
528478#: qml/Notifications/NotificationMenuItemFactory.qml:124
529479msgid "Show password"
@@ -537,64 +487,64 @@ msgstr "Tippen, um zum Anruf zurückzugehen …"
537487msgid "Conference"
538488msgstr "Konferenz"
539489
540−#: qml/Panel/Indicators/MenuItemFactory.qml:762
490+#: qml/Panel/Indicators/MenuItemFactory.qml:847
541491msgid "Nothing is playing"
542492msgstr "Nichts wird abgespielt"
543493
544−#: qml/Panel/Indicators/MenuItemFactory.qml:891
494+#: qml/Panel/Indicators/MenuItemFactory.qml:975
545495#, qt-format
546496msgid "%1 hour"
547497msgid_plural "%1 hours"
548498msgstr[0] "%1 Stunde"
549499msgstr[1] "%1 Stunden"
550500
551−#: qml/Panel/Indicators/MenuItemFactory.qml:895
501+#: qml/Panel/Indicators/MenuItemFactory.qml:979
552502#, qt-format
553503msgid "%1 minute"
554504msgid_plural "%1 minutes"
555505msgstr[0] "%1 Minute"
556506msgstr[1] "%1 Minuten"
557507
558−#: qml/Panel/Indicators/MenuItemFactory.qml:900
508+#: qml/Panel/Indicators/MenuItemFactory.qml:984
559509#, qt-format
560510msgid "%1 second"
561511msgid_plural "%1 seconds"
562512msgstr[0] "%1 Sekunde"
563513msgstr[1] "%1 Sekunden"
564514
565−#: qml/Panel/Indicators/MenuItemFactory.qml:903
515+#: qml/Panel/Indicators/MenuItemFactory.qml:987
566516msgid "0 seconds"
567517msgstr "0 Sekunden"
568518
569519#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
570−#: qml/Panel/Indicators/MenuItemFactory.qml:905
520+#: qml/Panel/Indicators/MenuItemFactory.qml:989
571521#, qt-format
572522msgid "%1 remaining"
573523msgstr "%1 verbleibend"
574524
575−#: qml/Panel/Indicators/MenuItemFactory.qml:911
525+#: qml/Panel/Indicators/MenuItemFactory.qml:995
576526msgid "In queue…"
577527msgstr "In Warteschlange …"
578528
579−#: qml/Panel/Indicators/MenuItemFactory.qml:915
529+#: qml/Panel/Indicators/MenuItemFactory.qml:999
580530msgid "Downloading"
581531msgstr "Wird heruntergeladen"
582532
583−#: qml/Panel/Indicators/MenuItemFactory.qml:917
533+#: qml/Panel/Indicators/MenuItemFactory.qml:1001
584534msgid "Paused, tap to resume"
585−msgstr "Pausiert, tippen Sie zum fortsetzen"
535+msgstr "Pausiert, tippen zum Fortsetzen"
586536
587−#: qml/Panel/Indicators/MenuItemFactory.qml:919
537+#: qml/Panel/Indicators/MenuItemFactory.qml:1003
588538msgid "Canceled"
589539msgstr "Abgebrochen"
590540
591−#: qml/Panel/Indicators/MenuItemFactory.qml:921
541+#: qml/Panel/Indicators/MenuItemFactory.qml:1005
592542msgid "Finished"
593543msgstr "Erledigt"
594544
595−#: qml/Panel/Indicators/MenuItemFactory.qml:923
545+#: qml/Panel/Indicators/MenuItemFactory.qml:1007
596546msgid "Failed, tap to retry"
597−msgstr "Fehlgeschlagen, tippen Sie zum Wiederholen"
547+msgstr "Fehlgeschlagen, tippen zum Wiederholen"
598548
599549#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
600550#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
@@ -612,7 +562,7 @@ msgctxt "Button: Call back on phone"
612562msgid "Call back"
613563msgstr "Zurückrufen"
614564
615−#: qml/Stages/SideStage.qml:76
565+#: qml/Stage/SideStage.qml:76
616566msgid "Drag using 3 fingers any application from one window to the other"
617567msgstr "Eine Anwendung mit 3 Fingern von einem Fenster zum anderen ziehen"
618568
@@ -646,40 +596,54 @@ msgctxt "Button: Go back one page in the Wizard"
646596msgid "Back"
647597msgstr "Zurück"
648598
649−#: qml/Wizard/Pages/10-welcome.qml:27
599+#: qml/Wizard/Pages/10-welcome.qml:28
650600msgid "Language"
651601msgstr "Sprache"
652602
653−#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
654−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
655−#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
603+#: qml/Wizard/Pages/10-welcome.qml:173 qml/Wizard/Pages/20-keyboard.qml:152
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
606+#: qml/Wizard/Pages/70-passwd-type.qml:145
656607#: qml/Wizard/Pages/75-report-check.qml:84
657−#: qml/Wizard/Pages/passcode-desktop.qml:141
658−#: qml/Wizard/Pages/password-set.qml:141
608+#: qml/Wizard/Pages/passcode-desktop.qml:142
609+#: qml/Wizard/Pages/password-set.qml:142
659610msgid "Next"
660611msgstr "Weiter"
661612
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
663632msgid "Connect to Wi‑Fi"
664633msgstr "Mit WLAN verbinden"
665634
666−#: qml/Wizard/Pages/30-wifi.qml:130
635+#: qml/Wizard/Pages/30-wifi.qml:132
667636msgid "Connected"
668637msgstr "Verbunden"
669638
670−#: qml/Wizard/Pages/30-wifi.qml:163
639+#: qml/Wizard/Pages/30-wifi.qml:165
671640msgid "Available Wi-Fi networks"
672641msgstr "Verfügbare Funknetzwerke"
673642
674−#: qml/Wizard/Pages/30-wifi.qml:164
643+#: qml/Wizard/Pages/30-wifi.qml:166
675644msgid "No available Wi-Fi networks"
676645msgstr "Keine Funknetzwerke verfügbar"
677646
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−
683647#: qml/Wizard/Pages/40-location.qml:27
684648msgid "Location Services"
685649msgstr "Standortdienste"
@@ -695,7 +659,7 @@ msgstr ""
695659#: qml/Wizard/Pages/40-location.qml:105
696660#, qt-format
697661msgid "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."
699663
700664#: qml/Wizard/Pages/40-location.qml:106
701665msgctxt "part of: Nokia HERE terms and conditions"
@@ -712,13 +676,13 @@ msgstr "Meinen Standort nicht verwenden"
712676
713677#: qml/Wizard/Pages/40-location.qml:260
714678msgid "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."
716680
717−#: qml/Wizard/Pages/50-timezone.qml:29
681+#: qml/Wizard/Pages/50-timezone.qml:30
718682msgid "Time Zone"
719683msgstr "Zeitzone"
720684
721−#: qml/Wizard/Pages/50-timezone.qml:181
685+#: qml/Wizard/Pages/50-timezone.qml:182
722686msgid "Enter your city"
723687msgstr "Bitte Ihre Stadt eingeben"
724688
@@ -730,21 +694,21 @@ msgstr "Ihr Gerät personalisieren"
730694msgid "Preferred Name"
731695msgstr "Bevorzugter Name"
732696
733−#: qml/Wizard/Pages/70-passwd-type.qml:39
697+#: qml/Wizard/Pages/70-passwd-type.qml:40
734698msgid "Lock Screen"
735699msgstr "Sperrbildschirm"
736700
737−#: qml/Wizard/Pages/70-passwd-type.qml:101
701+#: qml/Wizard/Pages/70-passwd-type.qml:102
738702msgctxt "Label: Type of security method"
739703msgid "Create new password"
740704msgstr "Neues Passwort erstellen"
741705
742−#: qml/Wizard/Pages/70-passwd-type.qml:103
706+#: qml/Wizard/Pages/70-passwd-type.qml:104
743707msgctxt "Label: Type of security method"
744708msgid "Create passcode (numbers only)"
745709msgstr "PIN erstellen (nur Ziffern)"
746710
747−#: qml/Wizard/Pages/70-passwd-type.qml:105
711+#: qml/Wizard/Pages/70-passwd-type.qml:106
748712msgctxt "Label: Type of security method"
749713msgid "No lock code"
750714msgstr "Kein Sperrcode"
@@ -767,6 +731,37 @@ msgstr ""
767731msgid "Privacy policy"
768732msgstr "Datenschutzerklärung"
769733
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+
770765#: qml/Wizard/Pages/80-finished.qml:89
771766msgid "Welcome to Ubuntu"
772767msgstr "Willkommen bei Ubuntu"
@@ -795,9 +790,9 @@ msgid ""
795790"collects information about nearby cell towers and Wi-Fi hotspots around your "
796791"current location whenever your position is being found."
797792msgstr ""
798−"Um die Standortbestimmung zu ermöglichen und zu verbessern, sammelt HERE "
799−"Informationen über nahegelegene Netzwerkstationen und WLAN-Hotspots in der "
800−"Umgebung, sobald eine Position erfasst wurde."
793+"Zur Standortbestimmung und Verbesserung der Qualität dieser, sammelt HERE "
794+"Informationen über Netzwerkstationen und WLAN-Zugangspunkte in der Umgebung, "
795+"sobald eine Position erfasst wurde."
801796
802797#: qml/Wizard/Pages/here-terms.qml:93
803798msgid ""
@@ -810,14 +805,14 @@ msgstr ""
810805#: qml/Wizard/Pages/here-terms.qml:106
811806#, qt-format
812807msgid "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."
814809
815810#: qml/Wizard/Pages/here-terms.qml:107
816811msgid "Service Terms"
817812msgstr "Bedingungen des Dienstes"
818813
819814#: qml/Wizard/Pages/passcode-confirm.qml:43
820−#: qml/Wizard/Pages/passcode-desktop.qml:96
815+#: qml/Wizard/Pages/passcode-desktop.qml:97
821816msgid "Confirm passcode"
822817msgstr "PIN bestätigen"
823818
@@ -830,28 +825,28 @@ msgctxt "Enter the passcode again"
830825msgid "Please re-enter."
831826msgstr "Bitte erneut eingeben."
832827
833−#: qml/Wizard/Pages/passcode-desktop.qml:30
828+#: qml/Wizard/Pages/passcode-desktop.qml:31
834829msgid "Lock Screen Passcode"
835830msgstr "Sperrbildschirm-PIN"
836831
837−#: qml/Wizard/Pages/passcode-desktop.qml:60
832+#: qml/Wizard/Pages/passcode-desktop.qml:61
838833msgid "Enter 4 numbers to setup your passcode"
839834msgstr "Geben Sie 4 Ziffern ein, um Ihre PIN einzurichten"
840835
841−#: qml/Wizard/Pages/passcode-desktop.qml:76
836+#: qml/Wizard/Pages/passcode-desktop.qml:77
842837#: qml/Wizard/Pages/passcode-set.qml:54
843838msgid "Choose passcode"
844839msgstr "PIN wählen"
845840
846−#: qml/Wizard/Pages/passcode-desktop.qml:126
841+#: qml/Wizard/Pages/passcode-desktop.qml:127
847842msgid "Passcode too short"
848843msgstr "PIN zu kurz"
849844
850−#: qml/Wizard/Pages/passcode-desktop.qml:128
845+#: qml/Wizard/Pages/passcode-desktop.qml:129
851846msgid "Passcodes match"
852847msgstr "PINs stimmen überein"
853848
854−#: qml/Wizard/Pages/passcode-desktop.qml:130
849+#: qml/Wizard/Pages/passcode-desktop.qml:131
855850msgid "Passcodes do not match"
856851msgstr "PINs stimmen nicht überein"
857852
@@ -859,19 +854,19 @@ msgstr "PINs stimmen nicht überein"
859854msgid "Passcode must be 4 characters long"
860855msgstr "PIN muss 4 Ziffern lang sein"
861856
862−#: qml/Wizard/Pages/password-set.qml:30
857+#: qml/Wizard/Pages/password-set.qml:31
863858msgid "Lock Screen Password"
864−msgstr "Sperrbildschirm-Passwort"
859+msgstr "Sperrbildschirmpasswort"
865860
866−#: qml/Wizard/Pages/password-set.qml:61
861+#: qml/Wizard/Pages/password-set.qml:62
867862msgid "Enter at least 8 characters"
868−msgstr "Geben Sie mindestens 8 Zeichen ein"
863+msgstr "Bitte mindestens 8 Zeichen eingeben"
869864
870−#: qml/Wizard/Pages/password-set.qml:73
865+#: qml/Wizard/Pages/password-set.qml:74
871866msgid "Choose password"
872−msgstr "Wählen Sie ein Passwort"
867+msgstr "Passwort auswählen"
873868
874−#: qml/Wizard/Pages/password-set.qml:103
869+#: qml/Wizard/Pages/password-set.qml:104
875870msgid "Confirm password"
876871msgstr "Passwort bestätigen"
877872
@@ -1010,6 +1005,30 @@ msgstr "Sehr schwaches Passwort"
10101005#~ msgid "Store"
10111006#~ msgstr "Store"
10121007
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+
10131032#~ msgid "Log out"
10141033#~ msgstr "Abmelden"
10151034
@@ -1025,6 +1044,9 @@ msgstr "Sehr schwaches Passwort"
10251044#~ msgid "Settings"
10261045#~ msgstr "Einstellungen"
10271046
1047+#~ msgid "Sorry, incorrect passcode"
1048+#~ msgstr "Falsches Passwort"
1049+
10281050#~ msgid "Are you sure you want to shut down?"
10291051#~ msgstr "Sind Sie sicher, dass Sie herunterfahren wollen?"
10301052
@@ -1037,6 +1059,13 @@ msgstr "Sehr schwaches Passwort"
10371059#~ msgid "Please re-enter"
10381060#~ msgstr "Bitte erneut eingeben"
10391061
1062+#~ msgid "Enter passcode"
1063+#~ msgstr "PIN eingeben"
1064+
1065+#, qt-format
1066+#~ msgid "Enter %1"
1067+#~ msgstr "%1 eingeben"
1068+
10401069#~ msgid "Without it, you won’t be able to make calls or use text messaging."
10411070#~ msgstr "Ohne SIM funktionieren Anrufe und Nachrichten nicht."
10421071
@@ -1068,13 +1097,6 @@ msgstr "Sehr schwaches Passwort"
10681097#~ msgstr ""
10691098#~ "Sie können Ihre Meinung später in den <b>Systemeinstellungen</b> ändern."
10701099
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−
10781100#~ msgid "Not at all"
10791101#~ msgstr "Gar nicht"
10801102
@@ -1222,6 +1244,9 @@ msgstr "Sehr schwaches Passwort"
12221244#~ msgid "Reboot"
12231245#~ msgstr "Neustarten"
12241246
1247+#~ msgid "Enter passphrase"
1248+#~ msgstr "Passphrase eingeben"
1249+
12251250#~ msgid "%a %H:%M"
12261251#~ msgstr "%a %k:%M"
12271252
@@ -1252,6 +1277,10 @@ msgstr "Sehr schwaches Passwort"
12521277#~ msgid "%l:%M %p"
12531278#~ msgstr "%k:%M"
12541279
1280+#~ msgctxt "passphrase"
1281+#~ msgid "Please re-enter"
1282+#~ msgstr "Bitte erneut eingeben"
1283+
12551284#~ msgid "Call back"
12561285#~ msgstr "Zurückrufen"
12571286
@@ -1289,3 +1318,16 @@ msgstr "Sehr schwaches Passwort"
12891318#~ msgid "Swipe from the top edge to open the notification bar"
12901319#~ msgstr ""
12911320#~ "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.